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

void vfinfo(FILE *fp,char *fmt,va_list ap,bfd_boolean is_warning)

{
  byte bVar1;
  char cVar2;
  void *pvVar3;
  bfd_iovec *pbVar4;
  bfd_target *pbVar5;
  _func_bfd_boolean_bfd_ptr_bfd_symbol_ptr_ptr_bfd_section_ptr_bfd_vma_char_ptr_ptr_char_ptr_ptr_uint_ptr_uint_ptr
  *p_Var6;
  undefined4 *puVar7;
  undefined4 *puVar8;
  bfd_flavour bVar9;
  int *piVar10;
  byte *pbVar11;
  byte bVar12;
  vfinfo_args *pvVar13;
  uint uVar14;
  undefined *puVar15;
  bfd_boolean bVar16;
  size_t sVar17;
  undefined4 uVar18;
  bfd *pbVar19;
  int iVar20;
  vfinfo_args *pvVar21;
  byte *pbVar22;
  int iVar23;
  undefined1 *puVar24;
  undefined1 *puVar25;
  undefined1 *puVar26;
  char *pcVar27;
  bfd *pbVar28;
  bfd *pbVar29;
  bfd *pbVar30;
  undefined8 uVar31;
  undefined1 auStack_14c [4];
  vfinfo_args *local_148;
  byte *local_144;
  undefined *local_140;
  undefined4 local_13c;
  bfd_boolean *local_138;
  int local_134;
  char *filename;
  char *functionname;
  char buf [100];
  vfinfo_args args [9];
  undefined4 uStack_14;
  
  uStack_14 = 0x33f29;
  puVar25 = auStack_14c;
  pvVar21 = args;
  pvVar13 = pvVar21;
  do {
    pvVar13->i = 0;
    pvVar13 = pvVar13 + 1;
  } while ((vfinfo_args *)&stack0xffffffe4 != pvVar13);
  bVar12 = *fmt;
  local_148 = (vfinfo_args *)0x0;
  local_13c = CONCAT31(local_13c._1_3_,bVar12);
  local_138 = (bfd_boolean *)PTR__sch_istable_001cefa0;
  uVar14 = (uint)bVar12;
  pbVar22 = (byte *)fmt;
LAB_00033f90:
  if ((char)uVar14 != '\0') {
    if ((char)uVar14 != '%') goto LAB_00033fb0;
    goto LAB_00033fd0;
  }
  uVar14 = 0;
  pbVar28 = (bfd *)ap;
  if (local_148 != (vfinfo_args *)0x0) {
    do {
      switch(pvVar21->i) {
      default:
                    /* WARNING: Subroutine does not return */
        ld_abort("../../ld/ldmisc.c",0xc6,"vfinfo");
      case 1:
      case 2:
      case 3:
        pbVar28 = (bfd *)&((bfd *)ap)->xvec;
        pvVar21->i = (int)((bfd *)ap)->filename;
        break;
      case 4:
        pbVar5 = ((bfd *)ap)->xvec;
        pbVar28 = (bfd *)&((bfd *)ap)->iostream;
        pvVar21->i = (int)((bfd *)ap)->filename;
        (pvVar21->reladdr).sec = (asection *)pbVar5;
        break;
      case 5:
        pvVar3 = ((bfd *)ap)->iostream;
        pbVar28 = (bfd *)&((bfd *)ap)->lru_prev;
        pbVar4 = ((bfd *)ap)->iovec;
        pvVar21->i = (int)((bfd *)ap)->filename;
        pbVar5 = ((bfd *)ap)->xvec;
        *(void **)&(pvVar21->reladdr).off = pvVar3;
        (pvVar21->reladdr).sec = (asection *)pbVar5;
        *(bfd_iovec **)((int)&(pvVar21->reladdr).off + 4) = pbVar4;
      }
      uVar14 = uVar14 + 1;
      pvVar21 = pvVar21 + 1;
      ap = (va_list)pbVar28;
    } while (local_148 != (vfinfo_args *)uVar14);
  }
  local_148 = (vfinfo_args *)0x0;
  local_13c = 0;
  local_140 = PTR__sch_istable_001cefa0;
  local_138 = &demangling;
joined_r0x000340a6:
  if (bVar12 != 0) {
    pbVar29 = (bfd *)fmt;
    pbVar28 = (bfd *)fmt;
    if (bVar12 != 0x25) goto LAB_000340c2;
    goto LAB_00034170;
  }
  pbVar29 = *(bfd **)(puVar25 + 0x15c);
  if ((pbVar29 != (bfd *)0x0) && (config.fatal_warnings != 0)) {
    config.make_executable = 0;
  }
  if (*(int *)(puVar25 + 0x10) == 0) {
    return;
  }
  *(undefined4 *)(puVar25 + -0x10) = 1;
  *(undefined4 *)(puVar25 + -0x14) = 0x34be1;
  pbVar19 = (bfd *)xexit();
  puVar25 = puVar25 + -0x10;
  pbVar30 = (bfd *)fmt;
  goto LAB_00034be8;
LAB_00033fb0:
  do {
    pbVar22 = pbVar22 + 1;
    bVar1 = *pbVar22;
    uVar14 = (uint)bVar1;
    if (bVar1 == 0x25) break;
  } while (bVar1 != 0);
  if (bVar1 != 0x25) goto LAB_00033f90;
LAB_00033fd0:
  local_144 = pbVar22 + 1;
  bVar1 = pbVar22[1];
  uVar14 = (uint)bVar1;
  if (bVar1 == 0x30) {
    pbVar22 = pbVar22 + 2;
_L18:
    uVar14 = (uint)local_144[1];
    goto LAB_00033f90;
  }
  local_134 = (int)(char)bVar1;
  local_140 = (undefined *)local_148;
  if (((PTR__sch_istable_001cefa0[uVar14 * 2] & 4) != 0) && (pbVar22[2] == 0x24)) {
    local_140 = (undefined *)((int)(char)bVar1 - 0x31);
    local_144 = pbVar22 + 3;
    uVar14 = (uint)pbVar22[3];
  }
  pbVar11 = local_144;
  pbVar22 = local_144 + 1;
  switch(uVar14) {
  case 0:
    pbVar22 = local_144;
    goto LAB_00033f90;
  default:
    goto _L18;
  case 0x43:
  case 0x44:
  case 0x47:
  case 0x48:
    local_144 = (byte *)0x5;
    break;
  case 0x56:
  case 0x57:
  case 0x76:
    local_144 = (byte *)0x4;
    break;
  case 100:
  case 0x75:
    local_144 = (byte *)0x1;
    break;
  case 0x6c:
    bVar1 = local_144[1];
    uVar14 = (uint)bVar1;
    if ((bVar1 != 100) && (bVar1 != 0x75)) goto LAB_00033f90;
    local_144 = (byte *)0x2;
    pbVar22 = pbVar11 + 2;
    break;
  case 0x70:
    local_144 = (byte *)0x3;
    if (((byte)(pbVar11[1] - 0x41) < 0x14) && ((0xe0103U >> (pbVar11[1] - 0x41 & 0x1f) & 1) != 0)) {
      pbVar22 = pbVar11 + 2;
    }
    break;
  case 0x73:
    local_144 = (byte *)0x3;
  }
  if (8 < local_140) {
    local_148 = pvVar21;
                    /* WARNING: Subroutine does not return */
    ld_abort("../../ld/ldmisc.c",0xa9,"vfinfo");
  }
  local_148 = (vfinfo_args *)((int)&local_148->reladdr + 1);
  args[(int)local_140].i = (int)local_144;
  uVar14 = (uint)*pbVar22;
  goto LAB_00033f90;
LAB_000340c2:
  do {
    pbVar28 = pbVar29;
    bVar12 = *(byte *)((int)&pbVar28->filename + 1);
    pbVar29 = (bfd *)((int)&pbVar28->filename + 1);
    if (bVar12 == 0x25) break;
  } while (bVar12 != 0);
  if ((bfd *)fmt != pbVar29) {
    *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + 0x150);
    *(int *)(puVar25 + -8) = (int)pbVar29 - (int)fmt;
    *(undefined4 *)(puVar25 + -0xc) = 1;
    *(char **)(puVar25 + -0x10) = fmt;
    *(undefined4 *)(puVar25 + -0x14) = 0x340e9;
    fwrite(*(void **)(puVar25 + -0x10),*(size_t *)(puVar25 + -0xc),*(size_t *)(puVar25 + -8),
           *(FILE **)(puVar25 + -4));
    bVar12 = *(byte *)((int)&pbVar28->filename + 1);
  }
  fmt = (char *)pbVar29;
  if (bVar12 != 0x25) goto joined_r0x000340a6;
LAB_00034170:
  bVar12 = *(byte *)((int)&((bfd *)fmt)->filename + 1);
  pbVar30 = (bfd *)((int)&((bfd *)fmt)->filename + 1);
  *(int *)(puVar25 + 8) = (int)(char)bVar12;
  if (bVar12 == 0x30) {
    *(undefined4 *)(puVar25 + 8) = 0x30;
    fmt = (char *)((int)&((bfd *)fmt)->filename + 2);
    goto _L48;
  }
  pbVar28 = *(bfd **)(puVar25 + 0xc);
  iVar23 = *(int *)(puVar25 + 4);
  if (((*(byte *)((int)&pbVar28->filename + (uint)bVar12 * 2) & 4) != 0) &&
     (*(char *)((int)&((bfd *)fmt)->filename + 2) == '$')) {
    bVar12 = *(byte *)((int)&((bfd *)fmt)->filename + 3);
    iVar23 = *(int *)(puVar25 + 8);
    pbVar30 = (bfd *)((int)&((bfd *)fmt)->filename + 3);
    *(int *)(puVar25 + 8) = (int)(char)bVar12;
    iVar23 = iVar23 + -0x31;
  }
  fmt = (char *)((int)&pbVar30->filename + 1);
  switch(bVar12) {
  case 0:
    fmt = (char *)pbVar30;
  case 0x25:
    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);
    *(undefined4 *)(puVar25 + -0x10) = 0x25;
    *(undefined4 *)(puVar25 + -0x14) = 0x34207;
    putc(*(int *)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));
    bVar12 = *(byte *)&((bfd *)fmt)->filename;
    goto joined_r0x000340a6;
  case 0x43:
  case 0x44:
  case 0x47:
  case 0x48:
    iVar23 = iVar23 * 0x10;
    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;
    pbVar28 = *(bfd **)(puVar25 + iVar23 + 0xa0);
    *(undefined4 *)(puVar25 + 0x1c) = *(undefined4 *)(puVar25 + iVar23 + 0xa4);
    uVar18 = *(undefined4 *)(puVar25 + iVar23 + 0xac);
    *(undefined4 *)(puVar25 + 0x20) = *(undefined4 *)(puVar25 + iVar23 + 0xa8);
    *(undefined4 *)(puVar25 + 0x24) = uVar18;
    if (pbVar28 == (bfd *)0x0) {
LAB_00034747:
      *(bfd **)(puVar25 + -8) = pbVar28;
      *(undefined **)(puVar25 + -0xc) = &DAT_0007d36d;
      *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);
      *(undefined4 *)(puVar25 + -0x14) = 0x3475e;
      lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));
      *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x24);
      *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 0x20);
      *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(puVar25 + 0x1c);
      *(char **)(puVar25 + -0x1c) = "(%pA+0x%v)";
      *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);
      *(undefined4 *)(puVar25 + -0x24) = 0x3477e;
      lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));
    }
    else {
      *(bfd **)(puVar25 + -0x10) = pbVar28;
      *(undefined4 *)(puVar25 + -0x14) = 0x34331;
      iVar23 = bfd_generic_link_read_symbols();
      if (iVar23 == 0) {
        *(undefined4 *)(puVar25 + -8) = 5;
        *(char **)(puVar25 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";
        *(undefined4 *)(puVar25 + -0x10) = 0;
        *(undefined4 *)(puVar25 + -0x14) = 0x349f8;
        uVar18 = dcgettext();
        *(bfd **)(puVar25 + -0xc) = pbVar28;
        *(undefined4 *)(puVar25 + -0x10) = uVar18;
        *(undefined4 *)(puVar25 + -0x14) = 0x34a01;
        einfo(*(char **)(puVar25 + -0x10));
      }
      pbVar5 = pbVar28->xvec;
      *(undefined4 *)(puVar25 + -0x10) = 0;
      *(undefined1 **)(puVar25 + -0x14) = puVar25 + 0x3c;
      *(undefined1 **)(puVar25 + -0x18) = puVar25 + 0x38;
      *(undefined1 **)(puVar25 + -0x1c) = puVar25 + 0x34;
      *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x24);
      *(undefined4 *)(puVar25 + -0x24) = *(undefined4 *)(puVar25 + 0x20);
      *(undefined4 *)(puVar25 + -0x28) = *(undefined4 *)(puVar25 + 0x1c);
      *(bfd_symbol ***)(puVar25 + -0x2c) = pbVar28->outsymbols;
      *(bfd **)(puVar25 + -0x30) = pbVar28;
      p_Var6 = pbVar5->_bfd_find_nearest_line;
      *(undefined4 *)(puVar25 + -0x34) = 0x34369;
      bVar16 = (*p_Var6)(*(bfd **)(puVar25 + -0x30),*(bfd_symbol ***)(puVar25 + -0x2c),
                         *(bfd_section **)(puVar25 + -0x28),*(bfd_vma *)(puVar25 + -0x24),
                         *(char ***)(puVar25 + -0x1c),*(char ***)(puVar25 + -0x18),
                         *(uint **)(puVar25 + -0x14),*(uint **)(puVar25 + -0x10));
      if (bVar16 == 0) goto LAB_00034747;
      iVar23 = *(int *)(puVar25 + 0x38);
      *(int *)(puVar25 + 8) = iVar23;
      if ((iVar23 == 0) ||
         ((*(char *)&pbVar30->filename != 'C' && (*(char *)&pbVar30->filename != 'H')))) {
        *(bfd **)(puVar25 + -8) = pbVar28;
        *(undefined **)(puVar25 + -0xc) = &DAT_0007d36d;
        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);
        *(undefined4 *)(puVar25 + -0x14) = 0x343aa;
        lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));
        *(undefined4 *)(puVar25 + 0x18) = 1;
LAB_000343b5:
        if (*(int *)(puVar25 + 0x34) == 0) {
          iVar23 = *(int *)(puVar25 + 0x38);
          goto LAB_00034a0d;
        }
        *(int *)(puVar25 + -8) = *(int *)(puVar25 + 0x34);
        *(undefined **)(puVar25 + -0xc) = &DAT_0007d779;
        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);
        *(undefined4 *)(puVar25 + -0x14) = 0x343d8;
        fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));
        iVar23 = *(int *)(puVar25 + 0x38);
        if ((iVar23 != 0) && (*(char *)&pbVar30->filename == 'G')) goto LAB_00034a20;
        if ((*(int *)(puVar25 + 0x34) == 0) || (iVar23 = *(int *)(puVar25 + 0x3c), iVar23 == 0))
        goto LAB_00034902;
        if (*(char *)&pbVar30->filename == 'H') {
          *(undefined **)(puVar25 + -4) = &DAT_0007b12f;
          *(int *)(puVar25 + -8) = iVar23;
          *(undefined **)(puVar25 + -0xc) = &DAT_0007d7d0;
          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);
          *(undefined4 *)(puVar25 + -0x14) = 0x348ff;
          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));
          goto LAB_00034902;
        }
        *(char **)(puVar25 + -4) = "";
        *(int *)(puVar25 + -8) = iVar23;
        *(undefined **)(puVar25 + -0xc) = &DAT_0007d7d0;
        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);
        *(undefined4 *)(puVar25 + -0x14) = 0x3442b;
        fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));
      }
      else {
        if (((vfinfo::lexical_block_14::lexical_block_14_4::last_bfd == (bfd *)0x0) ||
            (vfinfo::lexical_block_14::lexical_block_14_4::last_function == (char *)0x0)) ||
           (vfinfo::lexical_block_14::lexical_block_14_4::last_bfd != pbVar28)) {
LAB_00034800:
          *(undefined4 *)(puVar25 + -8) = 5;
          *(char **)(puVar25 + -0xc) = "%pB: in function `%pT\':\n";
          *(undefined4 *)(puVar25 + -0x10) = 0;
          *(undefined4 *)(puVar25 + -0x14) = 0x34813;
          uVar18 = dcgettext();
          *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 8);
          *(bfd **)(puVar25 + -0x18) = pbVar28;
          *(undefined4 *)(puVar25 + -0x1c) = uVar18;
          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);
          *(undefined4 *)(puVar25 + -0x24) = 0x34825;
          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));
          vfinfo::lexical_block_14::lexical_block_14_4::last_bfd = pbVar28;
          if (vfinfo::lexical_block_14::lexical_block_14_4::last_file != (char *)0x0) {
            *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;
            *(undefined4 *)(puVar25 + -0x14) = 0x34841;
            free(*(void **)(puVar25 + -0x10));
          }
          vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)0x0;
          if (*(int *)(puVar25 + 0x34) != 0) {
            *(int *)(puVar25 + -0x10) = *(int *)(puVar25 + 0x34);
            *(undefined4 *)(puVar25 + -0x14) = 0x3485f;
            vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)xstrdup();
          }
          if (vfinfo::lexical_block_14::lexical_block_14_4::last_function != (char *)0x0) {
            *(char **)(puVar25 + -0x10) =
                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;
            *(undefined4 *)(puVar25 + -0x14) = 0x3487b;
            free(*(void **)(puVar25 + -0x10));
          }
          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x38);
          *(undefined4 *)(puVar25 + -0x14) = 0x3488a;
          vfinfo::lexical_block_14::lexical_block_14_4::last_function = (char *)xstrdup();
          *(undefined4 *)(puVar25 + 0x18) = 0;
          goto LAB_000343b5;
        }
        iVar20 = *(int *)(puVar25 + 0x34);
        *(char **)(puVar25 + 0x18) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;
        puVar25[0x28] = vfinfo::lexical_block_14::lexical_block_14_4::last_file == (char *)0x0;
        puVar25[0x2f] = iVar20 == 0;
        if (puVar25[0x28] != puVar25[0x2f]) goto LAB_00034800;
        if (iVar20 != 0) {
          *(int *)(puVar25 + -4) = iVar23;
          *(int *)(puVar25 + -8) = iVar23;
          *(int *)(puVar25 + -0xc) = iVar20;
          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x18);
          *(undefined4 *)(puVar25 + -0x14) = 0x34c8b;
          uVar31 = filename_cmp();
          uVar18 = (undefined4)((ulonglong)uVar31 >> 0x20);
          *(undefined4 *)(puVar25 + 8) = *(undefined4 *)(puVar25 + 0x38);
          if ((int)uVar31 == 0) {
            *(undefined4 *)(puVar25 + -4) = uVar18;
            *(undefined4 *)(puVar25 + -8) = uVar18;
            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x38);
            *(char **)(puVar25 + -0x10) =
                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;
            *(undefined4 *)(puVar25 + -0x14) = 0x34cac;
            iVar23 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));
            *(int *)(puVar25 + 0x18) = iVar23;
            if (iVar23 == 0) goto LAB_000343b5;
          }
          goto LAB_00034800;
        }
        *(int *)(puVar25 + 8) = iVar23;
        *(undefined4 *)(puVar25 + -4) = 0;
        *(undefined4 *)(puVar25 + -8) = 0;
        *(int *)(puVar25 + -0xc) = iVar23;
        *(int *)(puVar25 + 0x28) = iVar23;
        *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_function;
        *(undefined4 *)(puVar25 + -0x14) = 0x34cd6;
        iVar20 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));
        iVar23 = *(int *)(puVar25 + 0x28);
        *(int *)(puVar25 + 0x18) = iVar20;
        if (iVar20 != 0) goto LAB_00034800;
LAB_00034a0d:
        if ((*(char *)&pbVar30->filename == 'G') && (iVar23 != 0)) {
LAB_00034a20:
          *(int *)(puVar25 + -8) = iVar23;
          *(undefined **)(puVar25 + -0xc) = &DAT_0007d77d;
          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);
          *(undefined4 *)(puVar25 + -0x14) = 0x34a37;
          lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));
        }
        else {
LAB_00034902:
          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x24);
          *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 0x20);
          *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(puVar25 + 0x1c);
          *(char **)(puVar25 + -0x1c) = "(%pA+0x%v)";
          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);
          *(undefined4 *)(puVar25 + -0x24) = 0x34924;
          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));
        }
      }
      if (*(int *)(puVar25 + 0x18) == 0) goto LAB_0003443a;
    }
    vfinfo::lexical_block_14::lexical_block_14_4::last_bfd = (bfd *)0x0;
    if (vfinfo::lexical_block_14::lexical_block_14_4::last_file != (char *)0x0) {
      *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;
      *(undefined4 *)(puVar25 + -0x14) = 0x3479e;
      free(*(void **)(puVar25 + -0x10));
      vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)0x0;
    }
    if (vfinfo::lexical_block_14::lexical_block_14_4::last_function != (char *)0x0) {
      *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_function;
      *(undefined4 *)(puVar25 + -0x14) = 0x347c2;
      free(*(void **)(puVar25 + -0x10));
      vfinfo::lexical_block_14::lexical_block_14_4::last_function = (char *)0x0;
    }
LAB_0003443a:
    bVar12 = *(byte *)((int)&pbVar30->filename + 1);
    goto joined_r0x000340a6;
  case 0x45:
    *(undefined4 *)(puVar25 + -4) = 0x3444a;
    uVar18 = bfd_get_error();
    *(undefined4 *)(puVar25 + -0x10) = uVar18;
    *(undefined4 *)(puVar25 + -0x14) = 0x34453;
    uVar18 = bfd_errmsg();
    pbVar28 = *(bfd **)(puVar25 + -0xc);
    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);
    *(undefined4 *)(puVar25 + -0x10) = uVar18;
    *(undefined4 *)(puVar25 + -0x14) = 0x34462;
    fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));
    bVar12 = *(byte *)((int)&pbVar30->filename + 1);
    goto joined_r0x000340a6;
  case 0x46:
    bVar12 = *(byte *)((int)&pbVar30->filename + 1);
    *(undefined4 *)(puVar25 + 0x10) = 1;
    goto joined_r0x000340a6;
  case 0x50:
    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);
    *(char **)(puVar25 + -0x10) = program_name;
    *(undefined4 *)(puVar25 + -0x14) = 0x34695;
    fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));
    bVar12 = *(byte *)((int)&pbVar30->filename + 1);
    goto joined_r0x000340a6;
  case 0x56:
    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;
    pcVar27 = "%016llx";
    *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4);
    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);
    break;
  case 0x57:
    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;
    *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4);
    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);
    *(char **)(puVar25 + -0xc) = "%016llx";
    pcVar27 = puVar25 + 0x3c;
    *(char **)(puVar25 + -0x10) = pcVar27;
    *(undefined4 *)(puVar25 + -0x14) = 0x345d0;
    sprintf(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));
    cVar2 = puVar25[0x3c];
    while (cVar2 == '0') {
      pcVar27 = pcVar27 + 1;
      cVar2 = *pcVar27;
    }
    pbVar28 = (bfd *)(pcVar27 + -(uint)(cVar2 == '\0'));
    *(bfd **)(puVar25 + -0x10) = pbVar28;
    *(undefined4 *)(puVar25 + -0x14) = 0x345f5;
    sVar17 = strlen(*(char **)(puVar25 + -0x10));
    if (sVar17 < 8) {
      *(bfd **)(puVar25 + 8) = pbVar30;
      uVar18 = *(undefined4 *)(puVar25 + 0x150);
      *(char **)(puVar25 + 0x18) = fmt;
      do {
        sVar17 = sVar17 + 1;
        *(undefined4 *)(puVar25 + -0xc) = uVar18;
        *(undefined4 *)(puVar25 + -0x10) = 0x20;
        *(undefined4 *)(puVar25 + -0x14) = 0x3461c;
        putc(*(int *)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));
      } while (sVar17 != 8);
      pbVar30 = *(bfd **)(puVar25 + 8);
      fmt = *(char **)(puVar25 + 0x18);
    }
    pcVar27 = "0x%s";
    *(bfd **)(puVar25 + -8) = pbVar28;
    break;
  case 0x58:
    config.make_executable = 0;
    bVar12 = *(byte *)((int)&pbVar30->filename + 1);
    goto joined_r0x000340a6;
  case 100:
    puVar15 = &DAT_0006c013;
    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);
    goto LAB_000344af;
  case 0x6c:
    cVar2 = *(char *)((int)&pbVar30->filename + 1);
    if (cVar2 == 'd') {
      puVar15 = &DAT_0007d7c3;
      *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);
LAB_000342cd:
      *(undefined **)(puVar25 + -0xc) = puVar15;
      *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);
      *(undefined4 *)(puVar25 + -0x14) = 0x342dd;
      fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));
      *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;
      bVar12 = *(byte *)((int)&pbVar30->filename + 2);
      fmt = (char *)((int)&pbVar30->filename + 2);
      goto joined_r0x000340a6;
    }
    if (cVar2 == 'u') {
      puVar15 = &DAT_0007d7c7;
      *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);
      goto LAB_000342cd;
    }
  default:
_L48:
    pcVar27 = "%%%c";
    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + 8);
    break;
  case 0x70:
    cVar2 = *(char *)((int)&pbVar30->filename + 1);
    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;
    if (cVar2 == 'A') {
      pbVar29 = (bfd *)((int)&pbVar30->filename + 2);
      puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);
      pbVar28 = (bfd *)puVar7[0x2b];
      *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);
      *(undefined4 *)(puVar25 + -0x10) = *puVar7;
      *(undefined4 **)(puVar25 + 8) = puVar7;
      *(undefined4 *)(puVar25 + -0x14) = 0x34a7f;
      fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));
      iVar23 = *(int *)(puVar25 + 8);
      if (pbVar28 != (bfd *)0x0) {
        bVar9 = pbVar28->xvec->flavour;
        if (bVar9 == bfd_target_elf_flavour) {
          pbVar28 = *(bfd **)(*(int *)(iVar23 + 0xa4) + 0x8c);
          if ((pbVar28 == (bfd *)0x0) || ((*(byte *)(iVar23 + 0x17) & 2) != 0)) goto LAB_000349da;
          iVar23 = *(int *)(*(int *)(iVar23 + 0xa4) + 0x84);
        }
        else {
          if ((((bVar9 != bfd_target_coff_flavour) ||
               (*(int *)(*(int *)(*(int *)(iVar23 + 0xac) + 4) + 4) != 2)) ||
              (*(int *)(iVar23 + 0xa4) == 0)) ||
             (piVar10 = *(int **)(*(int *)(iVar23 + 0xa4) + 0x2c), piVar10 == (int *)0x0))
          goto LAB_000349da;
          iVar23 = *piVar10;
        }
        if (iVar23 != 0) {
          puVar26 = puVar25 + -8;
          *(int *)(puVar25 + -8) = iVar23;
          pcVar27 = "[%s]";
          goto LAB_00034ae6;
        }
      }
    }
    else {
      if (cVar2 == 'B') {
        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);
        puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);
        if (puVar7 == (undefined4 *)0x0) {
          puVar26 = puVar25 + -8;
          *(char **)(puVar25 + -8) = program_name;
          pcVar27 = "%s generated";
        }
        else {
          puVar8 = (undefined4 *)puVar7[0x23];
          pcVar27 = (char *)*puVar7;
          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {
LAB_00034957:
            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);
            *(char **)(puVar25 + -0x10) = pcVar27;
            *(undefined4 *)(puVar25 + -0x14) = 0x34967;
            fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));
            fmt = (char *)((int)&pbVar30->filename + 2);
            bVar12 = *(byte *)&((bfd *)fmt)->filename;
            goto joined_r0x000340a6;
          }
          *(char **)(puVar25 + -4) = pcVar27;
          puVar26 = puVar25 + -8;
          *(undefined4 *)(puVar25 + -8) = *puVar8;
          pcVar27 = "%s(%s)";
        }
LAB_00034ae6:
        *(char **)(puVar26 + -4) = pcVar27;
        *(undefined4 *)(puVar26 + -8) = *(undefined4 *)(puVar26 + 0x158);
        *(undefined4 *)(puVar26 + -0xc) = 0x34af3;
        fprintf(*(FILE **)(puVar26 + -8),*(char **)(puVar26 + -4));
        bVar12 = *(byte *)((int)&pbVar30->filename + 2);
        puVar25 = puVar26 + 8;
        fmt = (char *)pbVar29;
        goto joined_r0x000340a6;
      }
      if (cVar2 == 'I') {
        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);
        pbVar28 = *(bfd **)(puVar25 + iVar23 * 0x10 + 0xa0);
        pbVar19 = pbVar28->lru_prev->my_archive;
        if ((pbVar19 != (bfd *)0x0) && ((pbVar19->field_0x2c & 1) == 0)) {
LAB_00034be8:
          *(char **)(puVar25 + -8) = pbVar19->filename;
          *(undefined **)(puVar25 + -0xc) = &DAT_0007d3a1;
          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);
          *(undefined4 *)(puVar25 + -0x14) = 0x34c00;
          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));
        }
        *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);
        *(bfd_iovec **)(puVar25 + -0x10) = pbVar28->iovec;
        *(undefined4 *)(puVar25 + -0x14) = 0x349ab;
        fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));
        pbVar19 = pbVar28->lru_prev->my_archive;
        if ((pbVar19 == (bfd *)0x0) || ((pbVar19->field_0x2c & 1) != 0)) {
          *(void **)(puVar25 + -0xc) = pbVar28->iostream;
          *(bfd_iovec **)(puVar25 + -0x10) = pbVar28->iovec;
          *(undefined4 *)(puVar25 + -0x14) = 0x349cf;
          iVar23 = filename_cmp();
          if (iVar23 != 0) {
            pcVar27 = " (%s)";
            puVar26 = puVar25 + -8;
            *(void **)(puVar25 + -8) = pbVar28->iostream;
            goto LAB_00034ae6;
          }
        }
      }
      else {
        if (cVar2 == 'R') {
          puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);
          *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar7[5] + 0x20);
          *(undefined4 *)(puVar25 + -0x10) = puVar7[4];
          *(undefined4 *)(puVar25 + -0x14) = puVar7[3];
          *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(*(int *)*puVar7 + 4);
          *(char **)(puVar25 + -0x1c) = "%s+0x%v (type %s)";
          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);
          *(undefined4 *)(puVar25 + -0x24) = 0x348d6;
          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));
          bVar12 = *(byte *)((int)&pbVar30->filename + 2);
          fmt = (char *)((int)&pbVar30->filename + 2);
          goto joined_r0x000340a6;
        }
        if (cVar2 != 'S') {
          if (cVar2 != 'T') {
            pcVar27 = "%p";
            *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);
            break;
          }
          pbVar29 = (bfd *)((int)&pbVar30->filename + 2);
          pcVar27 = *(char **)(puVar25 + iVar23 * 0x10 + 0xa0);
          if ((pcVar27 != (char *)0x0) && (*pcVar27 != '\0')) {
            pbVar28 = (bfd *)**(undefined4 **)(puVar25 + 0x14);
            if (pbVar28 != (bfd *)0x0) {
              *(undefined4 *)(puVar25 + -8) = 3;
              *(char **)(puVar25 + -0xc) = pcVar27;
              *(char **)(puVar25 + 8) = pcVar27;
              *(bfd **)(puVar25 + -0x10) = link_info.output_bfd;
              *(undefined4 *)(puVar25 + -0x14) = 0x3454c;
              pbVar28 = (bfd *)bfd_demangle();
              pcVar27 = *(char **)(puVar25 + 8);
              if (pbVar28 != (bfd *)0x0) {
                *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);
                *(bfd **)(puVar25 + -0x10) = pbVar28;
                *(undefined4 *)(puVar25 + -0x14) = 0x3456d;
                fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));
                *(bfd **)(puVar25 + -0x10) = pbVar28;
                *(undefined4 *)(puVar25 + -0x14) = 0x34575;
                free(*(void **)(puVar25 + -0x10));
                bVar12 = *(byte *)((int)&pbVar30->filename + 2);
                fmt = (char *)pbVar29;
                goto joined_r0x000340a6;
              }
            }
            goto LAB_00034957;
          }
          *(undefined4 *)(puVar25 + -8) = 5;
          *(char **)(puVar25 + -0xc) = "no symbol";
          *(undefined4 *)(puVar25 + -0x10) = 0;
          *(undefined4 *)(puVar25 + -0x14) = 0x34b14;
          pcVar27 = (char *)dcgettext();
          puVar26 = puVar25 + -8;
          goto LAB_00034ae6;
        }
        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);
        puVar24 = *(undefined1 **)(puVar25 + iVar23 * 0x10 + 0xa0);
        if (puVar24 == (undefined1 *)0x0) {
          *(undefined4 *)(puVar25 + -4) = 0x34c1e;
          pcVar27 = ldlex_filename();
          *(char **)(puVar25 + 0x44) = pcVar27;
          *(uint *)(puVar25 + 0x40) = lineno;
          puVar24 = puVar25 + 0x3c;
        }
        else {
          pcVar27 = *(char **)(puVar24 + 8);
        }
        if (pcVar27 != (char *)0x0) {
          *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar24 + 4);
          *(char **)(puVar25 + -8) = pcVar27;
          *(undefined **)(puVar25 + -0xc) = &DAT_0007d7b0;
          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);
          *(undefined4 *)(puVar25 + -0x14) = 0x34b67;
          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));
        }
      }
    }
LAB_000349da:
    bVar12 = *(byte *)((int)&pbVar30->filename + 2);
    fmt = (char *)pbVar29;
    goto joined_r0x000340a6;
  case 0x73:
    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);
    *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);
    *(undefined4 *)(puVar25 + -0x14) = 0x34489;
    fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));
    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;
    bVar12 = *(byte *)((int)&pbVar30->filename + 1);
    goto joined_r0x000340a6;
  case 0x75:
    puVar15 = &DAT_0007d7b3;
    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);
LAB_000344af:
    *(undefined **)(puVar25 + -0xc) = puVar15;
    *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);
    *(undefined4 *)(puVar25 + -0x14) = 0x344bc;
    fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));
    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;
    bVar12 = *(byte *)((int)&pbVar30->filename + 1);
    goto joined_r0x000340a6;
  case 0x76:
    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;
    *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4);
    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);
    *(char **)(puVar25 + -0xc) = "%016llx";
    pcVar27 = puVar25 + 0x3c;
    *(char **)(puVar25 + -0x10) = pcVar27;
    *(undefined4 *)(puVar25 + -0x14) = 0x3426c;
    sprintf(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));
    cVar2 = puVar25[0x3c];
    while (cVar2 == '0') {
      pcVar27 = pcVar27 + 1;
      cVar2 = *pcVar27;
    }
    pbVar28 = (bfd *)(pcVar27 + -(uint)(cVar2 == '\0'));
    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);
    *(bfd **)(puVar25 + -0x10) = pbVar28;
    *(undefined4 *)(puVar25 + -0x14) = 0x34298;
    fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));
    bVar12 = *(byte *)((int)&pbVar30->filename + 1);
    goto joined_r0x000340a6;
  }
  *(char **)(puVar25 + -0xc) = pcVar27;
  *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);
  *(undefined4 *)(puVar25 + -0x14) = 0x34237;
  fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));
  bVar12 = *(byte *)((int)&pbVar30->filename + 1);
  goto joined_r0x000340a6;
}



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

void FUN_00033f20(undefined4 param_1,byte *param_2,byte *param_3)

{
  byte bVar1;
  char cVar2;
  undefined4 uVar3;
  undefined4 uVar4;
  code *pcVar5;
  int *piVar6;
  byte bVar7;
  undefined4 *puVar8;
  uint uVar9;
  undefined *puVar10;
  size_t sVar11;
  undefined4 uVar12;
  undefined4 *puVar13;
  int iVar14;
  byte *pbVar15;
  int iVar16;
  undefined1 *puVar17;
  undefined1 *puVar18;
  undefined1 *puVar19;
  char *pcVar20;
  byte *pbVar21;
  byte *pbVar22;
  undefined8 uVar23;
  undefined1 auStack_14c [4];
  undefined4 *local_148;
  byte *local_144;
  undefined *local_140;
  undefined4 local_13c;
  undefined4 *local_138;
  int local_134;
  undefined4 local_ac [36];
  undefined4 local_1c [2];
  undefined4 uStack_14;
  
  uStack_14 = 0x33f29;
  puVar18 = auStack_14c;
  puVar13 = local_ac;
  puVar8 = puVar13;
  do {
    *puVar8 = 0;
    puVar8 = puVar8 + 4;
  } while (local_1c != puVar8);
  bVar7 = *param_2;
  local_148 = (undefined4 *)0x0;
  local_13c = CONCAT31(local_13c._1_3_,bVar7);
  local_138 = (undefined4 *)PTR__sch_istable_001cefa0;
  uVar9 = (uint)bVar7;
  pbVar15 = param_2;
LAB_00033f90:
  if ((char)uVar9 != '\0') {
    if ((char)uVar9 != '%') goto LAB_00033fb0;
    goto LAB_00033fd0;
  }
  uVar9 = 0;
  pbVar15 = param_3;
  if (local_148 != (undefined4 *)0x0) {
    do {
      switch(*puVar13) {
      default:
                    /* WARNING: Subroutine does not return */
        FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");
      case 1:
      case 2:
      case 3:
        pbVar15 = param_3 + 4;
        *puVar13 = *(undefined4 *)param_3;
        break;
      case 4:
        uVar12 = *(undefined4 *)(param_3 + 4);
        pbVar15 = param_3 + 8;
        *puVar13 = *(undefined4 *)param_3;
        puVar13[1] = uVar12;
        break;
      case 5:
        uVar12 = *(undefined4 *)(param_3 + 8);
        pbVar15 = param_3 + 0x10;
        uVar3 = *(undefined4 *)(param_3 + 0xc);
        *puVar13 = *(undefined4 *)param_3;
        uVar4 = *(undefined4 *)(param_3 + 4);
        puVar13[2] = uVar12;
        puVar13[1] = uVar4;
        puVar13[3] = uVar3;
      }
      uVar9 = uVar9 + 1;
      puVar13 = puVar13 + 4;
      param_3 = pbVar15;
    } while (local_148 != (undefined4 *)uVar9);
  }
  local_148 = (undefined4 *)0x0;
  local_13c = 0;
  local_140 = PTR__sch_istable_001cefa0;
  local_138 = &DAT_001d13c4;
joined_r0x000340a6:
  if (bVar7 != 0) {
    pbVar21 = param_2;
    pbVar15 = param_2;
    if (bVar7 != 0x25) goto LAB_000340c2;
    goto LAB_00034170;
  }
  pbVar21 = *(byte **)(puVar18 + 0x15c);
  if ((pbVar21 != (byte *)0x0) && (DAT_001d1508 != 0)) {
    DAT_001d14e4 = 0;
  }
  if (*(int *)(puVar18 + 0x10) == 0) {
    return;
  }
  *(undefined4 *)(puVar18 + -0x10) = 1;
  *(undefined4 *)(puVar18 + -0x14) = 0x34be1;
  puVar13 = (undefined4 *)xexit();
  puVar18 = puVar18 + -0x10;
  pbVar22 = param_2;
  goto code_r0x00034be8;
LAB_00033fb0:
  do {
    pbVar15 = pbVar15 + 1;
    bVar1 = *pbVar15;
    uVar9 = (uint)bVar1;
    if (bVar1 == 0x25) break;
  } while (bVar1 != 0);
  if (bVar1 != 0x25) goto LAB_00033f90;
LAB_00033fd0:
  local_144 = pbVar15 + 1;
  bVar1 = pbVar15[1];
  uVar9 = (uint)bVar1;
  if (bVar1 == 0x30) {
    pbVar15 = pbVar15 + 2;
LAB_000347d7:
    uVar9 = (uint)local_144[1];
    goto LAB_00033f90;
  }
  local_134 = (int)(char)bVar1;
  local_140 = (undefined *)local_148;
  if (((PTR__sch_istable_001cefa0[uVar9 * 2] & 4) != 0) && (pbVar15[2] == 0x24)) {
    local_140 = (undefined *)((int)(char)bVar1 - 0x31);
    local_144 = pbVar15 + 3;
    uVar9 = (uint)pbVar15[3];
  }
  pbVar21 = local_144;
  pbVar15 = local_144 + 1;
  switch(uVar9) {
  case 0:
    pbVar15 = local_144;
    goto LAB_00033f90;
  default:
    goto LAB_000347d7;
  case 0x43:
  case 0x44:
  case 0x47:
  case 0x48:
    local_144 = (byte *)0x5;
    break;
  case 0x56:
  case 0x57:
  case 0x76:
    local_144 = (byte *)0x4;
    break;
  case 100:
  case 0x75:
    local_144 = (byte *)0x1;
    break;
  case 0x6c:
    bVar1 = local_144[1];
    uVar9 = (uint)bVar1;
    if ((bVar1 != 100) && (bVar1 != 0x75)) goto LAB_00033f90;
    local_144 = (byte *)0x2;
    pbVar15 = pbVar21 + 2;
    break;
  case 0x70:
    local_144 = (byte *)0x3;
    uVar9 = pbVar21[1] - 0x41;
    if (((byte)uVar9 < 0x14) && ((0xe0103U >> (uVar9 & 0x1f) & 1) != 0)) {
      pbVar15 = pbVar21 + 2;
    }
    break;
  case 0x73:
    local_144 = (byte *)0x3;
  }
  if (8 < local_140) {
    local_148 = puVar13;
                    /* WARNING: Subroutine does not return */
    FUN_00033e90("../../ld/ldmisc.c",0xa9,"vfinfo",uVar9);
  }
  local_148 = (undefined4 *)((int)local_148 + 1);
  local_ac[(int)local_140 * 4] = local_144;
  uVar9 = (uint)*pbVar15;
  goto LAB_00033f90;
LAB_000340c2:
  do {
    pbVar15 = pbVar21;
    bVar7 = pbVar15[1];
    pbVar21 = pbVar15 + 1;
    if (bVar7 == 0x25) break;
  } while (bVar7 != 0);
  if (param_2 != pbVar21) {
    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + 0x150);
    *(int *)(puVar18 + -8) = (int)pbVar21 - (int)param_2;
    *(undefined4 *)(puVar18 + -0xc) = 1;
    *(byte **)(puVar18 + -0x10) = param_2;
    *(undefined4 *)(puVar18 + -0x14) = 0x340e9;
    fwrite(*(void **)(puVar18 + -0x10),*(size_t *)(puVar18 + -0xc),*(size_t *)(puVar18 + -8),
           *(FILE **)(puVar18 + -4));
    bVar7 = pbVar15[1];
  }
  param_2 = pbVar21;
  if (bVar7 != 0x25) goto joined_r0x000340a6;
LAB_00034170:
  bVar7 = param_2[1];
  pbVar22 = param_2 + 1;
  *(int *)(puVar18 + 8) = (int)(char)bVar7;
  if (bVar7 == 0x30) {
    *(undefined4 *)(puVar18 + 8) = 0x30;
    param_2 = param_2 + 2;
    goto LAB_0003421d;
  }
  pbVar15 = *(byte **)(puVar18 + 0xc);
  iVar16 = *(int *)(puVar18 + 4);
  if (((pbVar15[(uint)bVar7 * 2] & 4) != 0) && (param_2[2] == 0x24)) {
    bVar7 = param_2[3];
    iVar16 = *(int *)(puVar18 + 8);
    pbVar22 = param_2 + 3;
    *(int *)(puVar18 + 8) = (int)(char)bVar7;
    iVar16 = iVar16 + -0x31;
  }
  param_2 = pbVar22 + 1;
  switch(bVar7) {
  case 0:
    param_2 = pbVar22;
  case 0x25:
    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);
    *(undefined4 *)(puVar18 + -0x10) = 0x25;
    *(undefined **)(puVar18 + -0x14) = &UNK_00034207;
    putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));
    bVar7 = *param_2;
    goto joined_r0x000340a6;
  case 0x43:
  case 0x44:
  case 0x47:
  case 0x48:
    iVar16 = iVar16 * 0x10;
    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;
    pbVar15 = *(byte **)(puVar18 + iVar16 + 0xa0);
    *(undefined4 *)(puVar18 + 0x1c) = *(undefined4 *)(puVar18 + iVar16 + 0xa4);
    uVar12 = *(undefined4 *)(puVar18 + iVar16 + 0xac);
    *(undefined4 *)(puVar18 + 0x20) = *(undefined4 *)(puVar18 + iVar16 + 0xa8);
    *(undefined4 *)(puVar18 + 0x24) = uVar12;
    if (pbVar15 == (byte *)0x0) {
code_r0x00034747:
      *(byte **)(puVar18 + -8) = pbVar15;
      *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;
      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);
      *(undefined **)(puVar18 + -0x14) = &UNK_0003475e;
      FUN_00034e30();
      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);
      *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);
      *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);
      *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;
      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);
      *(undefined **)(puVar18 + -0x24) = &UNK_0003477e;
      FUN_00034e30();
    }
    else {
      *(byte **)(puVar18 + -0x10) = pbVar15;
      *(undefined **)(puVar18 + -0x14) = &UNK_00034331;
      iVar16 = bfd_generic_link_read_symbols();
      if (iVar16 == 0) {
        *(undefined4 *)(puVar18 + -8) = 5;
        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";
        *(undefined4 *)(puVar18 + -0x10) = 0;
        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;
        uVar12 = dcgettext();
        *(byte **)(puVar18 + -0xc) = pbVar15;
        *(undefined4 *)(puVar18 + -0x10) = uVar12;
        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;
        FUN_00034d20();
      }
      iVar16 = *(int *)(pbVar15 + 4);
      *(undefined4 *)(puVar18 + -0x10) = 0;
      *(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c;
      *(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38;
      *(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34;
      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24);
      *(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20);
      *(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c);
      *(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78);
      *(byte **)(puVar18 + -0x30) = pbVar15;
      pcVar5 = *(code **)(iVar16 + 0x128);
      *(undefined **)(puVar18 + -0x34) = &UNK_00034369;
      iVar16 = (*pcVar5)();
      if (iVar16 == 0) goto code_r0x00034747;
      iVar16 = *(int *)(puVar18 + 0x38);
      *(int *)(puVar18 + 8) = iVar16;
      if ((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))) {
        *(byte **)(puVar18 + -8) = pbVar15;
        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;
        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);
        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;
        FUN_00034e30();
        *(undefined4 *)(puVar18 + 0x18) = 1;
code_r0x000343b5:
        if (*(int *)(puVar18 + 0x34) == 0) {
          iVar16 = *(int *)(puVar18 + 0x38);
          goto code_r0x00034a0d;
        }
        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);
        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;
        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);
        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;
        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));
        iVar16 = *(int *)(puVar18 + 0x38);
        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;
        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))
        goto code_r0x00034902;
        if (*pbVar22 == 0x48) {
          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;
          *(int *)(puVar18 + -8) = iVar16;
          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;
          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);
          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;
          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));
          goto code_r0x00034902;
        }
        *(char **)(puVar18 + -4) = "";
        *(int *)(puVar18 + -8) = iVar16;
        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;
        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);
        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;
        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));
      }
      else {
        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {
code_r0x00034800:
          *(undefined4 *)(puVar18 + -8) = 5;
          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";
          *(undefined4 *)(puVar18 + -0x10) = 0;
          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;
          uVar12 = dcgettext();
          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);
          *(byte **)(puVar18 + -0x18) = pbVar15;
          *(undefined4 *)(puVar18 + -0x1c) = uVar12;
          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);
          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;
          FUN_00034e30();
          pbRam001d0878 = pbVar15;
          if (iRam001d0870 != 0) {
            *(int *)(puVar18 + -0x10) = iRam001d0870;
            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;
            free(*(void **)(puVar18 + -0x10));
          }
          iRam001d0870 = 0;
          if (*(int *)(puVar18 + 0x34) != 0) {
            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);
            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;
            iRam001d0870 = xstrdup();
          }
          if (iRam001d0874 != 0) {
            *(int *)(puVar18 + -0x10) = iRam001d0874;
            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;
            free(*(void **)(puVar18 + -0x10));
          }
          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);
          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;
          iRam001d0874 = xstrdup();
          *(undefined4 *)(puVar18 + 0x18) = 0;
          goto code_r0x000343b5;
        }
        iVar14 = *(int *)(puVar18 + 0x34);
        *(int *)(puVar18 + 0x18) = iRam001d0870;
        puVar18[0x28] = iRam001d0870 == 0;
        puVar18[0x2f] = iVar14 == 0;
        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;
        if (iVar14 != 0) {
          *(int *)(puVar18 + -4) = iVar16;
          *(int *)(puVar18 + -8) = iVar16;
          *(int *)(puVar18 + -0xc) = iVar14;
          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);
          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;
          uVar23 = filename_cmp();
          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);
          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);
          if ((int)uVar23 == 0) {
            *(undefined4 *)(puVar18 + -4) = uVar12;
            *(undefined4 *)(puVar18 + -8) = uVar12;
            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);
            *(int *)(puVar18 + -0x10) = iRam001d0874;
            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;
            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));
            *(int *)(puVar18 + 0x18) = iVar16;
            if (iVar16 == 0) goto code_r0x000343b5;
          }
          goto code_r0x00034800;
        }
        *(int *)(puVar18 + 8) = iVar16;
        *(undefined4 *)(puVar18 + -4) = 0;
        *(undefined4 *)(puVar18 + -8) = 0;
        *(int *)(puVar18 + -0xc) = iVar16;
        *(int *)(puVar18 + 0x28) = iVar16;
        *(int *)(puVar18 + -0x10) = iRam001d0874;
        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;
        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));
        iVar16 = *(int *)(puVar18 + 0x28);
        *(int *)(puVar18 + 0x18) = iVar14;
        if (iVar14 != 0) goto code_r0x00034800;
code_r0x00034a0d:
        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {
code_r0x00034a20:
          *(int *)(puVar18 + -8) = iVar16;
          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;
          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);
          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;
          FUN_00034e30();
        }
        else {
code_r0x00034902:
          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);
          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);
          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);
          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;
          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);
          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;
          FUN_00034e30();
        }
      }
      if (*(int *)(puVar18 + 0x18) == 0) goto code_r0x0003443a;
    }
    pbRam001d0878 = (byte *)0x0;
    if (iRam001d0870 != 0) {
      *(int *)(puVar18 + -0x10) = iRam001d0870;
      *(undefined **)(puVar18 + -0x14) = &UNK_0003479e;
      free(*(void **)(puVar18 + -0x10));
      iRam001d0870 = 0;
    }
    if (iRam001d0874 != 0) {
      *(int *)(puVar18 + -0x10) = iRam001d0874;
      *(undefined **)(puVar18 + -0x14) = &UNK_000347c2;
      free(*(void **)(puVar18 + -0x10));
      iRam001d0874 = 0;
    }
code_r0x0003443a:
    bVar7 = pbVar22[1];
    goto joined_r0x000340a6;
  case 0x45:
    *(undefined **)(puVar18 + -4) = &UNK_0003444a;
    uVar12 = bfd_get_error();
    *(undefined4 *)(puVar18 + -0x10) = uVar12;
    *(undefined **)(puVar18 + -0x14) = &UNK_00034453;
    uVar12 = func_0x00016b10();
    pbVar15 = *(byte **)(puVar18 + -0xc);
    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);
    *(undefined4 *)(puVar18 + -0x10) = uVar12;
    *(undefined **)(puVar18 + -0x14) = &UNK_00034462;
    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));
    bVar7 = pbVar22[1];
    goto joined_r0x000340a6;
  case 0x46:
    bVar7 = pbVar22[1];
    *(undefined4 *)(puVar18 + 0x10) = 1;
    goto joined_r0x000340a6;
  case 0x50:
    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);
    *(undefined4 *)(puVar18 + -0x10) = DAT_001d1558;
    *(undefined **)(puVar18 + -0x14) = &UNK_00034695;
    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));
    bVar7 = pbVar22[1];
    goto joined_r0x000340a6;
  case 0x56:
    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;
    pcVar20 = "%016llx";
    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);
    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);
    break;
  case 0x57:
    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;
    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);
    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);
    *(char **)(puVar18 + -0xc) = "%016llx";
    pcVar20 = puVar18 + 0x3c;
    *(char **)(puVar18 + -0x10) = pcVar20;
    *(undefined **)(puVar18 + -0x14) = &UNK_000345d0;
    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));
    cVar2 = puVar18[0x3c];
    while (cVar2 == '0') {
      pcVar20 = pcVar20 + 1;
      cVar2 = *pcVar20;
    }
    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));
    *(byte **)(puVar18 + -0x10) = pbVar15;
    *(undefined **)(puVar18 + -0x14) = &UNK_000345f5;
    sVar11 = strlen(*(char **)(puVar18 + -0x10));
    if (sVar11 < 8) {
      *(byte **)(puVar18 + 8) = pbVar22;
      uVar12 = *(undefined4 *)(puVar18 + 0x150);
      *(byte **)(puVar18 + 0x18) = param_2;
      do {
        sVar11 = sVar11 + 1;
        *(undefined4 *)(puVar18 + -0xc) = uVar12;
        *(undefined4 *)(puVar18 + -0x10) = 0x20;
        *(undefined **)(puVar18 + -0x14) = &UNK_0003461c;
        putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));
      } while (sVar11 != 8);
      pbVar22 = *(byte **)(puVar18 + 8);
      param_2 = *(byte **)(puVar18 + 0x18);
    }
    pcVar20 = "0x%s";
    *(byte **)(puVar18 + -8) = pbVar15;
    break;
  case 0x58:
    DAT_001d14e4 = 0;
    bVar7 = pbVar22[1];
    goto joined_r0x000340a6;
  case 100:
    puVar10 = &DAT_0006c013;
    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);
    goto code_r0x000344af;
  case 0x6c:
    if (pbVar22[1] == 100) {
      puVar10 = &UNK_0007d7c3;
      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);
code_r0x000342cd:
      *(undefined **)(puVar18 + -0xc) = puVar10;
      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);
      *(undefined **)(puVar18 + -0x14) = &UNK_000342dd;
      fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));
      *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;
      bVar7 = pbVar22[2];
      param_2 = pbVar22 + 2;
      goto joined_r0x000340a6;
    }
    if (pbVar22[1] == 0x75) {
      puVar10 = &UNK_0007d7c7;
      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);
      goto code_r0x000342cd;
    }
  default:
LAB_0003421d:
    pcVar20 = "%%%c";
    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + 8);
    break;
  case 0x70:
    bVar7 = pbVar22[1];
    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;
    if (bVar7 == 0x41) {
      pbVar21 = pbVar22 + 2;
      puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);
      pbVar15 = (byte *)puVar13[0x2b];
      *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);
      *(undefined4 *)(puVar18 + -0x10) = *puVar13;
      *(undefined4 **)(puVar18 + 8) = puVar13;
      *(undefined **)(puVar18 + -0x14) = &UNK_00034a7f;
      fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));
      iVar16 = *(int *)(puVar18 + 8);
      if (pbVar15 != (byte *)0x0) {
        if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {
          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);
          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;
          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);
        }
        else {
          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||
               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||
              (*(int *)(iVar16 + 0xa4) == 0)) ||
             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))
          goto LAB_000349da;
          iVar16 = *piVar6;
        }
        if (iVar16 != 0) {
          puVar19 = puVar18 + -8;
          *(int *)(puVar18 + -8) = iVar16;
          pcVar20 = "[%s]";
          goto LAB_00034ae6;
        }
      }
    }
    else {
      if (bVar7 == 0x42) {
        pbVar21 = pbVar22 + 2;
        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);
        if (puVar13 == (undefined4 *)0x0) {
          puVar19 = puVar18 + -8;
          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;
          pcVar20 = "%s generated";
        }
        else {
          puVar8 = (undefined4 *)puVar13[0x23];
          pcVar20 = (char *)*puVar13;
          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {
code_r0x00034957:
            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);
            *(char **)(puVar18 + -0x10) = pcVar20;
            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;
            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));
            bVar7 = pbVar22[2];
            param_2 = pbVar22 + 2;
            goto joined_r0x000340a6;
          }
          *(char **)(puVar18 + -4) = pcVar20;
          puVar19 = puVar18 + -8;
          *(undefined4 *)(puVar18 + -8) = *puVar8;
          pcVar20 = "%s(%s)";
        }
LAB_00034ae6:
        *(char **)(puVar19 + -4) = pcVar20;
        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);
        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;
        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));
        bVar7 = pbVar22[2];
        puVar18 = puVar19 + 8;
        param_2 = pbVar21;
        goto joined_r0x000340a6;
      }
      if (bVar7 == 0x49) {
        pbVar21 = pbVar22 + 2;
        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);
        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);
        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {
code_r0x00034be8:
          *(undefined4 *)(puVar18 + -8) = *puVar13;
          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;
          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);
          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;
          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));
        }
        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);
        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);
        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;
        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));
        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||
           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {
          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);
          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);
          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;
          iVar16 = filename_cmp();
          if (iVar16 != 0) {
            pcVar20 = " (%s)";
            puVar19 = puVar18 + -8;
            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);
            goto LAB_00034ae6;
          }
        }
      }
      else {
        if (bVar7 == 0x52) {
          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);
          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);
          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];
          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];
          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);
          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";
          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);
          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;
          FUN_00034e30();
          bVar7 = pbVar22[2];
          param_2 = pbVar22 + 2;
          goto joined_r0x000340a6;
        }
        if (bVar7 != 0x53) {
          if (bVar7 != 0x54) {
            pcVar20 = "%p";
            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);
            break;
          }
          pbVar21 = pbVar22 + 2;
          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);
          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {
            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);
            if (pbVar15 != (byte *)0x0) {
              *(undefined4 *)(puVar18 + -8) = 3;
              *(char **)(puVar18 + -0xc) = pcVar20;
              *(char **)(puVar18 + 8) = pcVar20;
              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;
              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;
              pbVar15 = (byte *)bfd_demangle();
              pcVar20 = *(char **)(puVar18 + 8);
              if (pbVar15 != (byte *)0x0) {
                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);
                *(byte **)(puVar18 + -0x10) = pbVar15;
                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;
                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));
                *(byte **)(puVar18 + -0x10) = pbVar15;
                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;
                free(*(void **)(puVar18 + -0x10));
                bVar7 = pbVar22[2];
                param_2 = pbVar21;
                goto joined_r0x000340a6;
              }
            }
            goto code_r0x00034957;
          }
          *(undefined4 *)(puVar18 + -8) = 5;
          *(char **)(puVar18 + -0xc) = "no symbol";
          *(undefined4 *)(puVar18 + -0x10) = 0;
          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;
          pcVar20 = (char *)dcgettext();
          puVar19 = puVar18 + -8;
          goto LAB_00034ae6;
        }
        pbVar21 = pbVar22 + 2;
        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);
        if (puVar17 == (undefined1 *)0x0) {
          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;
          iVar16 = FUN_0001d2c0();
          *(int *)(puVar18 + 0x44) = iVar16;
          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;
          puVar17 = puVar18 + 0x3c;
        }
        else {
          iVar16 = *(int *)(puVar17 + 8);
        }
        if (iVar16 != 0) {
          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);
          *(int *)(puVar18 + -8) = iVar16;
          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;
          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);
          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;
          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));
        }
      }
    }
LAB_000349da:
    bVar7 = pbVar22[2];
    param_2 = pbVar21;
    goto joined_r0x000340a6;
  case 0x73:
    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);
    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);
    *(undefined **)(puVar18 + -0x14) = &UNK_00034489;
    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));
    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;
    bVar7 = pbVar22[1];
    goto joined_r0x000340a6;
  case 0x75:
    puVar10 = &UNK_0007d7b3;
    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);
code_r0x000344af:
    *(undefined **)(puVar18 + -0xc) = puVar10;
    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);
    *(undefined **)(puVar18 + -0x14) = &UNK_000344bc;
    fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));
    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;
    bVar7 = pbVar22[1];
    goto joined_r0x000340a6;
  case 0x76:
    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;
    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);
    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);
    *(char **)(puVar18 + -0xc) = "%016llx";
    pcVar20 = puVar18 + 0x3c;
    *(char **)(puVar18 + -0x10) = pcVar20;
    *(undefined **)(puVar18 + -0x14) = &UNK_0003426c;
    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));
    cVar2 = puVar18[0x3c];
    while (cVar2 == '0') {
      pcVar20 = pcVar20 + 1;
      cVar2 = *pcVar20;
    }
    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));
    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);
    *(byte **)(puVar18 + -0x10) = pbVar15;
    *(undefined **)(puVar18 + -0x14) = &UNK_00034298;
    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));
    bVar7 = pbVar22[1];
    goto joined_r0x000340a6;
  }
  *(char **)(puVar18 + -0xc) = pcVar20;
  *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);
  *(undefined4 *)(puVar18 + -0x14) = 0x34237;
  fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));
  bVar7 = pbVar22[1];
  goto joined_r0x000340a6;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00017b80
ADD EBX,0x19b0d7
SUB ESP,0x13c
LEA ECX,[ESP + 0xa0]
MOV EDI,dword ptr [ESP + 0x154]
MOV EBP,dword ptr [ESP + 0x158]
LEA EDX,[ESP + 0x130]
MOV EAX,ECX
LEA ESI,[ESI]
NOP
MOV dword ptr [EAX],0x0
ADD EAX,0x10
CMP EDX,EAX
JNZ 0x00033f58
MOVZX EAX,byte ptr [EDI]
MOV dword ptr [ESP + 0x154],EDI
MOV EDX,EDI
XOR ESI,ESI
MOV byte ptr [ESP + 0x4],AL
MOV byte ptr [ESP + 0x10],AL
MOV EAX,dword ptr [EBX + 0xffffffa0]
MOV dword ptr [ESP + 0x14],EAX
MOVZX EAX,byte ptr [ESP + 0x4]
MOV dword ptr [ESP + 0x4],ECX
NOP
TEST AL,AL
JZ 0x0003401c
CMP AL,0x25
JZ 0x00033fd0
MOV ECX,dword ptr [ESP + 0x4]
MOV EDI,dword ptr [ESP + 0x154]
LEA ESI,[ESI]
NOP
ADD EDX,0x1
MOVZX EAX,byte ptr [EDX]
CMP AL,0x25
JZ 0x00033fbe
TEST AL,AL
JNZ 0x00033fb0
MOV dword ptr [ESP + 0x4],ECX
MOV dword ptr [ESP + 0x154],EDI
CMP AL,0x25
JNZ 0x00033f90
LEA ESI,[ESI]
LEA EAX,[EDX + 0x1]
MOV dword ptr [ESP + 0x8],EAX
MOVZX EAX,byte ptr [EDX + 0x1]
CMP AL,0x30
JZ 0x000347d4
MOVSX ECX,AL
MOV EDI,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0xc],ESI
MOV dword ptr [ESP + 0x18],ECX
MOVZX ECX,AL
TEST byte ptr [EDI + ECX*0x2],0x4
JNZ 0x000341cd
MOV ECX,dword ptr [ESP + 0x8]
LEA EDX,[ECX + 0x1]
CMP AL,0x76
JA 0x000347d7
MOVZX ECX,AL
MOV ECX,dword ptr [EBX + ECX*0x4 + 0xffeae7f4]
ADD ECX,EBX
JMP ECX
MOV ECX,dword ptr [ESP + 0x4]
MOV EDI,dword ptr [ESP + 0x154]
XOR EAX,EAX
TEST ESI,ESI
JZ 0x0003407b
MOV dword ptr [ESP + 0x4],ESI
MOV dword ptr [ESP + 0x154],EDI
LEA ESI,[ESI]
NOP
CMP dword ptr [ECX],0x5
JA 0x00034bbc
MOV EDX,dword ptr [ECX]
MOV EDI,dword ptr [EBX + EDX*0x4 + 0xffeae9d0]
ADD EDI,EBX
JMP EDI
MOV ECX,dword ptr [EBX + 0xffffffa0]
MOVZX EAX,byte ptr [ESP + 0x10]
MOV dword ptr [ESP + 0x4],0x0
MOV dword ptr [ESP + 0x10],0x0
MOV dword ptr [ESP + 0xc],ECX
LEA ECX,[EBX + 0x23c4]
MOV dword ptr [ESP + 0x14],ECX
TEST AL,AL
JZ 0x000340fa
LEA ESI,[ESI]
NOP
MOV EBP,EDI
MOV ESI,EDI
CMP AL,0x25
JNZ 0x000340c2
JMP 0x00034170
MOV EBP,ESI
MOVZX EAX,byte ptr [EBP + 0x1]
LEA ESI,[EBP + 0x1]
CMP AL,0x25
JZ 0x000340d1
TEST AL,AL
JNZ 0x000340c0
CMP EDI,ESI
JZ 0x000340f0
MOV EAX,ESI
PUSH dword ptr [ESP + 0x150]
SUB EAX,EDI
PUSH EAX
PUSH 0x1
PUSH EDI
CALL 0x000164c0
MOVZX EAX,byte ptr [EBP + 0x1]
ADD ESP,0x10
CMP AL,0x25
JZ 0x00034170
MOV EDI,ESI
TEST AL,AL
JNZ 0x000340b0
MOV ESI,dword ptr [ESP + 0x15c]
TEST ESI,ESI
JZ 0x00034119
LEA EAX,[EBX + 0x24e0]
MOV ECX,dword ptr [EAX + 0x28]
TEST ECX,ECX
JZ 0x00034119
MOV dword ptr [EAX + 0x4],0x0
MOV EDX,dword ptr [ESP + 0x10]
TEST EDX,EDX
JNZ 0x00034bd7
ADD ESP,0x13c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOVSX ECX,byte ptr [ESI + 0x1]
LEA EDI,[ESI + 0x1]
MOV EAX,ECX
MOV dword ptr [ESP + 0x8],ECX
CMP CL,0x30
JZ 0x00034212
MOV EBP,dword ptr [ESP + 0xc]
MOVZX ECX,CL
MOV EDX,dword ptr [ESP + 0x4]
TEST byte ptr [EBP + ECX*0x2],0x4
JZ 0x000341b8
CMP byte ptr [ESI + 0x2],0x24
JNZ 0x000341b8
MOVSX ECX,byte ptr [ESI + 0x3]
MOV EDX,dword ptr [ESP + 0x8]
LEA EDI,[ESI + 0x3]
MOV dword ptr [ESP + 0x8],ECX
SUB EDX,0x31
MOV EAX,ECX
LEA ESI,[ESI]
LEA ESI,[EDI + 0x1]
CMP AL,0x76
JA 0x0003421d
MOVZX EAX,AL
MOV ECX,dword ptr [EBX + EAX*0x4 + 0xffeae9e8]
ADD ECX,EBX
JMP ECX
CMP byte ptr [EDX + 0x2],0x24
JNZ 0x00033fff
MOV EAX,dword ptr [ESP + 0x18]
SUB EAX,0x31
MOV dword ptr [ESP + 0xc],EAX
LEA EAX,[EDX + 0x3]
MOV dword ptr [ESP + 0x8],EAX
MOVZX EAX,byte ptr [EDX + 0x3]
JMP 0x00033fff
MOV dword ptr [ESP + 0x8],0x30
ADD ESI,0x2
SUB ESP,0x4
LEA EAX,[EBX + 0xffeae7cb]
PUSH dword ptr [ESP + 0xc]
PUSH EAX
PUSH dword ptr [ESP + 0x15c]
CALL 0x000167a0
MOVZX EAX,byte ptr [EDI + 0x1]
ADD ESP,0x10
MOV EDI,ESI
JMP 0x000340f6
ADD EDX,0x2
MOV EAX,dword ptr [ESP + 0x8]
MOVZX EAX,byte ptr [EAX + 0x1]
JMP 0x00033f90
SUB ESP,0x8
PUSH dword ptr [ESP + 0x158]
PUSH dword ptr [EBP + 0xc]
CALL 0x00016d10
MOV EAX,dword ptr [EBP + 0x10]
ADD ESP,0x10
MOV EAX,dword ptr [EAX + 0x8c]
TEST EAX,EAX
JZ 0x000349c1
TEST byte ptr [EAX + 0x2c],0x1
JZ 0x000349da
SUB ESP,0x8
PUSH dword ptr [EBP + 0x8]
PUSH dword ptr [EBP + 0xc]
CALL 0x00016230
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00034c08
MOVZX EAX,byte ptr [EDI + 0x2]
MOV EDI,ESI
JMP 0x000340f6
PUSH EAX
PUSH dword ptr [ESP + 0x15c]
CALL 0x000167a0
MOVZX EAX,byte ptr [EDI + 0x2]
ADD ESP,0x10
MOV EDI,ESI
JMP 0x000340f6
SUB ESP,0x4
LEA EAX,[EBX + 0xffeaebc4]
PUSH EAX
LEA EAX,[EBX + 0xffeae749]
PUSH 0xc6
PUSH EAX
CALL 0x00033e90
SUB ESP,0xc
PUSH 0x1
CALL 0x00016a60
LEA ESI,[ESI]
SUB ESP,0x4
PUSH dword ptr [EAX]
LEA EAX,[EBX + 0xffeae3a1]
PUSH EAX
PUSH dword ptr [ESP + 0x15c]
CALL 0x000167a0
ADD ESP,0x10
JMP 0x00034999
SUB ESP,0x4
LEA EAX,[EBX + 0xffeae3a0]
PUSH dword ptr [EBP + 0x8]
JMP 0x00034ae6
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_00033f20(undefined4 param_1,byte *param_2,byte *param_3)\n\n{\n  byte bVar1;\n  char cVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  code *pcVar5;\n  int *piVar6;\n  byte bVar7;\n  undefined4 *puVar8;\n  uint uVar9;\n  undefined *puVar10;\n  size_t sVar11;\n  undefined4 uVar12;\n  undefined4 *puVar13;\n  int iVar14;\n  byte *pbVar15;\n  int iVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  undefined1 *puVar19;\n  char *pcVar20;\n  byte *pbVar21;\n  byte *pbVar22;\n  undefined8 uVar23;\n  undefined1 auStack_14c [4];\n  undefined4 *local_148;\n  byte *local_144;\n  undefined *local_140;\n  undefined4 local_13c;\n  undefined4 *local_138;\n  int local_134;\n  undefined4 local_ac [36];\n  undefined4 local_1c [2];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x33f29;\n  puVar18 = auStack_14c;\n  puVar13 = local_ac;\n  puVar8 = puVar13;\n  do {\n    *puVar8 = 0;\n    puVar8 = puVar8 + 4;\n  } while (local_1c != puVar8);\n  bVar7 = *param_2;\n  local_148 = (undefined4 *)0x0;\n  local_13c = CONCAT31(local_13c._1_3_,bVar7);\n  local_138 = (undefined4 *)PTR__sch_istable_001cefa0;\n  uVar9 = (uint)bVar7;\n  pbVar15 = param_2;\nLAB_00033f90:\n  if ((char)uVar9 != '\0') {\n    if ((char)uVar9 != '%') goto LAB_00033fb0;\n    goto LAB_00033fd0;\n  }\n  uVar9 = 0;\n  pbVar15 = param_3;\n  if (local_148 != (undefined4 *)0x0) {\n    do {\n      switch(*puVar13) {\n      default:\n                    /* WARNING: Subroutine does not return */\n        FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar15 = param_3 + 4;\n        *puVar13 = *(undefined4 *)param_3;\n        break;\n      case 4:\n        uVar12 = *(undefined4 *)(param_3 + 4);\n        pbVar15 = param_3 + 8;\n        *puVar13 = *(undefined4 *)param_3;\n        puVar13[1] = uVar12;\n        break;\n      case 5:\n        uVar12 = *(undefined4 *)(param_3 + 8);\n        pbVar15 = param_3 + 0x10;\n        uVar3 = *(undefined4 *)(param_3 + 0xc);\n        *puVar13 = *(undefined4 *)param_3;\n        uVar4 = *(undefined4 *)(param_3 + 4);\n        puVar13[2] = uVar12;\n        puVar13[1] = uVar4;\n        puVar13[3] = uVar3;\n      }\n      uVar9 = uVar9 + 1;\n      puVar13 = puVar13 + 4;\n      param_3 = pbVar15;\n    } while (local_148 != (undefined4 *)uVar9);\n  }\n  local_148 = (undefined4 *)0x0;\n  local_13c = 0;\n  local_140 = PTR__sch_istable_001cefa0;\n  local_138 = &DAT_001d13c4;\njoined_r0x000340a6:\n  if (bVar7 != 0) {\n    pbVar21 = param_2;\n    pbVar15 = param_2;\n    if (bVar7 != 0x25) goto LAB_000340c2;\n    goto LAB_00034170;\n  }\n  pbVar21 = *(byte **)(puVar18 + 0x15c);\n  if ((pbVar21 != (byte *)0x0) && (DAT_001d1508 != 0)) {\n    DAT_001d14e4 = 0;\n  }\n  if (*(int *)(puVar18 + 0x10) == 0) {\n    return;\n  }\n  *(undefined4 *)(puVar18 + -0x10) = 1;\n  *(undefined4 *)(puVar18 + -0x14) = 0x34be1;\n  puVar13 = (undefined4 *)xexit();\n  puVar18 = puVar18 + -0x10;\n  pbVar22 = param_2;\n  goto code_r0x00034be8;\nLAB_00033fb0:\n  do {\n    pbVar15 = pbVar15 + 1;\n    bVar1 = *pbVar15;\n    uVar9 = (uint)bVar1;\n    if (bVar1 == 0x25) break;\n  } while (bVar1 != 0);\n  if (bVar1 != 0x25) goto LAB_00033f90;\nLAB_00033fd0:\n  local_144 = pbVar15 + 1;\n  bVar1 = pbVar15[1];\n  uVar9 = (uint)bVar1;\n  if (bVar1 == 0x30) {\n    pbVar15 = pbVar15 + 2;\nLAB_000347d7:\n    uVar9 = (uint)local_144[1];\n    goto LAB_00033f90;\n  }\n  local_134 = (int)(char)bVar1;\n  local_140 = (undefined *)local_148;\n  if (((PTR__sch_istable_001cefa0[uVar9 * 2] & 4) != 0) && (pbVar15[2] == 0x24)) {\n    local_140 = (undefined *)((int)(char)bVar1 - 0x31);\n    local_144 = pbVar15 + 3;\n    uVar9 = (uint)pbVar15[3];\n  }\n  pbVar21 = local_144;\n  pbVar15 = local_144 + 1;\n  switch(uVar9) {\n  case 0:\n    pbVar15 = local_144;\n    goto LAB_00033f90;\n  default:\n    goto LAB_000347d7;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    local_144 = (byte *)0x5;\n    break;\n  case 0x56:\n  case 0x57:\n  case 0x76:\n    local_144 = (byte *)0x4;\n    break;\n  case 100:\n  case 0x75:\n    local_144 = (byte *)0x1;\n    break;\n  case 0x6c:\n    bVar1 = local_144[1];\n    uVar9 = (uint)bVar1;\n    if ((bVar1 != 100) && (bVar1 != 0x75)) goto LAB_00033f90;\n    local_144 = (byte *)0x2;\n    pbVar15 = pbVar21 + 2;\n    break;\n  case 0x70:\n    local_144 = (byte *)0x3;\n    uVar9 = pbVar21[1] - 0x41;\n    if (((byte)uVar9 < 0x14) && ((0xe0103U >> (uVar9 & 0x1f) & 1) != 0)) {\n      pbVar15 = pbVar21 + 2;\n    }\n    break;\n  case 0x73:\n    local_144 = (byte *)0x3;\n  }\n  if (8 < local_140) {\n    local_148 = puVar13;\n                    /* WARNING: Subroutine does not return */\n    FUN_00033e90("../../ld/ldmisc.c",0xa9,"vfinfo",uVar9);\n  }\n  local_148 = (undefined4 *)((int)local_148 + 1);\n  local_ac[(int)local_140 * 4] = local_144;\n  uVar9 = (uint)*pbVar15;\n  goto LAB_00033f90;\nLAB_000340c2:\n  do {\n    pbVar15 = pbVar21;\n    bVar7 = pbVar15[1];\n    pbVar21 = pbVar15 + 1;\n    if (bVar7 == 0x25) break;\n  } while (bVar7 != 0);\n  if (param_2 != pbVar21) {\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + 0x150);\n    *(int *)(puVar18 + -8) = (int)pbVar21 - (int)param_2;\n    *(undefined4 *)(puVar18 + -0xc) = 1;\n    *(byte **)(puVar18 + -0x10) = param_2;\n    *(undefined4 *)(puVar18 + -0x14) = 0x340e9;\n    fwrite(*(void **)(puVar18 + -0x10),*(size_t *)(puVar18 + -0xc),*(size_t *)(puVar18 + -8),\n           *(FILE **)(puVar18 + -4));\n    bVar7 = pbVar15[1];\n  }\n  param_2 = pbVar21;\n  if (bVar7 != 0x25) goto joined_r0x000340a6;\nLAB_00034170:\n  bVar7 = param_2[1];\n  pbVar22 = param_2 + 1;\n  *(int *)(puVar18 + 8) = (int)(char)bVar7;\n  if (bVar7 == 0x30) {\n    *(undefined4 *)(puVar18 + 8) = 0x30;\n    param_2 = param_2 + 2;\n    goto LAB_0003421d;\n  }\n  pbVar15 = *(byte **)(puVar18 + 0xc);\n  iVar16 = *(int *)(puVar18 + 4);\n  if (((pbVar15[(uint)bVar7 * 2] & 4) != 0) && (param_2[2] == 0x24)) {\n    bVar7 = param_2[3];\n    iVar16 = *(int *)(puVar18 + 8);\n    pbVar22 = param_2 + 3;\n    *(int *)(puVar18 + 8) = (int)(char)bVar7;\n    iVar16 = iVar16 + -0x31;\n  }\n  param_2 = pbVar22 + 1;\n  switch(bVar7) {\n  case 0:\n    param_2 = pbVar22;\n  case 0x25:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = 0x25;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034207;\n    putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = *param_2;\n    goto joined_r0x000340a6;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    iVar16 = iVar16 * 0x10;\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pbVar15 = *(byte **)(puVar18 + iVar16 + 0xa0);\n    *(undefined4 *)(puVar18 + 0x1c) = *(undefined4 *)(puVar18 + iVar16 + 0xa4);\n    uVar12 = *(undefined4 *)(puVar18 + iVar16 + 0xac);\n    *(undefined4 *)(puVar18 + 0x20) = *(undefined4 *)(puVar18 + iVar16 + 0xa8);\n    *(undefined4 *)(puVar18 + 0x24) = uVar12;\n    if (pbVar15 == (byte *)0x0) {\ncode_r0x00034747:\n      *(byte **)(puVar18 + -8) = pbVar15;\n      *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003475e;\n      FUN_00034e30();\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x24) = &UNK_0003477e;\n      FUN_00034e30();\n    }\n    else {\n      *(byte **)(puVar18 + -0x10) = pbVar15;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034331;\n      iVar16 = bfd_generic_link_read_symbols();\n      if (iVar16 == 0) {\n        *(undefined4 *)(puVar18 + -8) = 5;\n        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar18 + -0x10) = 0;\n        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;\n        uVar12 = dcgettext();\n        *(byte **)(puVar18 + -0xc) = pbVar15;\n        *(undefined4 *)(puVar18 + -0x10) = uVar12;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;\n        FUN_00034d20();\n      }\n      iVar16 = *(int *)(pbVar15 + 4);\n      *(undefined4 *)(puVar18 + -0x10) = 0;\n      *(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c;\n      *(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38;\n      *(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78);\n      *(byte **)(puVar18 + -0x30) = pbVar15;\n      pcVar5 = *(code **)(iVar16 + 0x128);\n      *(undefined **)(puVar18 + -0x34) = &UNK_00034369;\n      iVar16 = (*pcVar5)();\n      if (iVar16 == 0) goto code_r0x00034747;\n      iVar16 = *(int *)(puVar18 + 0x38);\n      *(int *)(puVar18 + 8) = iVar16;\n      if ((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))) {\n        *(byte **)(puVar18 + -8) = pbVar15;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;\n        FUN_00034e30();\n        *(undefined4 *)(puVar18 + 0x18) = 1;\ncode_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }\n        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x38);\n        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;\n        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;\n        if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }\n        *(char **)(puVar18 + -4) = "";\n        *(int *)(puVar18 + -8) = iVar16;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      }\n      else {\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }\n      if (*(int *)(puVar18 + 0x18) == 0) goto code_r0x0003443a;\n    }\n    pbRam001d0878 = (byte *)0x0;\n    if (iRam001d0870 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0870;\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003479e;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0870 = 0;\n    }\n    if (iRam001d0874 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0874;\n      *(undefined **)(puVar18 + -0x14) = &UNK_000347c2;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0874 = 0;\n    }\ncode_r0x0003443a:\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x45:\n    *(undefined **)(puVar18 + -4) = &UNK_0003444a;\n    uVar12 = bfd_get_error();\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034453;\n    uVar12 = func_0x00016b10();\n    pbVar15 = *(byte **)(puVar18 + -0xc);\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034462;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x46:\n    bVar7 = pbVar22[1];\n    *(undefined4 *)(puVar18 + 0x10) = 1;\n    goto joined_r0x000340a6;\n  case 0x50:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = DAT_001d1558;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034695;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x56:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pcVar20 = "%016llx";\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    break;\n  case 0x57:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345d0;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345f5;\n    sVar11 = strlen(*(char **)(puVar18 + -0x10));\n    if (sVar11 < 8) {\n      *(byte **)(puVar18 + 8) = pbVar22;\n      uVar12 = *(undefined4 *)(puVar18 + 0x150);\n      *(byte **)(puVar18 + 0x18) = param_2;\n      do {\n        sVar11 = sVar11 + 1;\n        *(undefined4 *)(puVar18 + -0xc) = uVar12;\n        *(undefined4 *)(puVar18 + -0x10) = 0x20;\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003461c;\n        putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      } while (sVar11 != 8);\n      pbVar22 = *(byte **)(puVar18 + 8);\n      param_2 = *(byte **)(puVar18 + 0x18);\n    }\n    pcVar20 = "0x%s";\n    *(byte **)(puVar18 + -8) = pbVar15;\n    break;\n  case 0x58:\n    DAT_001d14e4 = 0;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 100:\n    puVar10 = &DAT_0006c013;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    goto code_r0x000344af;\n  case 0x6c:\n    if (pbVar22[1] == 100) {\n      puVar10 = &UNK_0007d7c3;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000342cd:\n      *(undefined **)(puVar18 + -0xc) = puVar10;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_000342dd;\n      fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n      bVar7 = pbVar22[2];\n      param_2 = pbVar22 + 2;\n      goto joined_r0x000340a6;\n    }\n    if (pbVar22[1] == 0x75) {\n      puVar10 = &UNK_0007d7c7;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n      goto code_r0x000342cd;\n    }\n  default:\nLAB_0003421d:\n    pcVar20 = "%%%c";\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + 8);\n    break;\n  case 0x70:\n    bVar7 = pbVar22[1];\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    if (bVar7 == 0x41) {\n      pbVar21 = pbVar22 + 2;\n      puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n      pbVar15 = (byte *)puVar13[0x2b];\n      *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined4 *)(puVar18 + -0x10) = *puVar13;\n      *(undefined4 **)(puVar18 + 8) = puVar13;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034a7f;\n      fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      iVar16 = *(int *)(puVar18 + 8);\n      if (pbVar15 != (byte *)0x0) {\n        if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }\n        if (iVar16 != 0) {\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }\n    }\n    else {\n      if (bVar7 == 0x42) {\n        pbVar21 = pbVar22 + 2;\n        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;\n        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);\n        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));\n        bVar7 = pbVar22[2];\n        puVar18 = puVar19 + 8;\n        param_2 = pbVar21;\n        goto joined_r0x000340a6;\n      }\n      if (bVar7 == 0x49) {\n        pbVar21 = pbVar22 + 2;\n        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);\n        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }\n    }\nLAB_000349da:\n    bVar7 = pbVar22[2];\n    param_2 = pbVar21;\n    goto joined_r0x000340a6;\n  case 0x73:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034489;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x75:\n    puVar10 = &UNK_0007d7b3;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000344af:\n    *(undefined **)(puVar18 + -0xc) = puVar10;\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined **)(puVar18 + -0x14) = &UNK_000344bc;\n    fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x76:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_0003426c;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034298;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  }\n  *(char **)(puVar18 + -0xc) = pcVar20;\n  *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n  *(undefined4 *)(puVar18 + -0x14) = 0x34237;\n  fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n  bVar7 = pbVar22[1];\n  goto joined_r0x000340a6;\n}\n\n" comment (function_definition "void FUN_00033f20(undefined4 param_1,byte *param_2,byte *param_3)\n\n{\n  byte bVar1;\n  char cVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  code *pcVar5;\n  int *piVar6;\n  byte bVar7;\n  undefined4 *puVar8;\n  uint uVar9;\n  undefined *puVar10;\n  size_t sVar11;\n  undefined4 uVar12;\n  undefined4 *puVar13;\n  int iVar14;\n  byte *pbVar15;\n  int iVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  undefined1 *puVar19;\n  char *pcVar20;\n  byte *pbVar21;\n  byte *pbVar22;\n  undefined8 uVar23;\n  undefined1 auStack_14c [4];\n  undefined4 *local_148;\n  byte *local_144;\n  undefined *local_140;\n  undefined4 local_13c;\n  undefined4 *local_138;\n  int local_134;\n  undefined4 local_ac [36];\n  undefined4 local_1c [2];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x33f29;\n  puVar18 = auStack_14c;\n  puVar13 = local_ac;\n  puVar8 = puVar13;\n  do {\n    *puVar8 = 0;\n    puVar8 = puVar8 + 4;\n  } while (local_1c != puVar8);\n  bVar7 = *param_2;\n  local_148 = (undefined4 *)0x0;\n  local_13c = CONCAT31(local_13c._1_3_,bVar7);\n  local_138 = (undefined4 *)PTR__sch_istable_001cefa0;\n  uVar9 = (uint)bVar7;\n  pbVar15 = param_2;\nLAB_00033f90:\n  if ((char)uVar9 != '\0') {\n    if ((char)uVar9 != '%') goto LAB_00033fb0;\n    goto LAB_00033fd0;\n  }\n  uVar9 = 0;\n  pbVar15 = param_3;\n  if (local_148 != (undefined4 *)0x0) {\n    do {\n      switch(*puVar13) {\n      default:\n                    /* WARNING: Subroutine does not return */\n        FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar15 = param_3 + 4;\n        *puVar13 = *(undefined4 *)param_3;\n        break;\n      case 4:\n        uVar12 = *(undefined4 *)(param_3 + 4);\n        pbVar15 = param_3 + 8;\n        *puVar13 = *(undefined4 *)param_3;\n        puVar13[1] = uVar12;\n        break;\n      case 5:\n        uVar12 = *(undefined4 *)(param_3 + 8);\n        pbVar15 = param_3 + 0x10;\n        uVar3 = *(undefined4 *)(param_3 + 0xc);\n        *puVar13 = *(undefined4 *)param_3;\n        uVar4 = *(undefined4 *)(param_3 + 4);\n        puVar13[2] = uVar12;\n        puVar13[1] = uVar4;\n        puVar13[3] = uVar3;\n      }\n      uVar9 = uVar9 + 1;\n      puVar13 = puVar13 + 4;\n      param_3 = pbVar15;\n    } while (local_148 != (undefined4 *)uVar9);\n  }\n  local_148 = (undefined4 *)0x0;\n  local_13c = 0;\n  local_140 = PTR__sch_istable_001cefa0;\n  local_138 = &DAT_001d13c4;\njoined_r0x000340a6:\n  if (bVar7 != 0) {\n    pbVar21 = param_2;\n    pbVar15 = param_2;\n    if (bVar7 != 0x25) goto LAB_000340c2;\n    goto LAB_00034170;\n  }\n  pbVar21 = *(byte **)(puVar18 + 0x15c);\n  if ((pbVar21 != (byte *)0x0) && (DAT_001d1508 != 0)) {\n    DAT_001d14e4 = 0;\n  }\n  if (*(int *)(puVar18 + 0x10) == 0) {\n    return;\n  }\n  *(undefined4 *)(puVar18 + -0x10) = 1;\n  *(undefined4 *)(puVar18 + -0x14) = 0x34be1;\n  puVar13 = (undefined4 *)xexit();\n  puVar18 = puVar18 + -0x10;\n  pbVar22 = param_2;\n  goto code_r0x00034be8;\nLAB_00033fb0:\n  do {\n    pbVar15 = pbVar15 + 1;\n    bVar1 = *pbVar15;\n    uVar9 = (uint)bVar1;\n    if (bVar1 == 0x25) break;\n  } while (bVar1 != 0);\n  if (bVar1 != 0x25) goto LAB_00033f90;\nLAB_00033fd0:\n  local_144 = pbVar15 + 1;\n  bVar1 = pbVar15[1];\n  uVar9 = (uint)bVar1;\n  if (bVar1 == 0x30) {\n    pbVar15 = pbVar15 + 2;\nLAB_000347d7:\n    uVar9 = (uint)local_144[1];\n    goto LAB_00033f90;\n  }\n  local_134 = (int)(char)bVar1;\n  local_140 = (undefined *)local_148;\n  if (((PTR__sch_istable_001cefa0[uVar9 * 2] & 4) != 0) && (pbVar15[2] == 0x24)) {\n    local_140 = (undefined *)((int)(char)bVar1 - 0x31);\n    local_144 = pbVar15 + 3;\n    uVar9 = (uint)pbVar15[3];\n  }\n  pbVar21 = local_144;\n  pbVar15 = local_144 + 1;\n  switch(uVar9) {\n  case 0:\n    pbVar15 = local_144;\n    goto LAB_00033f90;\n  default:\n    goto LAB_000347d7;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    local_144 = (byte *)0x5;\n    break;\n  case 0x56:\n  case 0x57:\n  case 0x76:\n    local_144 = (byte *)0x4;\n    break;\n  case 100:\n  case 0x75:\n    local_144 = (byte *)0x1;\n    break;\n  case 0x6c:\n    bVar1 = local_144[1];\n    uVar9 = (uint)bVar1;\n    if ((bVar1 != 100) && (bVar1 != 0x75)) goto LAB_00033f90;\n    local_144 = (byte *)0x2;\n    pbVar15 = pbVar21 + 2;\n    break;\n  case 0x70:\n    local_144 = (byte *)0x3;\n    uVar9 = pbVar21[1] - 0x41;\n    if (((byte)uVar9 < 0x14) && ((0xe0103U >> (uVar9 & 0x1f) & 1) != 0)) {\n      pbVar15 = pbVar21 + 2;\n    }\n    break;\n  case 0x73:\n    local_144 = (byte *)0x3;\n  }\n  if (8 < local_140) {\n    local_148 = puVar13;\n                    /* WARNING: Subroutine does not return */\n    FUN_00033e90("../../ld/ldmisc.c",0xa9,"vfinfo",uVar9);\n  }\n  local_148 = (undefined4 *)((int)local_148 + 1);\n  local_ac[(int)local_140 * 4] = local_144;\n  uVar9 = (uint)*pbVar15;\n  goto LAB_00033f90;\nLAB_000340c2:\n  do {\n    pbVar15 = pbVar21;\n    bVar7 = pbVar15[1];\n    pbVar21 = pbVar15 + 1;\n    if (bVar7 == 0x25) break;\n  } while (bVar7 != 0);\n  if (param_2 != pbVar21) {\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + 0x150);\n    *(int *)(puVar18 + -8) = (int)pbVar21 - (int)param_2;\n    *(undefined4 *)(puVar18 + -0xc) = 1;\n    *(byte **)(puVar18 + -0x10) = param_2;\n    *(undefined4 *)(puVar18 + -0x14) = 0x340e9;\n    fwrite(*(void **)(puVar18 + -0x10),*(size_t *)(puVar18 + -0xc),*(size_t *)(puVar18 + -8),\n           *(FILE **)(puVar18 + -4));\n    bVar7 = pbVar15[1];\n  }\n  param_2 = pbVar21;\n  if (bVar7 != 0x25) goto joined_r0x000340a6;\nLAB_00034170:\n  bVar7 = param_2[1];\n  pbVar22 = param_2 + 1;\n  *(int *)(puVar18 + 8) = (int)(char)bVar7;\n  if (bVar7 == 0x30) {\n    *(undefined4 *)(puVar18 + 8) = 0x30;\n    param_2 = param_2 + 2;\n    goto LAB_0003421d;\n  }\n  pbVar15 = *(byte **)(puVar18 + 0xc);\n  iVar16 = *(int *)(puVar18 + 4);\n  if (((pbVar15[(uint)bVar7 * 2] & 4) != 0) && (param_2[2] == 0x24)) {\n    bVar7 = param_2[3];\n    iVar16 = *(int *)(puVar18 + 8);\n    pbVar22 = param_2 + 3;\n    *(int *)(puVar18 + 8) = (int)(char)bVar7;\n    iVar16 = iVar16 + -0x31;\n  }\n  param_2 = pbVar22 + 1;\n  switch(bVar7) {\n  case 0:\n    param_2 = pbVar22;\n  case 0x25:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = 0x25;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034207;\n    putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = *param_2;\n    goto joined_r0x000340a6;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    iVar16 = iVar16 * 0x10;\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pbVar15 = *(byte **)(puVar18 + iVar16 + 0xa0);\n    *(undefined4 *)(puVar18 + 0x1c) = *(undefined4 *)(puVar18 + iVar16 + 0xa4);\n    uVar12 = *(undefined4 *)(puVar18 + iVar16 + 0xac);\n    *(undefined4 *)(puVar18 + 0x20) = *(undefined4 *)(puVar18 + iVar16 + 0xa8);\n    *(undefined4 *)(puVar18 + 0x24) = uVar12;\n    if (pbVar15 == (byte *)0x0) {\ncode_r0x00034747:\n      *(byte **)(puVar18 + -8) = pbVar15;\n      *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003475e;\n      FUN_00034e30();\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x24) = &UNK_0003477e;\n      FUN_00034e30();\n    }\n    else {\n      *(byte **)(puVar18 + -0x10) = pbVar15;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034331;\n      iVar16 = bfd_generic_link_read_symbols();\n      if (iVar16 == 0) {\n        *(undefined4 *)(puVar18 + -8) = 5;\n        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar18 + -0x10) = 0;\n        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;\n        uVar12 = dcgettext();\n        *(byte **)(puVar18 + -0xc) = pbVar15;\n        *(undefined4 *)(puVar18 + -0x10) = uVar12;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;\n        FUN_00034d20();\n      }\n      iVar16 = *(int *)(pbVar15 + 4);\n      *(undefined4 *)(puVar18 + -0x10) = 0;\n      *(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c;\n      *(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38;\n      *(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78);\n      *(byte **)(puVar18 + -0x30) = pbVar15;\n      pcVar5 = *(code **)(iVar16 + 0x128);\n      *(undefined **)(puVar18 + -0x34) = &UNK_00034369;\n      iVar16 = (*pcVar5)();\n      if (iVar16 == 0) goto code_r0x00034747;\n      iVar16 = *(int *)(puVar18 + 0x38);\n      *(int *)(puVar18 + 8) = iVar16;\n      if ((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))) {\n        *(byte **)(puVar18 + -8) = pbVar15;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;\n        FUN_00034e30();\n        *(undefined4 *)(puVar18 + 0x18) = 1;\ncode_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }\n        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x38);\n        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;\n        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;\n        if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }\n        *(char **)(puVar18 + -4) = "";\n        *(int *)(puVar18 + -8) = iVar16;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      }\n      else {\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }\n      if (*(int *)(puVar18 + 0x18) == 0) goto code_r0x0003443a;\n    }\n    pbRam001d0878 = (byte *)0x0;\n    if (iRam001d0870 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0870;\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003479e;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0870 = 0;\n    }\n    if (iRam001d0874 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0874;\n      *(undefined **)(puVar18 + -0x14) = &UNK_000347c2;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0874 = 0;\n    }\ncode_r0x0003443a:\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x45:\n    *(undefined **)(puVar18 + -4) = &UNK_0003444a;\n    uVar12 = bfd_get_error();\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034453;\n    uVar12 = func_0x00016b10();\n    pbVar15 = *(byte **)(puVar18 + -0xc);\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034462;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x46:\n    bVar7 = pbVar22[1];\n    *(undefined4 *)(puVar18 + 0x10) = 1;\n    goto joined_r0x000340a6;\n  case 0x50:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = DAT_001d1558;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034695;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x56:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pcVar20 = "%016llx";\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    break;\n  case 0x57:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345d0;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345f5;\n    sVar11 = strlen(*(char **)(puVar18 + -0x10));\n    if (sVar11 < 8) {\n      *(byte **)(puVar18 + 8) = pbVar22;\n      uVar12 = *(undefined4 *)(puVar18 + 0x150);\n      *(byte **)(puVar18 + 0x18) = param_2;\n      do {\n        sVar11 = sVar11 + 1;\n        *(undefined4 *)(puVar18 + -0xc) = uVar12;\n        *(undefined4 *)(puVar18 + -0x10) = 0x20;\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003461c;\n        putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      } while (sVar11 != 8);\n      pbVar22 = *(byte **)(puVar18 + 8);\n      param_2 = *(byte **)(puVar18 + 0x18);\n    }\n    pcVar20 = "0x%s";\n    *(byte **)(puVar18 + -8) = pbVar15;\n    break;\n  case 0x58:\n    DAT_001d14e4 = 0;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 100:\n    puVar10 = &DAT_0006c013;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    goto code_r0x000344af;\n  case 0x6c:\n    if (pbVar22[1] == 100) {\n      puVar10 = &UNK_0007d7c3;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000342cd:\n      *(undefined **)(puVar18 + -0xc) = puVar10;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_000342dd;\n      fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n      bVar7 = pbVar22[2];\n      param_2 = pbVar22 + 2;\n      goto joined_r0x000340a6;\n    }\n    if (pbVar22[1] == 0x75) {\n      puVar10 = &UNK_0007d7c7;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n      goto code_r0x000342cd;\n    }\n  default:\nLAB_0003421d:\n    pcVar20 = "%%%c";\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + 8);\n    break;\n  case 0x70:\n    bVar7 = pbVar22[1];\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    if (bVar7 == 0x41) {\n      pbVar21 = pbVar22 + 2;\n      puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n      pbVar15 = (byte *)puVar13[0x2b];\n      *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined4 *)(puVar18 + -0x10) = *puVar13;\n      *(undefined4 **)(puVar18 + 8) = puVar13;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034a7f;\n      fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      iVar16 = *(int *)(puVar18 + 8);\n      if (pbVar15 != (byte *)0x0) {\n        if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }\n        if (iVar16 != 0) {\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }\n    }\n    else {\n      if (bVar7 == 0x42) {\n        pbVar21 = pbVar22 + 2;\n        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;\n        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);\n        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));\n        bVar7 = pbVar22[2];\n        puVar18 = puVar19 + 8;\n        param_2 = pbVar21;\n        goto joined_r0x000340a6;\n      }\n      if (bVar7 == 0x49) {\n        pbVar21 = pbVar22 + 2;\n        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);\n        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }\n    }\nLAB_000349da:\n    bVar7 = pbVar22[2];\n    param_2 = pbVar21;\n    goto joined_r0x000340a6;\n  case 0x73:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034489;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x75:\n    puVar10 = &UNK_0007d7b3;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000344af:\n    *(undefined **)(puVar18 + -0xc) = puVar10;\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined **)(puVar18 + -0x14) = &UNK_000344bc;\n    fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x76:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_0003426c;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034298;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  }\n  *(char **)(puVar18 + -0xc) = pcVar20;\n  *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n  *(undefined4 *)(puVar18 + -0x14) = 0x34237;\n  fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n  bVar7 = pbVar22[1];\n  goto joined_r0x000340a6;\n}" primitive_type (function_declarator "FUN_00033f20(undefined4 param_1,byte *param_2,byte *param_3)" identifier (parameter_list "(undefined4 param_1,byte *param_2,byte *param_3)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "byte *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "byte *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  char cVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  code *pcVar5;\n  int *piVar6;\n  byte bVar7;\n  undefined4 *puVar8;\n  uint uVar9;\n  undefined *puVar10;\n  size_t sVar11;\n  undefined4 uVar12;\n  undefined4 *puVar13;\n  int iVar14;\n  byte *pbVar15;\n  int iVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  undefined1 *puVar19;\n  char *pcVar20;\n  byte *pbVar21;\n  byte *pbVar22;\n  undefined8 uVar23;\n  undefined1 auStack_14c [4];\n  undefined4 *local_148;\n  byte *local_144;\n  undefined *local_140;\n  undefined4 local_13c;\n  undefined4 *local_138;\n  int local_134;\n  undefined4 local_ac [36];\n  undefined4 local_1c [2];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x33f29;\n  puVar18 = auStack_14c;\n  puVar13 = local_ac;\n  puVar8 = puVar13;\n  do {\n    *puVar8 = 0;\n    puVar8 = puVar8 + 4;\n  } while (local_1c != puVar8);\n  bVar7 = *param_2;\n  local_148 = (undefined4 *)0x0;\n  local_13c = CONCAT31(local_13c._1_3_,bVar7);\n  local_138 = (undefined4 *)PTR__sch_istable_001cefa0;\n  uVar9 = (uint)bVar7;\n  pbVar15 = param_2;\nLAB_00033f90:\n  if ((char)uVar9 != '\0') {\n    if ((char)uVar9 != '%') goto LAB_00033fb0;\n    goto LAB_00033fd0;\n  }\n  uVar9 = 0;\n  pbVar15 = param_3;\n  if (local_148 != (undefined4 *)0x0) {\n    do {\n      switch(*puVar13) {\n      default:\n                    /* WARNING: Subroutine does not return */\n        FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar15 = param_3 + 4;\n        *puVar13 = *(undefined4 *)param_3;\n        break;\n      case 4:\n        uVar12 = *(undefined4 *)(param_3 + 4);\n        pbVar15 = param_3 + 8;\n        *puVar13 = *(undefined4 *)param_3;\n        puVar13[1] = uVar12;\n        break;\n      case 5:\n        uVar12 = *(undefined4 *)(param_3 + 8);\n        pbVar15 = param_3 + 0x10;\n        uVar3 = *(undefined4 *)(param_3 + 0xc);\n        *puVar13 = *(undefined4 *)param_3;\n        uVar4 = *(undefined4 *)(param_3 + 4);\n        puVar13[2] = uVar12;\n        puVar13[1] = uVar4;\n        puVar13[3] = uVar3;\n      }\n      uVar9 = uVar9 + 1;\n      puVar13 = puVar13 + 4;\n      param_3 = pbVar15;\n    } while (local_148 != (undefined4 *)uVar9);\n  }\n  local_148 = (undefined4 *)0x0;\n  local_13c = 0;\n  local_140 = PTR__sch_istable_001cefa0;\n  local_138 = &DAT_001d13c4;\njoined_r0x000340a6:\n  if (bVar7 != 0) {\n    pbVar21 = param_2;\n    pbVar15 = param_2;\n    if (bVar7 != 0x25) goto LAB_000340c2;\n    goto LAB_00034170;\n  }\n  pbVar21 = *(byte **)(puVar18 + 0x15c);\n  if ((pbVar21 != (byte *)0x0) && (DAT_001d1508 != 0)) {\n    DAT_001d14e4 = 0;\n  }\n  if (*(int *)(puVar18 + 0x10) == 0) {\n    return;\n  }\n  *(undefined4 *)(puVar18 + -0x10) = 1;\n  *(undefined4 *)(puVar18 + -0x14) = 0x34be1;\n  puVar13 = (undefined4 *)xexit();\n  puVar18 = puVar18 + -0x10;\n  pbVar22 = param_2;\n  goto code_r0x00034be8;\nLAB_00033fb0:\n  do {\n    pbVar15 = pbVar15 + 1;\n    bVar1 = *pbVar15;\n    uVar9 = (uint)bVar1;\n    if (bVar1 == 0x25) break;\n  } while (bVar1 != 0);\n  if (bVar1 != 0x25) goto LAB_00033f90;\nLAB_00033fd0:\n  local_144 = pbVar15 + 1;\n  bVar1 = pbVar15[1];\n  uVar9 = (uint)bVar1;\n  if (bVar1 == 0x30) {\n    pbVar15 = pbVar15 + 2;\nLAB_000347d7:\n    uVar9 = (uint)local_144[1];\n    goto LAB_00033f90;\n  }\n  local_134 = (int)(char)bVar1;\n  local_140 = (undefined *)local_148;\n  if (((PTR__sch_istable_001cefa0[uVar9 * 2] & 4) != 0) && (pbVar15[2] == 0x24)) {\n    local_140 = (undefined *)((int)(char)bVar1 - 0x31);\n    local_144 = pbVar15 + 3;\n    uVar9 = (uint)pbVar15[3];\n  }\n  pbVar21 = local_144;\n  pbVar15 = local_144 + 1;\n  switch(uVar9) {\n  case 0:\n    pbVar15 = local_144;\n    goto LAB_00033f90;\n  default:\n    goto LAB_000347d7;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    local_144 = (byte *)0x5;\n    break;\n  case 0x56:\n  case 0x57:\n  case 0x76:\n    local_144 = (byte *)0x4;\n    break;\n  case 100:\n  case 0x75:\n    local_144 = (byte *)0x1;\n    break;\n  case 0x6c:\n    bVar1 = local_144[1];\n    uVar9 = (uint)bVar1;\n    if ((bVar1 != 100) && (bVar1 != 0x75)) goto LAB_00033f90;\n    local_144 = (byte *)0x2;\n    pbVar15 = pbVar21 + 2;\n    break;\n  case 0x70:\n    local_144 = (byte *)0x3;\n    uVar9 = pbVar21[1] - 0x41;\n    if (((byte)uVar9 < 0x14) && ((0xe0103U >> (uVar9 & 0x1f) & 1) != 0)) {\n      pbVar15 = pbVar21 + 2;\n    }\n    break;\n  case 0x73:\n    local_144 = (byte *)0x3;\n  }\n  if (8 < local_140) {\n    local_148 = puVar13;\n                    /* WARNING: Subroutine does not return */\n    FUN_00033e90("../../ld/ldmisc.c",0xa9,"vfinfo",uVar9);\n  }\n  local_148 = (undefined4 *)((int)local_148 + 1);\n  local_ac[(int)local_140 * 4] = local_144;\n  uVar9 = (uint)*pbVar15;\n  goto LAB_00033f90;\nLAB_000340c2:\n  do {\n    pbVar15 = pbVar21;\n    bVar7 = pbVar15[1];\n    pbVar21 = pbVar15 + 1;\n    if (bVar7 == 0x25) break;\n  } while (bVar7 != 0);\n  if (param_2 != pbVar21) {\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + 0x150);\n    *(int *)(puVar18 + -8) = (int)pbVar21 - (int)param_2;\n    *(undefined4 *)(puVar18 + -0xc) = 1;\n    *(byte **)(puVar18 + -0x10) = param_2;\n    *(undefined4 *)(puVar18 + -0x14) = 0x340e9;\n    fwrite(*(void **)(puVar18 + -0x10),*(size_t *)(puVar18 + -0xc),*(size_t *)(puVar18 + -8),\n           *(FILE **)(puVar18 + -4));\n    bVar7 = pbVar15[1];\n  }\n  param_2 = pbVar21;\n  if (bVar7 != 0x25) goto joined_r0x000340a6;\nLAB_00034170:\n  bVar7 = param_2[1];\n  pbVar22 = param_2 + 1;\n  *(int *)(puVar18 + 8) = (int)(char)bVar7;\n  if (bVar7 == 0x30) {\n    *(undefined4 *)(puVar18 + 8) = 0x30;\n    param_2 = param_2 + 2;\n    goto LAB_0003421d;\n  }\n  pbVar15 = *(byte **)(puVar18 + 0xc);\n  iVar16 = *(int *)(puVar18 + 4);\n  if (((pbVar15[(uint)bVar7 * 2] & 4) != 0) && (param_2[2] == 0x24)) {\n    bVar7 = param_2[3];\n    iVar16 = *(int *)(puVar18 + 8);\n    pbVar22 = param_2 + 3;\n    *(int *)(puVar18 + 8) = (int)(char)bVar7;\n    iVar16 = iVar16 + -0x31;\n  }\n  param_2 = pbVar22 + 1;\n  switch(bVar7) {\n  case 0:\n    param_2 = pbVar22;\n  case 0x25:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = 0x25;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034207;\n    putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = *param_2;\n    goto joined_r0x000340a6;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    iVar16 = iVar16 * 0x10;\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pbVar15 = *(byte **)(puVar18 + iVar16 + 0xa0);\n    *(undefined4 *)(puVar18 + 0x1c) = *(undefined4 *)(puVar18 + iVar16 + 0xa4);\n    uVar12 = *(undefined4 *)(puVar18 + iVar16 + 0xac);\n    *(undefined4 *)(puVar18 + 0x20) = *(undefined4 *)(puVar18 + iVar16 + 0xa8);\n    *(undefined4 *)(puVar18 + 0x24) = uVar12;\n    if (pbVar15 == (byte *)0x0) {\ncode_r0x00034747:\n      *(byte **)(puVar18 + -8) = pbVar15;\n      *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003475e;\n      FUN_00034e30();\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x24) = &UNK_0003477e;\n      FUN_00034e30();\n    }\n    else {\n      *(byte **)(puVar18 + -0x10) = pbVar15;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034331;\n      iVar16 = bfd_generic_link_read_symbols();\n      if (iVar16 == 0) {\n        *(undefined4 *)(puVar18 + -8) = 5;\n        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar18 + -0x10) = 0;\n        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;\n        uVar12 = dcgettext();\n        *(byte **)(puVar18 + -0xc) = pbVar15;\n        *(undefined4 *)(puVar18 + -0x10) = uVar12;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;\n        FUN_00034d20();\n      }\n      iVar16 = *(int *)(pbVar15 + 4);\n      *(undefined4 *)(puVar18 + -0x10) = 0;\n      *(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c;\n      *(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38;\n      *(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78);\n      *(byte **)(puVar18 + -0x30) = pbVar15;\n      pcVar5 = *(code **)(iVar16 + 0x128);\n      *(undefined **)(puVar18 + -0x34) = &UNK_00034369;\n      iVar16 = (*pcVar5)();\n      if (iVar16 == 0) goto code_r0x00034747;\n      iVar16 = *(int *)(puVar18 + 0x38);\n      *(int *)(puVar18 + 8) = iVar16;\n      if ((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))) {\n        *(byte **)(puVar18 + -8) = pbVar15;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;\n        FUN_00034e30();\n        *(undefined4 *)(puVar18 + 0x18) = 1;\ncode_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }\n        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x38);\n        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;\n        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;\n        if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }\n        *(char **)(puVar18 + -4) = "";\n        *(int *)(puVar18 + -8) = iVar16;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      }\n      else {\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }\n      if (*(int *)(puVar18 + 0x18) == 0) goto code_r0x0003443a;\n    }\n    pbRam001d0878 = (byte *)0x0;\n    if (iRam001d0870 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0870;\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003479e;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0870 = 0;\n    }\n    if (iRam001d0874 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0874;\n      *(undefined **)(puVar18 + -0x14) = &UNK_000347c2;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0874 = 0;\n    }\ncode_r0x0003443a:\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x45:\n    *(undefined **)(puVar18 + -4) = &UNK_0003444a;\n    uVar12 = bfd_get_error();\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034453;\n    uVar12 = func_0x00016b10();\n    pbVar15 = *(byte **)(puVar18 + -0xc);\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034462;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x46:\n    bVar7 = pbVar22[1];\n    *(undefined4 *)(puVar18 + 0x10) = 1;\n    goto joined_r0x000340a6;\n  case 0x50:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = DAT_001d1558;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034695;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x56:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pcVar20 = "%016llx";\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    break;\n  case 0x57:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345d0;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345f5;\n    sVar11 = strlen(*(char **)(puVar18 + -0x10));\n    if (sVar11 < 8) {\n      *(byte **)(puVar18 + 8) = pbVar22;\n      uVar12 = *(undefined4 *)(puVar18 + 0x150);\n      *(byte **)(puVar18 + 0x18) = param_2;\n      do {\n        sVar11 = sVar11 + 1;\n        *(undefined4 *)(puVar18 + -0xc) = uVar12;\n        *(undefined4 *)(puVar18 + -0x10) = 0x20;\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003461c;\n        putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      } while (sVar11 != 8);\n      pbVar22 = *(byte **)(puVar18 + 8);\n      param_2 = *(byte **)(puVar18 + 0x18);\n    }\n    pcVar20 = "0x%s";\n    *(byte **)(puVar18 + -8) = pbVar15;\n    break;\n  case 0x58:\n    DAT_001d14e4 = 0;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 100:\n    puVar10 = &DAT_0006c013;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    goto code_r0x000344af;\n  case 0x6c:\n    if (pbVar22[1] == 100) {\n      puVar10 = &UNK_0007d7c3;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000342cd:\n      *(undefined **)(puVar18 + -0xc) = puVar10;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_000342dd;\n      fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n      bVar7 = pbVar22[2];\n      param_2 = pbVar22 + 2;\n      goto joined_r0x000340a6;\n    }\n    if (pbVar22[1] == 0x75) {\n      puVar10 = &UNK_0007d7c7;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n      goto code_r0x000342cd;\n    }\n  default:\nLAB_0003421d:\n    pcVar20 = "%%%c";\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + 8);\n    break;\n  case 0x70:\n    bVar7 = pbVar22[1];\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    if (bVar7 == 0x41) {\n      pbVar21 = pbVar22 + 2;\n      puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n      pbVar15 = (byte *)puVar13[0x2b];\n      *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined4 *)(puVar18 + -0x10) = *puVar13;\n      *(undefined4 **)(puVar18 + 8) = puVar13;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034a7f;\n      fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      iVar16 = *(int *)(puVar18 + 8);\n      if (pbVar15 != (byte *)0x0) {\n        if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }\n        if (iVar16 != 0) {\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }\n    }\n    else {\n      if (bVar7 == 0x42) {\n        pbVar21 = pbVar22 + 2;\n        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;\n        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);\n        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));\n        bVar7 = pbVar22[2];\n        puVar18 = puVar19 + 8;\n        param_2 = pbVar21;\n        goto joined_r0x000340a6;\n      }\n      if (bVar7 == 0x49) {\n        pbVar21 = pbVar22 + 2;\n        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);\n        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }\n    }\nLAB_000349da:\n    bVar7 = pbVar22[2];\n    param_2 = pbVar21;\n    goto joined_r0x000340a6;\n  case 0x73:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034489;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x75:\n    puVar10 = &UNK_0007d7b3;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000344af:\n    *(undefined **)(puVar18 + -0xc) = puVar10;\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined **)(puVar18 + -0x14) = &UNK_000344bc;\n    fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x76:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_0003426c;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034298;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  }\n  *(char **)(puVar18 + -0xc) = pcVar20;\n  *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n  *(undefined4 *)(puVar18 + -0x14) = 0x34237;\n  fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n  bVar7 = pbVar22[1];\n  goto joined_r0x000340a6;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "code *pcVar5;" type_identifier (pointer_declarator "*pcVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "byte bVar7;" type_identifier identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "size_t sVar11;" primitive_type identifier ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "undefined4 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "byte *pbVar15;" type_identifier (pointer_declarator "*pbVar15" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "undefined1 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "undefined1 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "undefined1 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "char *pcVar20;" primitive_type (pointer_declarator "*pcVar20" * identifier) ;) (declaration "byte *pbVar21;" type_identifier (pointer_declarator "*pbVar21" * identifier) ;) (declaration "byte *pbVar22;" type_identifier (pointer_declarator "*pbVar22" * identifier) ;) (declaration "undefined8 uVar23;" type_identifier identifier ;) (declaration "undefined1 auStack_14c [4];" type_identifier (array_declarator "auStack_14c [4]" identifier [ number_literal ]) ;) (declaration "undefined4 *local_148;" type_identifier (pointer_declarator "*local_148" * identifier) ;) (declaration "byte *local_144;" type_identifier (pointer_declarator "*local_144" * identifier) ;) (declaration "undefined *local_140;" type_identifier (pointer_declarator "*local_140" * identifier) ;) (declaration "undefined4 local_13c;" type_identifier identifier ;) (declaration "undefined4 *local_138;" type_identifier (pointer_declarator "*local_138" * identifier) ;) (declaration "int local_134;" primitive_type identifier ;) (declaration "undefined4 local_ac [36];" type_identifier (array_declarator "local_ac [36]" identifier [ number_literal ]) ;) (declaration "undefined4 local_1c [2];" type_identifier (array_declarator "local_1c [2]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x33f29;" (assignment_expression "uStack_14 = 0x33f29" identifier = number_literal) ;) (expression_statement "puVar18 = auStack_14c;" (assignment_expression "puVar18 = auStack_14c" identifier = identifier) ;) (expression_statement "puVar13 = local_ac;" (assignment_expression "puVar13 = local_ac" identifier = identifier) ;) (expression_statement "puVar8 = puVar13;" (assignment_expression "puVar8 = puVar13" identifier = identifier) ;) (do_statement "do {\n    *puVar8 = 0;\n    puVar8 = puVar8 + 4;\n  } while (local_1c != puVar8);" do (compound_statement "{\n    *puVar8 = 0;\n    puVar8 = puVar8 + 4;\n  }" { (expression_statement "*puVar8 = 0;" (assignment_expression "*puVar8 = 0" (pointer_expression "*puVar8" * identifier) = number_literal) ;) (expression_statement "puVar8 = puVar8 + 4;" (assignment_expression "puVar8 = puVar8 + 4" identifier = (binary_expression "puVar8 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_1c != puVar8)" ( (binary_expression "local_1c != puVar8" identifier != identifier) )) ;) (expression_statement "bVar7 = *param_2;" (assignment_expression "bVar7 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "local_148 = (undefined4 *)0x0;" (assignment_expression "local_148 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_13c = CONCAT31(local_13c._1_3_,bVar7);" (assignment_expression "local_13c = CONCAT31(local_13c._1_3_,bVar7)" identifier = (call_expression "CONCAT31(local_13c._1_3_,bVar7)" identifier (argument_list "(local_13c._1_3_,bVar7)" ( (field_expression "local_13c._1_3_" identifier . field_identifier) , identifier )))) ;) (expression_statement "local_138 = (undefined4 *)PTR__sch_istable_001cefa0;" (assignment_expression "local_138 = (undefined4 *)PTR__sch_istable_001cefa0" identifier = (cast_expression "(undefined4 *)PTR__sch_istable_001cefa0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar9 = (uint)bVar7;" (assignment_expression "uVar9 = (uint)bVar7" identifier = (cast_expression "(uint)bVar7" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pbVar15 = param_2;" (assignment_expression "pbVar15 = param_2" identifier = identifier) ;) (labeled_statement "LAB_00033f90:\n  if ((char)uVar9 != '\0') {\n    if ((char)uVar9 != '%') goto LAB_00033fb0;\n    goto LAB_00033fd0;\n  }" statement_identifier : (if_statement "if ((char)uVar9 != '\0') {\n    if ((char)uVar9 != '%') goto LAB_00033fb0;\n    goto LAB_00033fd0;\n  }" if (parenthesized_expression "((char)uVar9 != '\0')" ( (binary_expression "(char)uVar9 != '\0'" (cast_expression "(char)uVar9" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if ((char)uVar9 != '%') goto LAB_00033fb0;\n    goto LAB_00033fd0;\n  }" { (if_statement "if ((char)uVar9 != '%') goto LAB_00033fb0;" if (parenthesized_expression "((char)uVar9 != '%')" ( (binary_expression "(char)uVar9 != '%'" (cast_expression "(char)uVar9" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'%'" ' character ')) )) (goto_statement "goto LAB_00033fb0;" goto statement_identifier ;)) (goto_statement "goto LAB_00033fd0;" goto statement_identifier ;) }))) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (expression_statement "pbVar15 = param_3;" (assignment_expression "pbVar15 = param_3" identifier = identifier) ;) (if_statement "if (local_148 != (undefined4 *)0x0) {\n    do {\n      switch(*puVar13) {\n      default:\n                    /* WARNING: Subroutine does not return */\n        FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar15 = param_3 + 4;\n        *puVar13 = *(undefined4 *)param_3;\n        break;\n      case 4:\n        uVar12 = *(undefined4 *)(param_3 + 4);\n        pbVar15 = param_3 + 8;\n        *puVar13 = *(undefined4 *)param_3;\n        puVar13[1] = uVar12;\n        break;\n      case 5:\n        uVar12 = *(undefined4 *)(param_3 + 8);\n        pbVar15 = param_3 + 0x10;\n        uVar3 = *(undefined4 *)(param_3 + 0xc);\n        *puVar13 = *(undefined4 *)param_3;\n        uVar4 = *(undefined4 *)(param_3 + 4);\n        puVar13[2] = uVar12;\n        puVar13[1] = uVar4;\n        puVar13[3] = uVar3;\n      }\n      uVar9 = uVar9 + 1;\n      puVar13 = puVar13 + 4;\n      param_3 = pbVar15;\n    } while (local_148 != (undefined4 *)uVar9);\n  }" if (parenthesized_expression "(local_148 != (undefined4 *)0x0)" ( (binary_expression "local_148 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    do {\n      switch(*puVar13) {\n      default:\n                    /* WARNING: Subroutine does not return */\n        FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar15 = param_3 + 4;\n        *puVar13 = *(undefined4 *)param_3;\n        break;\n      case 4:\n        uVar12 = *(undefined4 *)(param_3 + 4);\n        pbVar15 = param_3 + 8;\n        *puVar13 = *(undefined4 *)param_3;\n        puVar13[1] = uVar12;\n        break;\n      case 5:\n        uVar12 = *(undefined4 *)(param_3 + 8);\n        pbVar15 = param_3 + 0x10;\n        uVar3 = *(undefined4 *)(param_3 + 0xc);\n        *puVar13 = *(undefined4 *)param_3;\n        uVar4 = *(undefined4 *)(param_3 + 4);\n        puVar13[2] = uVar12;\n        puVar13[1] = uVar4;\n        puVar13[3] = uVar3;\n      }\n      uVar9 = uVar9 + 1;\n      puVar13 = puVar13 + 4;\n      param_3 = pbVar15;\n    } while (local_148 != (undefined4 *)uVar9);\n  }" { (do_statement "do {\n      switch(*puVar13) {\n      default:\n                    /* WARNING: Subroutine does not return */\n        FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar15 = param_3 + 4;\n        *puVar13 = *(undefined4 *)param_3;\n        break;\n      case 4:\n        uVar12 = *(undefined4 *)(param_3 + 4);\n        pbVar15 = param_3 + 8;\n        *puVar13 = *(undefined4 *)param_3;\n        puVar13[1] = uVar12;\n        break;\n      case 5:\n        uVar12 = *(undefined4 *)(param_3 + 8);\n        pbVar15 = param_3 + 0x10;\n        uVar3 = *(undefined4 *)(param_3 + 0xc);\n        *puVar13 = *(undefined4 *)param_3;\n        uVar4 = *(undefined4 *)(param_3 + 4);\n        puVar13[2] = uVar12;\n        puVar13[1] = uVar4;\n        puVar13[3] = uVar3;\n      }\n      uVar9 = uVar9 + 1;\n      puVar13 = puVar13 + 4;\n      param_3 = pbVar15;\n    } while (local_148 != (undefined4 *)uVar9);" do (compound_statement "{\n      switch(*puVar13) {\n      default:\n                    /* WARNING: Subroutine does not return */\n        FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar15 = param_3 + 4;\n        *puVar13 = *(undefined4 *)param_3;\n        break;\n      case 4:\n        uVar12 = *(undefined4 *)(param_3 + 4);\n        pbVar15 = param_3 + 8;\n        *puVar13 = *(undefined4 *)param_3;\n        puVar13[1] = uVar12;\n        break;\n      case 5:\n        uVar12 = *(undefined4 *)(param_3 + 8);\n        pbVar15 = param_3 + 0x10;\n        uVar3 = *(undefined4 *)(param_3 + 0xc);\n        *puVar13 = *(undefined4 *)param_3;\n        uVar4 = *(undefined4 *)(param_3 + 4);\n        puVar13[2] = uVar12;\n        puVar13[1] = uVar4;\n        puVar13[3] = uVar3;\n      }\n      uVar9 = uVar9 + 1;\n      puVar13 = puVar13 + 4;\n      param_3 = pbVar15;\n    }" { (switch_statement "switch(*puVar13) {\n      default:\n                    /* WARNING: Subroutine does not return */\n        FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar15 = param_3 + 4;\n        *puVar13 = *(undefined4 *)param_3;\n        break;\n      case 4:\n        uVar12 = *(undefined4 *)(param_3 + 4);\n        pbVar15 = param_3 + 8;\n        *puVar13 = *(undefined4 *)param_3;\n        puVar13[1] = uVar12;\n        break;\n      case 5:\n        uVar12 = *(undefined4 *)(param_3 + 8);\n        pbVar15 = param_3 + 0x10;\n        uVar3 = *(undefined4 *)(param_3 + 0xc);\n        *puVar13 = *(undefined4 *)param_3;\n        uVar4 = *(undefined4 *)(param_3 + 4);\n        puVar13[2] = uVar12;\n        puVar13[1] = uVar4;\n        puVar13[3] = uVar3;\n      }" switch (parenthesized_expression "(*puVar13)" ( (pointer_expression "*puVar13" * identifier) )) (compound_statement "{\n      default:\n                    /* WARNING: Subroutine does not return */\n        FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar15 = param_3 + 4;\n        *puVar13 = *(undefined4 *)param_3;\n        break;\n      case 4:\n        uVar12 = *(undefined4 *)(param_3 + 4);\n        pbVar15 = param_3 + 8;\n        *puVar13 = *(undefined4 *)param_3;\n        puVar13[1] = uVar12;\n        break;\n      case 5:\n        uVar12 = *(undefined4 *)(param_3 + 8);\n        pbVar15 = param_3 + 0x10;\n        uVar3 = *(undefined4 *)(param_3 + 0xc);\n        *puVar13 = *(undefined4 *)param_3;\n        uVar4 = *(undefined4 *)(param_3 + 4);\n        puVar13[2] = uVar12;\n        puVar13[1] = uVar4;\n        puVar13[3] = uVar3;\n      }" { (case_statement "default:\n                    /* WARNING: Subroutine does not return */\n        FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");" default : comment (expression_statement "FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");" (call_expression "FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo")" identifier (argument_list "("../../ld/ldmisc.c",0xc6,"vfinfo")" ( (string_literal ""../../ld/ldmisc.c"" " string_content ") , number_literal , (string_literal ""vfinfo"" " string_content ") ))) ;)) (case_statement "case 1:" case number_literal :) (case_statement "case 2:" case number_literal :) (case_statement "case 3:\n        pbVar15 = param_3 + 4;\n        *puVar13 = *(undefined4 *)param_3;\n        break;" case number_literal : (expression_statement "pbVar15 = param_3 + 4;" (assignment_expression "pbVar15 = param_3 + 4" identifier = (binary_expression "param_3 + 4" identifier + number_literal)) ;) (expression_statement "*puVar13 = *(undefined4 *)param_3;" (assignment_expression "*puVar13 = *(undefined4 *)param_3" (pointer_expression "*puVar13" * identifier) = (pointer_expression "*(undefined4 *)param_3" * (cast_expression "(undefined4 *)param_3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n        uVar12 = *(undefined4 *)(param_3 + 4);\n        pbVar15 = param_3 + 8;\n        *puVar13 = *(undefined4 *)param_3;\n        puVar13[1] = uVar12;\n        break;" case number_literal : (expression_statement "uVar12 = *(undefined4 *)(param_3 + 4);" (assignment_expression "uVar12 = *(undefined4 *)(param_3 + 4)" identifier = (pointer_expression "*(undefined4 *)(param_3 + 4)" * (cast_expression "(undefined4 *)(param_3 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) ;) (expression_statement "pbVar15 = param_3 + 8;" (assignment_expression "pbVar15 = param_3 + 8" identifier = (binary_expression "param_3 + 8" identifier + number_literal)) ;) (expression_statement "*puVar13 = *(undefined4 *)param_3;" (assignment_expression "*puVar13 = *(undefined4 *)param_3" (pointer_expression "*puVar13" * identifier) = (pointer_expression "*(undefined4 *)param_3" * (cast_expression "(undefined4 *)param_3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar13[1] = uVar12;" (assignment_expression "puVar13[1] = uVar12" (subscript_expression "puVar13[1]" identifier [ number_literal ]) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n        uVar12 = *(undefined4 *)(param_3 + 8);\n        pbVar15 = param_3 + 0x10;\n        uVar3 = *(undefined4 *)(param_3 + 0xc);\n        *puVar13 = *(undefined4 *)param_3;\n        uVar4 = *(undefined4 *)(param_3 + 4);\n        puVar13[2] = uVar12;\n        puVar13[1] = uVar4;\n        puVar13[3] = uVar3;" case number_literal : (expression_statement "uVar12 = *(undefined4 *)(param_3 + 8);" (assignment_expression "uVar12 = *(undefined4 *)(param_3 + 8)" identifier = (pointer_expression "*(undefined4 *)(param_3 + 8)" * (cast_expression "(undefined4 *)(param_3 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 8)" ( (binary_expression "param_3 + 8" identifier + number_literal) ))))) ;) (expression_statement "pbVar15 = param_3 + 0x10;" (assignment_expression "pbVar15 = param_3 + 0x10" identifier = (binary_expression "param_3 + 0x10" identifier + number_literal)) ;) (expression_statement "uVar3 = *(undefined4 *)(param_3 + 0xc);" (assignment_expression "uVar3 = *(undefined4 *)(param_3 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(param_3 + 0xc)" * (cast_expression "(undefined4 *)(param_3 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*puVar13 = *(undefined4 *)param_3;" (assignment_expression "*puVar13 = *(undefined4 *)param_3" (pointer_expression "*puVar13" * identifier) = (pointer_expression "*(undefined4 *)param_3" * (cast_expression "(undefined4 *)param_3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar4 = *(undefined4 *)(param_3 + 4);" (assignment_expression "uVar4 = *(undefined4 *)(param_3 + 4)" identifier = (pointer_expression "*(undefined4 *)(param_3 + 4)" * (cast_expression "(undefined4 *)(param_3 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) ;) (expression_statement "puVar13[2] = uVar12;" (assignment_expression "puVar13[2] = uVar12" (subscript_expression "puVar13[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar13[1] = uVar4;" (assignment_expression "puVar13[1] = uVar4" (subscript_expression "puVar13[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar13[3] = uVar3;" (assignment_expression "puVar13[3] = uVar3" (subscript_expression "puVar13[3]" identifier [ number_literal ]) = identifier) ;)) })) (expression_statement "uVar9 = uVar9 + 1;" (assignment_expression "uVar9 = uVar9 + 1" identifier = (binary_expression "uVar9 + 1" identifier + number_literal)) ;) (expression_statement "puVar13 = puVar13 + 4;" (assignment_expression "puVar13 = puVar13 + 4" identifier = (binary_expression "puVar13 + 4" identifier + number_literal)) ;) (expression_statement "param_3 = pbVar15;" (assignment_expression "param_3 = pbVar15" identifier = identifier) ;) }) while (parenthesized_expression "(local_148 != (undefined4 *)uVar9)" ( (binary_expression "local_148 != (undefined4 *)uVar9" identifier != (cast_expression "(undefined4 *)uVar9" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) ;) })) (expression_statement "local_148 = (undefined4 *)0x0;" (assignment_expression "local_148 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_13c = 0;" (assignment_expression "local_13c = 0" identifier = number_literal) ;) (expression_statement "local_140 = PTR__sch_istable_001cefa0;" (assignment_expression "local_140 = PTR__sch_istable_001cefa0" identifier = identifier) ;) (expression_statement "local_138 = &DAT_001d13c4;" (assignment_expression "local_138 = &DAT_001d13c4" identifier = (pointer_expression "&DAT_001d13c4" & identifier)) ;) (labeled_statement "joined_r0x000340a6:\n  if (bVar7 != 0) {\n    pbVar21 = param_2;\n    pbVar15 = param_2;\n    if (bVar7 != 0x25) goto LAB_000340c2;\n    goto LAB_00034170;\n  }" statement_identifier : (if_statement "if (bVar7 != 0) {\n    pbVar21 = param_2;\n    pbVar15 = param_2;\n    if (bVar7 != 0x25) goto LAB_000340c2;\n    goto LAB_00034170;\n  }" if (parenthesized_expression "(bVar7 != 0)" ( (binary_expression "bVar7 != 0" identifier != number_literal) )) (compound_statement "{\n    pbVar21 = param_2;\n    pbVar15 = param_2;\n    if (bVar7 != 0x25) goto LAB_000340c2;\n    goto LAB_00034170;\n  }" { (expression_statement "pbVar21 = param_2;" (assignment_expression "pbVar21 = param_2" identifier = identifier) ;) (expression_statement "pbVar15 = param_2;" (assignment_expression "pbVar15 = param_2" identifier = identifier) ;) (if_statement "if (bVar7 != 0x25) goto LAB_000340c2;" if (parenthesized_expression "(bVar7 != 0x25)" ( (binary_expression "bVar7 != 0x25" identifier != number_literal) )) (goto_statement "goto LAB_000340c2;" goto statement_identifier ;)) (goto_statement "goto LAB_00034170;" goto statement_identifier ;) }))) (expression_statement "pbVar21 = *(byte **)(puVar18 + 0x15c);" (assignment_expression "pbVar21 = *(byte **)(puVar18 + 0x15c)" identifier = (pointer_expression "*(byte **)(puVar18 + 0x15c)" * (cast_expression "(byte **)(puVar18 + 0x15c)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x15c)" ( (binary_expression "puVar18 + 0x15c" identifier + number_literal) ))))) ;) (if_statement "if ((pbVar21 != (byte *)0x0) && (DAT_001d1508 != 0)) {\n    DAT_001d14e4 = 0;\n  }" if (parenthesized_expression "((pbVar21 != (byte *)0x0) && (DAT_001d1508 != 0))" ( (binary_expression "(pbVar21 != (byte *)0x0) && (DAT_001d1508 != 0)" (parenthesized_expression "(pbVar21 != (byte *)0x0)" ( (binary_expression "pbVar21 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(DAT_001d1508 != 0)" ( (binary_expression "DAT_001d1508 != 0" identifier != number_literal) ))) )) (compound_statement "{\n    DAT_001d14e4 = 0;\n  }" { (expression_statement "DAT_001d14e4 = 0;" (assignment_expression "DAT_001d14e4 = 0" identifier = number_literal) ;) })) (if_statement "if (*(int *)(puVar18 + 0x10) == 0) {\n    return;\n  }" if (parenthesized_expression "(*(int *)(puVar18 + 0x10) == 0)" ( (binary_expression "*(int *)(puVar18 + 0x10) == 0" (pointer_expression "*(int *)(puVar18 + 0x10)" * (cast_expression "(int *)(puVar18 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x10)" ( (binary_expression "puVar18 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x34be1;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x34be1" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar13 = (undefined4 *)xexit();" (assignment_expression "puVar13 = (undefined4 *)xexit()" identifier = (cast_expression "(undefined4 *)xexit()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xexit()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puVar18 = puVar18 + -0x10;" (assignment_expression "puVar18 = puVar18 + -0x10" identifier = (binary_expression "puVar18 + -0x10" identifier + number_literal)) ;) (expression_statement "pbVar22 = param_2;" (assignment_expression "pbVar22 = param_2" identifier = identifier) ;) (goto_statement "goto code_r0x00034be8;" goto statement_identifier ;) (labeled_statement "LAB_00033fb0:\n  do {\n    pbVar15 = pbVar15 + 1;\n    bVar1 = *pbVar15;\n    uVar9 = (uint)bVar1;\n    if (bVar1 == 0x25) break;\n  } while (bVar1 != 0);" statement_identifier : (do_statement "do {\n    pbVar15 = pbVar15 + 1;\n    bVar1 = *pbVar15;\n    uVar9 = (uint)bVar1;\n    if (bVar1 == 0x25) break;\n  } while (bVar1 != 0);" do (compound_statement "{\n    pbVar15 = pbVar15 + 1;\n    bVar1 = *pbVar15;\n    uVar9 = (uint)bVar1;\n    if (bVar1 == 0x25) break;\n  }" { (expression_statement "pbVar15 = pbVar15 + 1;" (assignment_expression "pbVar15 = pbVar15 + 1" identifier = (binary_expression "pbVar15 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = *pbVar15;" (assignment_expression "bVar1 = *pbVar15" identifier = (pointer_expression "*pbVar15" * identifier)) ;) (expression_statement "uVar9 = (uint)bVar1;" (assignment_expression "uVar9 = (uint)bVar1" identifier = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (bVar1 == 0x25) break;" if (parenthesized_expression "(bVar1 == 0x25)" ( (binary_expression "bVar1 == 0x25" identifier == number_literal) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "(bVar1 != 0)" ( (binary_expression "bVar1 != 0" identifier != number_literal) )) ;)) (if_statement "if (bVar1 != 0x25) goto LAB_00033f90;" if (parenthesized_expression "(bVar1 != 0x25)" ( (binary_expression "bVar1 != 0x25" identifier != number_literal) )) (goto_statement "goto LAB_00033f90;" goto statement_identifier ;)) (labeled_statement "LAB_00033fd0:\n  local_144 = pbVar15 + 1;" statement_identifier : (expression_statement "local_144 = pbVar15 + 1;" (assignment_expression "local_144 = pbVar15 + 1" identifier = (binary_expression "pbVar15 + 1" identifier + number_literal)) ;)) (expression_statement "bVar1 = pbVar15[1];" (assignment_expression "bVar1 = pbVar15[1]" identifier = (subscript_expression "pbVar15[1]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = (uint)bVar1;" (assignment_expression "uVar9 = (uint)bVar1" identifier = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (bVar1 == 0x30) {\n    pbVar15 = pbVar15 + 2;\nLAB_000347d7:\n    uVar9 = (uint)local_144[1];\n    goto LAB_00033f90;\n  }" if (parenthesized_expression "(bVar1 == 0x30)" ( (binary_expression "bVar1 == 0x30" identifier == number_literal) )) (compound_statement "{\n    pbVar15 = pbVar15 + 2;\nLAB_000347d7:\n    uVar9 = (uint)local_144[1];\n    goto LAB_00033f90;\n  }" { (expression_statement "pbVar15 = pbVar15 + 2;" (assignment_expression "pbVar15 = pbVar15 + 2" identifier = (binary_expression "pbVar15 + 2" identifier + number_literal)) ;) (labeled_statement "LAB_000347d7:\n    uVar9 = (uint)local_144[1];" statement_identifier : (expression_statement "uVar9 = (uint)local_144[1];" (assignment_expression "uVar9 = (uint)local_144[1]" identifier = (cast_expression "(uint)local_144[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_144[1]" identifier [ number_literal ]))) ;)) (goto_statement "goto LAB_00033f90;" goto statement_identifier ;) })) (expression_statement "local_134 = (int)(char)bVar1;" (assignment_expression "local_134 = (int)(char)bVar1" identifier = (cast_expression "(int)(char)bVar1" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "local_140 = (undefined *)local_148;" (assignment_expression "local_140 = (undefined *)local_148" identifier = (cast_expression "(undefined *)local_148" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (((PTR__sch_istable_001cefa0[uVar9 * 2] & 4) != 0) && (pbVar15[2] == 0x24)) {\n    local_140 = (undefined *)((int)(char)bVar1 - 0x31);\n    local_144 = pbVar15 + 3;\n    uVar9 = (uint)pbVar15[3];\n  }" if (parenthesized_expression "(((PTR__sch_istable_001cefa0[uVar9 * 2] & 4) != 0) && (pbVar15[2] == 0x24))" ( (binary_expression "((PTR__sch_istable_001cefa0[uVar9 * 2] & 4) != 0) && (pbVar15[2] == 0x24)" (parenthesized_expression "((PTR__sch_istable_001cefa0[uVar9 * 2] & 4) != 0)" ( (binary_expression "(PTR__sch_istable_001cefa0[uVar9 * 2] & 4) != 0" (parenthesized_expression "(PTR__sch_istable_001cefa0[uVar9 * 2] & 4)" ( (binary_expression "PTR__sch_istable_001cefa0[uVar9 * 2] & 4" (subscript_expression "PTR__sch_istable_001cefa0[uVar9 * 2]" identifier [ (binary_expression "uVar9 * 2" identifier * number_literal) ]) & number_literal) )) != number_literal) )) && (parenthesized_expression "(pbVar15[2] == 0x24)" ( (binary_expression "pbVar15[2] == 0x24" (subscript_expression "pbVar15[2]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n    local_140 = (undefined *)((int)(char)bVar1 - 0x31);\n    local_144 = pbVar15 + 3;\n    uVar9 = (uint)pbVar15[3];\n  }" { (expression_statement "local_140 = (undefined *)((int)(char)bVar1 - 0x31);" (assignment_expression "local_140 = (undefined *)((int)(char)bVar1 - 0x31)" identifier = (cast_expression "(undefined *)((int)(char)bVar1 - 0x31)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(char)bVar1 - 0x31)" ( (binary_expression "(int)(char)bVar1 - 0x31" (cast_expression "(int)(char)bVar1" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier)) - number_literal) )))) ;) (expression_statement "local_144 = pbVar15 + 3;" (assignment_expression "local_144 = pbVar15 + 3" identifier = (binary_expression "pbVar15 + 3" identifier + number_literal)) ;) (expression_statement "uVar9 = (uint)pbVar15[3];" (assignment_expression "uVar9 = (uint)pbVar15[3]" identifier = (cast_expression "(uint)pbVar15[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar15[3]" identifier [ number_literal ]))) ;) })) (expression_statement "pbVar21 = local_144;" (assignment_expression "pbVar21 = local_144" identifier = identifier) ;) (expression_statement "pbVar15 = local_144 + 1;" (assignment_expression "pbVar15 = local_144 + 1" identifier = (binary_expression "local_144 + 1" identifier + number_literal)) ;) (switch_statement "switch(uVar9) {\n  case 0:\n    pbVar15 = local_144;\n    goto LAB_00033f90;\n  default:\n    goto LAB_000347d7;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    local_144 = (byte *)0x5;\n    break;\n  case 0x56:\n  case 0x57:\n  case 0x76:\n    local_144 = (byte *)0x4;\n    break;\n  case 100:\n  case 0x75:\n    local_144 = (byte *)0x1;\n    break;\n  case 0x6c:\n    bVar1 = local_144[1];\n    uVar9 = (uint)bVar1;\n    if ((bVar1 != 100) && (bVar1 != 0x75)) goto LAB_00033f90;\n    local_144 = (byte *)0x2;\n    pbVar15 = pbVar21 + 2;\n    break;\n  case 0x70:\n    local_144 = (byte *)0x3;\n    uVar9 = pbVar21[1] - 0x41;\n    if (((byte)uVar9 < 0x14) && ((0xe0103U >> (uVar9 & 0x1f) & 1) != 0)) {\n      pbVar15 = pbVar21 + 2;\n    }\n    break;\n  case 0x73:\n    local_144 = (byte *)0x3;\n  }" switch (parenthesized_expression "(uVar9)" ( identifier )) (compound_statement "{\n  case 0:\n    pbVar15 = local_144;\n    goto LAB_00033f90;\n  default:\n    goto LAB_000347d7;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    local_144 = (byte *)0x5;\n    break;\n  case 0x56:\n  case 0x57:\n  case 0x76:\n    local_144 = (byte *)0x4;\n    break;\n  case 100:\n  case 0x75:\n    local_144 = (byte *)0x1;\n    break;\n  case 0x6c:\n    bVar1 = local_144[1];\n    uVar9 = (uint)bVar1;\n    if ((bVar1 != 100) && (bVar1 != 0x75)) goto LAB_00033f90;\n    local_144 = (byte *)0x2;\n    pbVar15 = pbVar21 + 2;\n    break;\n  case 0x70:\n    local_144 = (byte *)0x3;\n    uVar9 = pbVar21[1] - 0x41;\n    if (((byte)uVar9 < 0x14) && ((0xe0103U >> (uVar9 & 0x1f) & 1) != 0)) {\n      pbVar15 = pbVar21 + 2;\n    }\n    break;\n  case 0x73:\n    local_144 = (byte *)0x3;\n  }" { (case_statement "case 0:\n    pbVar15 = local_144;\n    goto LAB_00033f90;" case number_literal : (expression_statement "pbVar15 = local_144;" (assignment_expression "pbVar15 = local_144" identifier = identifier) ;) (goto_statement "goto LAB_00033f90;" goto statement_identifier ;)) (case_statement "default:\n    goto LAB_000347d7;" default : (goto_statement "goto LAB_000347d7;" goto statement_identifier ;)) (case_statement "case 0x43:" case number_literal :) (case_statement "case 0x44:" case number_literal :) (case_statement "case 0x47:" case number_literal :) (case_statement "case 0x48:\n    local_144 = (byte *)0x5;\n    break;" case number_literal : (expression_statement "local_144 = (byte *)0x5;" (assignment_expression "local_144 = (byte *)0x5" identifier = (cast_expression "(byte *)0x5" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x56:" case number_literal :) (case_statement "case 0x57:" case number_literal :) (case_statement "case 0x76:\n    local_144 = (byte *)0x4;\n    break;" case number_literal : (expression_statement "local_144 = (byte *)0x4;" (assignment_expression "local_144 = (byte *)0x4" identifier = (cast_expression "(byte *)0x4" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 100:" case number_literal :) (case_statement "case 0x75:\n    local_144 = (byte *)0x1;\n    break;" case number_literal : (expression_statement "local_144 = (byte *)0x1;" (assignment_expression "local_144 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x6c:\n    bVar1 = local_144[1];\n    uVar9 = (uint)bVar1;\n    if ((bVar1 != 100) && (bVar1 != 0x75)) goto LAB_00033f90;\n    local_144 = (byte *)0x2;\n    pbVar15 = pbVar21 + 2;\n    break;" case number_literal : (expression_statement "bVar1 = local_144[1];" (assignment_expression "bVar1 = local_144[1]" identifier = (subscript_expression "local_144[1]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = (uint)bVar1;" (assignment_expression "uVar9 = (uint)bVar1" identifier = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((bVar1 != 100) && (bVar1 != 0x75)) goto LAB_00033f90;" if (parenthesized_expression "((bVar1 != 100) && (bVar1 != 0x75))" ( (binary_expression "(bVar1 != 100) && (bVar1 != 0x75)" (parenthesized_expression "(bVar1 != 100)" ( (binary_expression "bVar1 != 100" identifier != number_literal) )) && (parenthesized_expression "(bVar1 != 0x75)" ( (binary_expression "bVar1 != 0x75" identifier != number_literal) ))) )) (goto_statement "goto LAB_00033f90;" goto statement_identifier ;)) (expression_statement "local_144 = (byte *)0x2;" (assignment_expression "local_144 = (byte *)0x2" identifier = (cast_expression "(byte *)0x2" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar15 = pbVar21 + 2;" (assignment_expression "pbVar15 = pbVar21 + 2" identifier = (binary_expression "pbVar21 + 2" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x70:\n    local_144 = (byte *)0x3;\n    uVar9 = pbVar21[1] - 0x41;\n    if (((byte)uVar9 < 0x14) && ((0xe0103U >> (uVar9 & 0x1f) & 1) != 0)) {\n      pbVar15 = pbVar21 + 2;\n    }\n    break;" case number_literal : (expression_statement "local_144 = (byte *)0x3;" (assignment_expression "local_144 = (byte *)0x3" identifier = (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar9 = pbVar21[1] - 0x41;" (assignment_expression "uVar9 = pbVar21[1] - 0x41" identifier = (binary_expression "pbVar21[1] - 0x41" (subscript_expression "pbVar21[1]" identifier [ number_literal ]) - number_literal)) ;) (if_statement "if (((byte)uVar9 < 0x14) && ((0xe0103U >> (uVar9 & 0x1f) & 1) != 0)) {\n      pbVar15 = pbVar21 + 2;\n    }" if (parenthesized_expression "(((byte)uVar9 < 0x14) && ((0xe0103U >> (uVar9 & 0x1f) & 1) != 0))" ( (binary_expression "((byte)uVar9 < 0x14) && ((0xe0103U >> (uVar9 & 0x1f) & 1) != 0)" (parenthesized_expression "((byte)uVar9 < 0x14)" ( (binary_expression "(byte)uVar9 < 0x14" (cast_expression "(byte)uVar9" ( (type_descriptor "byte" type_identifier) ) identifier) < number_literal) )) && (parenthesized_expression "((0xe0103U >> (uVar9 & 0x1f) & 1) != 0)" ( (binary_expression "(0xe0103U >> (uVar9 & 0x1f) & 1) != 0" (parenthesized_expression "(0xe0103U >> (uVar9 & 0x1f) & 1)" ( (binary_expression "0xe0103U >> (uVar9 & 0x1f) & 1" (binary_expression "0xe0103U >> (uVar9 & 0x1f)" number_literal >> (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) ))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n      pbVar15 = pbVar21 + 2;\n    }" { (expression_statement "pbVar15 = pbVar21 + 2;" (assignment_expression "pbVar15 = pbVar21 + 2" identifier = (binary_expression "pbVar21 + 2" identifier + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x73:\n    local_144 = (byte *)0x3;" case number_literal : (expression_statement "local_144 = (byte *)0x3;" (assignment_expression "local_144 = (byte *)0x3" identifier = (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) })) (if_statement "if (8 < local_140) {\n    local_148 = puVar13;\n                    /* WARNING: Subroutine does not return */\n    FUN_00033e90("../../ld/ldmisc.c",0xa9,"vfinfo",uVar9);\n  }" if (parenthesized_expression "(8 < local_140)" ( (binary_expression "8 < local_140" number_literal < identifier) )) (compound_statement "{\n    local_148 = puVar13;\n                    /* WARNING: Subroutine does not return */\n    FUN_00033e90("../../ld/ldmisc.c",0xa9,"vfinfo",uVar9);\n  }" { (expression_statement "local_148 = puVar13;" (assignment_expression "local_148 = puVar13" identifier = identifier) ;) comment (expression_statement "FUN_00033e90("../../ld/ldmisc.c",0xa9,"vfinfo",uVar9);" (call_expression "FUN_00033e90("../../ld/ldmisc.c",0xa9,"vfinfo",uVar9)" identifier (argument_list "("../../ld/ldmisc.c",0xa9,"vfinfo",uVar9)" ( (string_literal ""../../ld/ldmisc.c"" " string_content ") , number_literal , (string_literal ""vfinfo"" " string_content ") , identifier ))) ;) })) (expression_statement "local_148 = (undefined4 *)((int)local_148 + 1);" (assignment_expression "local_148 = (undefined4 *)((int)local_148 + 1)" identifier = (cast_expression "(undefined4 *)((int)local_148 + 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_148 + 1)" ( (binary_expression "(int)local_148 + 1" (cast_expression "(int)local_148" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_ac[(int)local_140 * 4] = local_144;" (assignment_expression "local_ac[(int)local_140 * 4] = local_144" (subscript_expression "local_ac[(int)local_140 * 4]" identifier [ (binary_expression "(int)local_140 * 4" (cast_expression "(int)local_140" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ]) = identifier) ;) (expression_statement "uVar9 = (uint)*pbVar15;" (assignment_expression "uVar9 = (uint)*pbVar15" identifier = (binary_expression "(uint)*pbVar15" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (goto_statement "goto LAB_00033f90;" goto statement_identifier ;) (labeled_statement "LAB_000340c2:\n  do {\n    pbVar15 = pbVar21;\n    bVar7 = pbVar15[1];\n    pbVar21 = pbVar15 + 1;\n    if (bVar7 == 0x25) break;\n  } while (bVar7 != 0);" statement_identifier : (do_statement "do {\n    pbVar15 = pbVar21;\n    bVar7 = pbVar15[1];\n    pbVar21 = pbVar15 + 1;\n    if (bVar7 == 0x25) break;\n  } while (bVar7 != 0);" do (compound_statement "{\n    pbVar15 = pbVar21;\n    bVar7 = pbVar15[1];\n    pbVar21 = pbVar15 + 1;\n    if (bVar7 == 0x25) break;\n  }" { (expression_statement "pbVar15 = pbVar21;" (assignment_expression "pbVar15 = pbVar21" identifier = identifier) ;) (expression_statement "bVar7 = pbVar15[1];" (assignment_expression "bVar7 = pbVar15[1]" identifier = (subscript_expression "pbVar15[1]" identifier [ number_literal ])) ;) (expression_statement "pbVar21 = pbVar15 + 1;" (assignment_expression "pbVar21 = pbVar15 + 1" identifier = (binary_expression "pbVar15 + 1" identifier + number_literal)) ;) (if_statement "if (bVar7 == 0x25) break;" if (parenthesized_expression "(bVar7 == 0x25)" ( (binary_expression "bVar7 == 0x25" identifier == number_literal) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "(bVar7 != 0)" ( (binary_expression "bVar7 != 0" identifier != number_literal) )) ;)) (if_statement "if (param_2 != pbVar21) {\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + 0x150);\n    *(int *)(puVar18 + -8) = (int)pbVar21 - (int)param_2;\n    *(undefined4 *)(puVar18 + -0xc) = 1;\n    *(byte **)(puVar18 + -0x10) = param_2;\n    *(undefined4 *)(puVar18 + -0x14) = 0x340e9;\n    fwrite(*(void **)(puVar18 + -0x10),*(size_t *)(puVar18 + -0xc),*(size_t *)(puVar18 + -8),\n           *(FILE **)(puVar18 + -4));\n    bVar7 = pbVar15[1];\n  }" if (parenthesized_expression "(param_2 != pbVar21)" ( (binary_expression "param_2 != pbVar21" identifier != identifier) )) (compound_statement "{\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + 0x150);\n    *(int *)(puVar18 + -8) = (int)pbVar21 - (int)param_2;\n    *(undefined4 *)(puVar18 + -0xc) = 1;\n    *(byte **)(puVar18 + -0x10) = param_2;\n    *(undefined4 *)(puVar18 + -0x14) = 0x340e9;\n    fwrite(*(void **)(puVar18 + -0x10),*(size_t *)(puVar18 + -0xc),*(size_t *)(puVar18 + -8),\n           *(FILE **)(puVar18 + -4));\n    bVar7 = pbVar15[1];\n  }" { (expression_statement "*(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -4)" * (cast_expression "(undefined4 *)(puVar18 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar18 + -8) = (int)pbVar21 - (int)param_2;" (assignment_expression "*(int *)(puVar18 + -8) = (int)pbVar21 - (int)param_2" (pointer_expression "*(int *)(puVar18 + -8)" * (cast_expression "(int *)(puVar18 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = (binary_expression "(int)pbVar21 - (int)param_2" (cast_expression "(int)pbVar21" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" * (cast_expression "(undefined4 *)(puVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(byte **)(puVar18 + -0x10) = param_2;" (assignment_expression "*(byte **)(puVar18 + -0x10) = param_2" (pointer_expression "*(byte **)(puVar18 + -0x10)" * (cast_expression "(byte **)(puVar18 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x340e9;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x340e9" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fwrite(*(void **)(puVar18 + -0x10),*(size_t *)(puVar18 + -0xc),*(size_t *)(puVar18 + -8),\n           *(FILE **)(puVar18 + -4));" (call_expression "fwrite(*(void **)(puVar18 + -0x10),*(size_t *)(puVar18 + -0xc),*(size_t *)(puVar18 + -8),\n           *(FILE **)(puVar18 + -4))" identifier (argument_list "(*(void **)(puVar18 + -0x10),*(size_t *)(puVar18 + -0xc),*(size_t *)(puVar18 + -8),\n           *(FILE **)(puVar18 + -4))" ( (pointer_expression "*(void **)(puVar18 + -0x10)" * (cast_expression "(void **)(puVar18 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar18 + -0xc)" * (cast_expression "(size_t *)(puVar18 + -0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar18 + -8)" * (cast_expression "(size_t *)(puVar18 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar18 + -4)" * (cast_expression "(FILE **)(puVar18 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) ))) ;) (expression_statement "bVar7 = pbVar15[1];" (assignment_expression "bVar7 = pbVar15[1]" identifier = (subscript_expression "pbVar15[1]" identifier [ number_literal ])) ;) })) (expression_statement "param_2 = pbVar21;" (assignment_expression "param_2 = pbVar21" identifier = identifier) ;) (if_statement "if (bVar7 != 0x25) goto joined_r0x000340a6;" if (parenthesized_expression "(bVar7 != 0x25)" ( (binary_expression "bVar7 != 0x25" identifier != number_literal) )) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) (labeled_statement "LAB_00034170:\n  bVar7 = param_2[1];" statement_identifier : (expression_statement "bVar7 = param_2[1];" (assignment_expression "bVar7 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;)) (expression_statement "pbVar22 = param_2 + 1;" (assignment_expression "pbVar22 = param_2 + 1" identifier = (binary_expression "param_2 + 1" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar18 + 8) = (int)(char)bVar7;" (assignment_expression "*(int *)(puVar18 + 8) = (int)(char)bVar7" (pointer_expression "*(int *)(puVar18 + 8)" * (cast_expression "(int *)(puVar18 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) )))) = (cast_expression "(int)(char)bVar7" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar7" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (if_statement "if (bVar7 == 0x30) {\n    *(undefined4 *)(puVar18 + 8) = 0x30;\n    param_2 = param_2 + 2;\n    goto LAB_0003421d;\n  }" if (parenthesized_expression "(bVar7 == 0x30)" ( (binary_expression "bVar7 == 0x30" identifier == number_literal) )) (compound_statement "{\n    *(undefined4 *)(puVar18 + 8) = 0x30;\n    param_2 = param_2 + 2;\n    goto LAB_0003421d;\n  }" { (expression_statement "*(undefined4 *)(puVar18 + 8) = 0x30;" (assignment_expression "*(undefined4 *)(puVar18 + 8) = 0x30" (pointer_expression "*(undefined4 *)(puVar18 + 8)" * (cast_expression "(undefined4 *)(puVar18 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_2 = param_2 + 2;" (assignment_expression "param_2 = param_2 + 2" identifier = (binary_expression "param_2 + 2" identifier + number_literal)) ;) (goto_statement "goto LAB_0003421d;" goto statement_identifier ;) })) (expression_statement "pbVar15 = *(byte **)(puVar18 + 0xc);" (assignment_expression "pbVar15 = *(byte **)(puVar18 + 0xc)" identifier = (pointer_expression "*(byte **)(puVar18 + 0xc)" * (cast_expression "(byte **)(puVar18 + 0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0xc)" ( (binary_expression "puVar18 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar16 = *(int *)(puVar18 + 4);" (assignment_expression "iVar16 = *(int *)(puVar18 + 4)" identifier = (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) ))))) ;) (if_statement "if (((pbVar15[(uint)bVar7 * 2] & 4) != 0) && (param_2[2] == 0x24)) {\n    bVar7 = param_2[3];\n    iVar16 = *(int *)(puVar18 + 8);\n    pbVar22 = param_2 + 3;\n    *(int *)(puVar18 + 8) = (int)(char)bVar7;\n    iVar16 = iVar16 + -0x31;\n  }" if (parenthesized_expression "(((pbVar15[(uint)bVar7 * 2] & 4) != 0) && (param_2[2] == 0x24))" ( (binary_expression "((pbVar15[(uint)bVar7 * 2] & 4) != 0) && (param_2[2] == 0x24)" (parenthesized_expression "((pbVar15[(uint)bVar7 * 2] & 4) != 0)" ( (binary_expression "(pbVar15[(uint)bVar7 * 2] & 4) != 0" (parenthesized_expression "(pbVar15[(uint)bVar7 * 2] & 4)" ( (binary_expression "pbVar15[(uint)bVar7 * 2] & 4" (subscript_expression "pbVar15[(uint)bVar7 * 2]" identifier [ (binary_expression "(uint)bVar7 * 2" (cast_expression "(uint)bVar7" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) ]) & number_literal) )) != number_literal) )) && (parenthesized_expression "(param_2[2] == 0x24)" ( (binary_expression "param_2[2] == 0x24" (subscript_expression "param_2[2]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n    bVar7 = param_2[3];\n    iVar16 = *(int *)(puVar18 + 8);\n    pbVar22 = param_2 + 3;\n    *(int *)(puVar18 + 8) = (int)(char)bVar7;\n    iVar16 = iVar16 + -0x31;\n  }" { (expression_statement "bVar7 = param_2[3];" (assignment_expression "bVar7 = param_2[3]" identifier = (subscript_expression "param_2[3]" identifier [ number_literal ])) ;) (expression_statement "iVar16 = *(int *)(puVar18 + 8);" (assignment_expression "iVar16 = *(int *)(puVar18 + 8)" identifier = (pointer_expression "*(int *)(puVar18 + 8)" * (cast_expression "(int *)(puVar18 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) ))))) ;) (expression_statement "pbVar22 = param_2 + 3;" (assignment_expression "pbVar22 = param_2 + 3" identifier = (binary_expression "param_2 + 3" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar18 + 8) = (int)(char)bVar7;" (assignment_expression "*(int *)(puVar18 + 8) = (int)(char)bVar7" (pointer_expression "*(int *)(puVar18 + 8)" * (cast_expression "(int *)(puVar18 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) )))) = (cast_expression "(int)(char)bVar7" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar7" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "iVar16 = iVar16 + -0x31;" (assignment_expression "iVar16 = iVar16 + -0x31" identifier = (binary_expression "iVar16 + -0x31" identifier + number_literal)) ;) })) (expression_statement "param_2 = pbVar22 + 1;" (assignment_expression "param_2 = pbVar22 + 1" identifier = (binary_expression "pbVar22 + 1" identifier + number_literal)) ;) (switch_statement "switch(bVar7) {\n  case 0:\n    param_2 = pbVar22;\n  case 0x25:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = 0x25;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034207;\n    putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = *param_2;\n    goto joined_r0x000340a6;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    iVar16 = iVar16 * 0x10;\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pbVar15 = *(byte **)(puVar18 + iVar16 + 0xa0);\n    *(undefined4 *)(puVar18 + 0x1c) = *(undefined4 *)(puVar18 + iVar16 + 0xa4);\n    uVar12 = *(undefined4 *)(puVar18 + iVar16 + 0xac);\n    *(undefined4 *)(puVar18 + 0x20) = *(undefined4 *)(puVar18 + iVar16 + 0xa8);\n    *(undefined4 *)(puVar18 + 0x24) = uVar12;\n    if (pbVar15 == (byte *)0x0) {\ncode_r0x00034747:\n      *(byte **)(puVar18 + -8) = pbVar15;\n      *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003475e;\n      FUN_00034e30();\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x24) = &UNK_0003477e;\n      FUN_00034e30();\n    }\n    else {\n      *(byte **)(puVar18 + -0x10) = pbVar15;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034331;\n      iVar16 = bfd_generic_link_read_symbols();\n      if (iVar16 == 0) {\n        *(undefined4 *)(puVar18 + -8) = 5;\n        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar18 + -0x10) = 0;\n        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;\n        uVar12 = dcgettext();\n        *(byte **)(puVar18 + -0xc) = pbVar15;\n        *(undefined4 *)(puVar18 + -0x10) = uVar12;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;\n        FUN_00034d20();\n      }\n      iVar16 = *(int *)(pbVar15 + 4);\n      *(undefined4 *)(puVar18 + -0x10) = 0;\n      *(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c;\n      *(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38;\n      *(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78);\n      *(byte **)(puVar18 + -0x30) = pbVar15;\n      pcVar5 = *(code **)(iVar16 + 0x128);\n      *(undefined **)(puVar18 + -0x34) = &UNK_00034369;\n      iVar16 = (*pcVar5)();\n      if (iVar16 == 0) goto code_r0x00034747;\n      iVar16 = *(int *)(puVar18 + 0x38);\n      *(int *)(puVar18 + 8) = iVar16;\n      if ((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))) {\n        *(byte **)(puVar18 + -8) = pbVar15;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;\n        FUN_00034e30();\n        *(undefined4 *)(puVar18 + 0x18) = 1;\ncode_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }\n        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x38);\n        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;\n        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;\n        if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }\n        *(char **)(puVar18 + -4) = "";\n        *(int *)(puVar18 + -8) = iVar16;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      }\n      else {\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }\n      if (*(int *)(puVar18 + 0x18) == 0) goto code_r0x0003443a;\n    }\n    pbRam001d0878 = (byte *)0x0;\n    if (iRam001d0870 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0870;\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003479e;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0870 = 0;\n    }\n    if (iRam001d0874 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0874;\n      *(undefined **)(puVar18 + -0x14) = &UNK_000347c2;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0874 = 0;\n    }\ncode_r0x0003443a:\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x45:\n    *(undefined **)(puVar18 + -4) = &UNK_0003444a;\n    uVar12 = bfd_get_error();\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034453;\n    uVar12 = func_0x00016b10();\n    pbVar15 = *(byte **)(puVar18 + -0xc);\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034462;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x46:\n    bVar7 = pbVar22[1];\n    *(undefined4 *)(puVar18 + 0x10) = 1;\n    goto joined_r0x000340a6;\n  case 0x50:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = DAT_001d1558;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034695;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x56:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pcVar20 = "%016llx";\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    break;\n  case 0x57:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345d0;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345f5;\n    sVar11 = strlen(*(char **)(puVar18 + -0x10));\n    if (sVar11 < 8) {\n      *(byte **)(puVar18 + 8) = pbVar22;\n      uVar12 = *(undefined4 *)(puVar18 + 0x150);\n      *(byte **)(puVar18 + 0x18) = param_2;\n      do {\n        sVar11 = sVar11 + 1;\n        *(undefined4 *)(puVar18 + -0xc) = uVar12;\n        *(undefined4 *)(puVar18 + -0x10) = 0x20;\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003461c;\n        putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      } while (sVar11 != 8);\n      pbVar22 = *(byte **)(puVar18 + 8);\n      param_2 = *(byte **)(puVar18 + 0x18);\n    }\n    pcVar20 = "0x%s";\n    *(byte **)(puVar18 + -8) = pbVar15;\n    break;\n  case 0x58:\n    DAT_001d14e4 = 0;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 100:\n    puVar10 = &DAT_0006c013;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    goto code_r0x000344af;\n  case 0x6c:\n    if (pbVar22[1] == 100) {\n      puVar10 = &UNK_0007d7c3;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000342cd:\n      *(undefined **)(puVar18 + -0xc) = puVar10;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_000342dd;\n      fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n      bVar7 = pbVar22[2];\n      param_2 = pbVar22 + 2;\n      goto joined_r0x000340a6;\n    }\n    if (pbVar22[1] == 0x75) {\n      puVar10 = &UNK_0007d7c7;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n      goto code_r0x000342cd;\n    }\n  default:\nLAB_0003421d:\n    pcVar20 = "%%%c";\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + 8);\n    break;\n  case 0x70:\n    bVar7 = pbVar22[1];\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    if (bVar7 == 0x41) {\n      pbVar21 = pbVar22 + 2;\n      puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n      pbVar15 = (byte *)puVar13[0x2b];\n      *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined4 *)(puVar18 + -0x10) = *puVar13;\n      *(undefined4 **)(puVar18 + 8) = puVar13;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034a7f;\n      fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      iVar16 = *(int *)(puVar18 + 8);\n      if (pbVar15 != (byte *)0x0) {\n        if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }\n        if (iVar16 != 0) {\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }\n    }\n    else {\n      if (bVar7 == 0x42) {\n        pbVar21 = pbVar22 + 2;\n        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;\n        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);\n        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));\n        bVar7 = pbVar22[2];\n        puVar18 = puVar19 + 8;\n        param_2 = pbVar21;\n        goto joined_r0x000340a6;\n      }\n      if (bVar7 == 0x49) {\n        pbVar21 = pbVar22 + 2;\n        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);\n        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }\n    }\nLAB_000349da:\n    bVar7 = pbVar22[2];\n    param_2 = pbVar21;\n    goto joined_r0x000340a6;\n  case 0x73:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034489;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x75:\n    puVar10 = &UNK_0007d7b3;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000344af:\n    *(undefined **)(puVar18 + -0xc) = puVar10;\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined **)(puVar18 + -0x14) = &UNK_000344bc;\n    fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x76:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_0003426c;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034298;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  }" switch (parenthesized_expression "(bVar7)" ( identifier )) (compound_statement "{\n  case 0:\n    param_2 = pbVar22;\n  case 0x25:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = 0x25;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034207;\n    putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = *param_2;\n    goto joined_r0x000340a6;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    iVar16 = iVar16 * 0x10;\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pbVar15 = *(byte **)(puVar18 + iVar16 + 0xa0);\n    *(undefined4 *)(puVar18 + 0x1c) = *(undefined4 *)(puVar18 + iVar16 + 0xa4);\n    uVar12 = *(undefined4 *)(puVar18 + iVar16 + 0xac);\n    *(undefined4 *)(puVar18 + 0x20) = *(undefined4 *)(puVar18 + iVar16 + 0xa8);\n    *(undefined4 *)(puVar18 + 0x24) = uVar12;\n    if (pbVar15 == (byte *)0x0) {\ncode_r0x00034747:\n      *(byte **)(puVar18 + -8) = pbVar15;\n      *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003475e;\n      FUN_00034e30();\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x24) = &UNK_0003477e;\n      FUN_00034e30();\n    }\n    else {\n      *(byte **)(puVar18 + -0x10) = pbVar15;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034331;\n      iVar16 = bfd_generic_link_read_symbols();\n      if (iVar16 == 0) {\n        *(undefined4 *)(puVar18 + -8) = 5;\n        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar18 + -0x10) = 0;\n        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;\n        uVar12 = dcgettext();\n        *(byte **)(puVar18 + -0xc) = pbVar15;\n        *(undefined4 *)(puVar18 + -0x10) = uVar12;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;\n        FUN_00034d20();\n      }\n      iVar16 = *(int *)(pbVar15 + 4);\n      *(undefined4 *)(puVar18 + -0x10) = 0;\n      *(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c;\n      *(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38;\n      *(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78);\n      *(byte **)(puVar18 + -0x30) = pbVar15;\n      pcVar5 = *(code **)(iVar16 + 0x128);\n      *(undefined **)(puVar18 + -0x34) = &UNK_00034369;\n      iVar16 = (*pcVar5)();\n      if (iVar16 == 0) goto code_r0x00034747;\n      iVar16 = *(int *)(puVar18 + 0x38);\n      *(int *)(puVar18 + 8) = iVar16;\n      if ((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))) {\n        *(byte **)(puVar18 + -8) = pbVar15;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;\n        FUN_00034e30();\n        *(undefined4 *)(puVar18 + 0x18) = 1;\ncode_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }\n        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x38);\n        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;\n        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;\n        if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }\n        *(char **)(puVar18 + -4) = "";\n        *(int *)(puVar18 + -8) = iVar16;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      }\n      else {\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }\n      if (*(int *)(puVar18 + 0x18) == 0) goto code_r0x0003443a;\n    }\n    pbRam001d0878 = (byte *)0x0;\n    if (iRam001d0870 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0870;\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003479e;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0870 = 0;\n    }\n    if (iRam001d0874 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0874;\n      *(undefined **)(puVar18 + -0x14) = &UNK_000347c2;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0874 = 0;\n    }\ncode_r0x0003443a:\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x45:\n    *(undefined **)(puVar18 + -4) = &UNK_0003444a;\n    uVar12 = bfd_get_error();\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034453;\n    uVar12 = func_0x00016b10();\n    pbVar15 = *(byte **)(puVar18 + -0xc);\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034462;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x46:\n    bVar7 = pbVar22[1];\n    *(undefined4 *)(puVar18 + 0x10) = 1;\n    goto joined_r0x000340a6;\n  case 0x50:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = DAT_001d1558;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034695;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x56:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pcVar20 = "%016llx";\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    break;\n  case 0x57:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345d0;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345f5;\n    sVar11 = strlen(*(char **)(puVar18 + -0x10));\n    if (sVar11 < 8) {\n      *(byte **)(puVar18 + 8) = pbVar22;\n      uVar12 = *(undefined4 *)(puVar18 + 0x150);\n      *(byte **)(puVar18 + 0x18) = param_2;\n      do {\n        sVar11 = sVar11 + 1;\n        *(undefined4 *)(puVar18 + -0xc) = uVar12;\n        *(undefined4 *)(puVar18 + -0x10) = 0x20;\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003461c;\n        putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      } while (sVar11 != 8);\n      pbVar22 = *(byte **)(puVar18 + 8);\n      param_2 = *(byte **)(puVar18 + 0x18);\n    }\n    pcVar20 = "0x%s";\n    *(byte **)(puVar18 + -8) = pbVar15;\n    break;\n  case 0x58:\n    DAT_001d14e4 = 0;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 100:\n    puVar10 = &DAT_0006c013;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    goto code_r0x000344af;\n  case 0x6c:\n    if (pbVar22[1] == 100) {\n      puVar10 = &UNK_0007d7c3;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000342cd:\n      *(undefined **)(puVar18 + -0xc) = puVar10;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_000342dd;\n      fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n      bVar7 = pbVar22[2];\n      param_2 = pbVar22 + 2;\n      goto joined_r0x000340a6;\n    }\n    if (pbVar22[1] == 0x75) {\n      puVar10 = &UNK_0007d7c7;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n      goto code_r0x000342cd;\n    }\n  default:\nLAB_0003421d:\n    pcVar20 = "%%%c";\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + 8);\n    break;\n  case 0x70:\n    bVar7 = pbVar22[1];\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    if (bVar7 == 0x41) {\n      pbVar21 = pbVar22 + 2;\n      puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n      pbVar15 = (byte *)puVar13[0x2b];\n      *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined4 *)(puVar18 + -0x10) = *puVar13;\n      *(undefined4 **)(puVar18 + 8) = puVar13;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034a7f;\n      fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      iVar16 = *(int *)(puVar18 + 8);\n      if (pbVar15 != (byte *)0x0) {\n        if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }\n        if (iVar16 != 0) {\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }\n    }\n    else {\n      if (bVar7 == 0x42) {\n        pbVar21 = pbVar22 + 2;\n        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;\n        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);\n        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));\n        bVar7 = pbVar22[2];\n        puVar18 = puVar19 + 8;\n        param_2 = pbVar21;\n        goto joined_r0x000340a6;\n      }\n      if (bVar7 == 0x49) {\n        pbVar21 = pbVar22 + 2;\n        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);\n        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }\n    }\nLAB_000349da:\n    bVar7 = pbVar22[2];\n    param_2 = pbVar21;\n    goto joined_r0x000340a6;\n  case 0x73:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034489;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x75:\n    puVar10 = &UNK_0007d7b3;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000344af:\n    *(undefined **)(puVar18 + -0xc) = puVar10;\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined **)(puVar18 + -0x14) = &UNK_000344bc;\n    fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x76:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_0003426c;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034298;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  }" { (case_statement "case 0:\n    param_2 = pbVar22;" case number_literal : (expression_statement "param_2 = pbVar22;" (assignment_expression "param_2 = pbVar22" identifier = identifier) ;)) (case_statement "case 0x25:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = 0x25;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034207;\n    putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = *param_2;\n    goto joined_r0x000340a6;" case number_literal : (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" * (cast_expression "(undefined4 *)(puVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = 0x25;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = 0x25" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034207;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034207" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034207" & identifier)) ;) (expression_statement "putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));" (call_expression "putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" identifier (argument_list "(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" ( (pointer_expression "*(int *)(puVar18 + -0x10)" * (cast_expression "(int *)(puVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar18 + -0xc)" * (cast_expression "(FILE **)(puVar18 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "bVar7 = *param_2;" (assignment_expression "bVar7 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) (case_statement "case 0x43:" case number_literal :) (case_statement "case 0x44:" case number_literal :) (case_statement "case 0x47:" case number_literal :) (case_statement "case 0x48:\n    iVar16 = iVar16 * 0x10;\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pbVar15 = *(byte **)(puVar18 + iVar16 + 0xa0);\n    *(undefined4 *)(puVar18 + 0x1c) = *(undefined4 *)(puVar18 + iVar16 + 0xa4);\n    uVar12 = *(undefined4 *)(puVar18 + iVar16 + 0xac);\n    *(undefined4 *)(puVar18 + 0x20) = *(undefined4 *)(puVar18 + iVar16 + 0xa8);\n    *(undefined4 *)(puVar18 + 0x24) = uVar12;\n    if (pbVar15 == (byte *)0x0) {\ncode_r0x00034747:\n      *(byte **)(puVar18 + -8) = pbVar15;\n      *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003475e;\n      FUN_00034e30();\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x24) = &UNK_0003477e;\n      FUN_00034e30();\n    }\n    else {\n      *(byte **)(puVar18 + -0x10) = pbVar15;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034331;\n      iVar16 = bfd_generic_link_read_symbols();\n      if (iVar16 == 0) {\n        *(undefined4 *)(puVar18 + -8) = 5;\n        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar18 + -0x10) = 0;\n        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;\n        uVar12 = dcgettext();\n        *(byte **)(puVar18 + -0xc) = pbVar15;\n        *(undefined4 *)(puVar18 + -0x10) = uVar12;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;\n        FUN_00034d20();\n      }\n      iVar16 = *(int *)(pbVar15 + 4);\n      *(undefined4 *)(puVar18 + -0x10) = 0;\n      *(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c;\n      *(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38;\n      *(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78);\n      *(byte **)(puVar18 + -0x30) = pbVar15;\n      pcVar5 = *(code **)(iVar16 + 0x128);\n      *(undefined **)(puVar18 + -0x34) = &UNK_00034369;\n      iVar16 = (*pcVar5)();\n      if (iVar16 == 0) goto code_r0x00034747;\n      iVar16 = *(int *)(puVar18 + 0x38);\n      *(int *)(puVar18 + 8) = iVar16;\n      if ((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))) {\n        *(byte **)(puVar18 + -8) = pbVar15;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;\n        FUN_00034e30();\n        *(undefined4 *)(puVar18 + 0x18) = 1;\ncode_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }\n        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x38);\n        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;\n        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;\n        if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }\n        *(char **)(puVar18 + -4) = "";\n        *(int *)(puVar18 + -8) = iVar16;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      }\n      else {\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }\n      if (*(int *)(puVar18 + 0x18) == 0) goto code_r0x0003443a;\n    }\n    pbRam001d0878 = (byte *)0x0;\n    if (iRam001d0870 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0870;\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003479e;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0870 = 0;\n    }\n    if (iRam001d0874 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0874;\n      *(undefined **)(puVar18 + -0x14) = &UNK_000347c2;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0874 = 0;\n    }\ncode_r0x0003443a:\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;" case number_literal : (expression_statement "iVar16 = iVar16 * 0x10;" (assignment_expression "iVar16 = iVar16 * 0x10" identifier = (binary_expression "iVar16 * 0x10" identifier * number_literal)) ;) (expression_statement "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;" (assignment_expression "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pbVar15 = *(byte **)(puVar18 + iVar16 + 0xa0);" (assignment_expression "pbVar15 = *(byte **)(puVar18 + iVar16 + 0xa0)" identifier = (pointer_expression "*(byte **)(puVar18 + iVar16 + 0xa0)" * (cast_expression "(byte **)(puVar18 + iVar16 + 0xa0)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + iVar16 + 0xa0)" ( (binary_expression "puVar18 + iVar16 + 0xa0" (binary_expression "puVar18 + iVar16" identifier + identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + 0x1c) = *(undefined4 *)(puVar18 + iVar16 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar18 + 0x1c) = *(undefined4 *)(puVar18 + iVar16 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar18 + 0x1c)" * (cast_expression "(undefined4 *)(puVar18 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x1c)" ( (binary_expression "puVar18 + 0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + iVar16 + 0xa4)" * (cast_expression "(undefined4 *)(puVar18 + iVar16 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + iVar16 + 0xa4)" ( (binary_expression "puVar18 + iVar16 + 0xa4" (binary_expression "puVar18 + iVar16" identifier + identifier) + number_literal) ))))) ;) (expression_statement "uVar12 = *(undefined4 *)(puVar18 + iVar16 + 0xac);" (assignment_expression "uVar12 = *(undefined4 *)(puVar18 + iVar16 + 0xac)" identifier = (pointer_expression "*(undefined4 *)(puVar18 + iVar16 + 0xac)" * (cast_expression "(undefined4 *)(puVar18 + iVar16 + 0xac)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + iVar16 + 0xac)" ( (binary_expression "puVar18 + iVar16 + 0xac" (binary_expression "puVar18 + iVar16" identifier + identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + 0x20) = *(undefined4 *)(puVar18 + iVar16 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar18 + 0x20) = *(undefined4 *)(puVar18 + iVar16 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar18 + 0x20)" * (cast_expression "(undefined4 *)(puVar18 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x20)" ( (binary_expression "puVar18 + 0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + iVar16 + 0xa8)" * (cast_expression "(undefined4 *)(puVar18 + iVar16 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + iVar16 + 0xa8)" ( (binary_expression "puVar18 + iVar16 + 0xa8" (binary_expression "puVar18 + iVar16" identifier + identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + 0x24) = uVar12;" (assignment_expression "*(undefined4 *)(puVar18 + 0x24) = uVar12" (pointer_expression "*(undefined4 *)(puVar18 + 0x24)" * (cast_expression "(undefined4 *)(puVar18 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x24)" ( (binary_expression "puVar18 + 0x24" identifier + number_literal) )))) = identifier) ;) (if_statement "if (pbVar15 == (byte *)0x0) {\ncode_r0x00034747:\n      *(byte **)(puVar18 + -8) = pbVar15;\n      *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003475e;\n      FUN_00034e30();\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x24) = &UNK_0003477e;\n      FUN_00034e30();\n    }\n    else {\n      *(byte **)(puVar18 + -0x10) = pbVar15;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034331;\n      iVar16 = bfd_generic_link_read_symbols();\n      if (iVar16 == 0) {\n        *(undefined4 *)(puVar18 + -8) = 5;\n        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar18 + -0x10) = 0;\n        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;\n        uVar12 = dcgettext();\n        *(byte **)(puVar18 + -0xc) = pbVar15;\n        *(undefined4 *)(puVar18 + -0x10) = uVar12;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;\n        FUN_00034d20();\n      }\n      iVar16 = *(int *)(pbVar15 + 4);\n      *(undefined4 *)(puVar18 + -0x10) = 0;\n      *(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c;\n      *(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38;\n      *(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78);\n      *(byte **)(puVar18 + -0x30) = pbVar15;\n      pcVar5 = *(code **)(iVar16 + 0x128);\n      *(undefined **)(puVar18 + -0x34) = &UNK_00034369;\n      iVar16 = (*pcVar5)();\n      if (iVar16 == 0) goto code_r0x00034747;\n      iVar16 = *(int *)(puVar18 + 0x38);\n      *(int *)(puVar18 + 8) = iVar16;\n      if ((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))) {\n        *(byte **)(puVar18 + -8) = pbVar15;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;\n        FUN_00034e30();\n        *(undefined4 *)(puVar18 + 0x18) = 1;\ncode_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }\n        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x38);\n        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;\n        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;\n        if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }\n        *(char **)(puVar18 + -4) = "";\n        *(int *)(puVar18 + -8) = iVar16;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      }\n      else {\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }\n      if (*(int *)(puVar18 + 0x18) == 0) goto code_r0x0003443a;\n    }" if (parenthesized_expression "(pbVar15 == (byte *)0x0)" ( (binary_expression "pbVar15 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\ncode_r0x00034747:\n      *(byte **)(puVar18 + -8) = pbVar15;\n      *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003475e;\n      FUN_00034e30();\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x24) = &UNK_0003477e;\n      FUN_00034e30();\n    }" { (labeled_statement "code_r0x00034747:\n      *(byte **)(puVar18 + -8) = pbVar15;" statement_identifier : (expression_statement "*(byte **)(puVar18 + -8) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -8) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -8)" * (cast_expression "(byte **)(puVar18 + -8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;" (assignment_expression "*(undefined **)(puVar18 + -0xc) = &UNK_0007d36d" (pointer_expression "*(undefined **)(puVar18 + -0xc)" * (cast_expression "(undefined **)(puVar18 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "&UNK_0007d36d" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_0003475e;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_0003475e" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0003475e" & identifier)) ;) (expression_statement "FUN_00034e30();" (call_expression "FUN_00034e30()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x24)" * (cast_expression "(undefined4 *)(puVar18 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x24)" ( (binary_expression "puVar18 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20)" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x20)" * (cast_expression "(undefined4 *)(puVar18 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x20)" ( (binary_expression "puVar18 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);" (assignment_expression "*(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c)" (pointer_expression "*(undefined4 *)(puVar18 + -0x18)" * (cast_expression "(undefined4 *)(puVar18 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x18)" ( (binary_expression "puVar18 + -0x18" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x1c)" * (cast_expression "(undefined4 *)(puVar18 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x1c)" ( (binary_expression "puVar18 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;" (assignment_expression "*(undefined **)(puVar18 + -0x1c) = &UNK_0007d781" (pointer_expression "*(undefined **)(puVar18 + -0x1c)" * (cast_expression "(undefined **)(puVar18 + -0x1c)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x1c)" ( (binary_expression "puVar18 + -0x1c" identifier + number_literal) )))) = (pointer_expression "&UNK_0007d781" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x20)" * (cast_expression "(undefined4 *)(puVar18 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x20)" ( (binary_expression "puVar18 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x24) = &UNK_0003477e;" (assignment_expression "*(undefined **)(puVar18 + -0x24) = &UNK_0003477e" (pointer_expression "*(undefined **)(puVar18 + -0x24)" * (cast_expression "(undefined **)(puVar18 + -0x24)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x24)" ( (binary_expression "puVar18 + -0x24" identifier + number_literal) )))) = (pointer_expression "&UNK_0003477e" & identifier)) ;) (expression_statement "FUN_00034e30();" (call_expression "FUN_00034e30()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n      *(byte **)(puVar18 + -0x10) = pbVar15;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034331;\n      iVar16 = bfd_generic_link_read_symbols();\n      if (iVar16 == 0) {\n        *(undefined4 *)(puVar18 + -8) = 5;\n        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar18 + -0x10) = 0;\n        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;\n        uVar12 = dcgettext();\n        *(byte **)(puVar18 + -0xc) = pbVar15;\n        *(undefined4 *)(puVar18 + -0x10) = uVar12;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;\n        FUN_00034d20();\n      }\n      iVar16 = *(int *)(pbVar15 + 4);\n      *(undefined4 *)(puVar18 + -0x10) = 0;\n      *(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c;\n      *(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38;\n      *(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78);\n      *(byte **)(puVar18 + -0x30) = pbVar15;\n      pcVar5 = *(code **)(iVar16 + 0x128);\n      *(undefined **)(puVar18 + -0x34) = &UNK_00034369;\n      iVar16 = (*pcVar5)();\n      if (iVar16 == 0) goto code_r0x00034747;\n      iVar16 = *(int *)(puVar18 + 0x38);\n      *(int *)(puVar18 + 8) = iVar16;\n      if ((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))) {\n        *(byte **)(puVar18 + -8) = pbVar15;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;\n        FUN_00034e30();\n        *(undefined4 *)(puVar18 + 0x18) = 1;\ncode_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }\n        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x38);\n        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;\n        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;\n        if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }\n        *(char **)(puVar18 + -4) = "";\n        *(int *)(puVar18 + -8) = iVar16;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      }\n      else {\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }\n      if (*(int *)(puVar18 + 0x18) == 0) goto code_r0x0003443a;\n    }" else (compound_statement "{\n      *(byte **)(puVar18 + -0x10) = pbVar15;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034331;\n      iVar16 = bfd_generic_link_read_symbols();\n      if (iVar16 == 0) {\n        *(undefined4 *)(puVar18 + -8) = 5;\n        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar18 + -0x10) = 0;\n        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;\n        uVar12 = dcgettext();\n        *(byte **)(puVar18 + -0xc) = pbVar15;\n        *(undefined4 *)(puVar18 + -0x10) = uVar12;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;\n        FUN_00034d20();\n      }\n      iVar16 = *(int *)(pbVar15 + 4);\n      *(undefined4 *)(puVar18 + -0x10) = 0;\n      *(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c;\n      *(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38;\n      *(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78);\n      *(byte **)(puVar18 + -0x30) = pbVar15;\n      pcVar5 = *(code **)(iVar16 + 0x128);\n      *(undefined **)(puVar18 + -0x34) = &UNK_00034369;\n      iVar16 = (*pcVar5)();\n      if (iVar16 == 0) goto code_r0x00034747;\n      iVar16 = *(int *)(puVar18 + 0x38);\n      *(int *)(puVar18 + 8) = iVar16;\n      if ((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))) {\n        *(byte **)(puVar18 + -8) = pbVar15;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;\n        FUN_00034e30();\n        *(undefined4 *)(puVar18 + 0x18) = 1;\ncode_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }\n        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x38);\n        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;\n        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;\n        if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }\n        *(char **)(puVar18 + -4) = "";\n        *(int *)(puVar18 + -8) = iVar16;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      }\n      else {\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }\n      if (*(int *)(puVar18 + 0x18) == 0) goto code_r0x0003443a;\n    }" { (expression_statement "*(byte **)(puVar18 + -0x10) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -0x10) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -0x10)" * (cast_expression "(byte **)(puVar18 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034331;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034331" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034331" & identifier)) ;) (expression_statement "iVar16 = bfd_generic_link_read_symbols();" (assignment_expression "iVar16 = bfd_generic_link_read_symbols()" identifier = (call_expression "bfd_generic_link_read_symbols()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar16 == 0) {\n        *(undefined4 *)(puVar18 + -8) = 5;\n        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar18 + -0x10) = 0;\n        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;\n        uVar12 = dcgettext();\n        *(byte **)(puVar18 + -0xc) = pbVar15;\n        *(undefined4 *)(puVar18 + -0x10) = uVar12;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;\n        FUN_00034d20();\n      }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n        *(undefined4 *)(puVar18 + -8) = 5;\n        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar18 + -0x10) = 0;\n        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;\n        uVar12 = dcgettext();\n        *(byte **)(puVar18 + -0xc) = pbVar15;\n        *(undefined4 *)(puVar18 + -0x10) = uVar12;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;\n        FUN_00034d20();\n      }" { (expression_statement "*(undefined4 *)(puVar18 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";" (assignment_expression "*(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n"" (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (string_literal ""%F%P: %pB: could not read symbols: %E\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_000349f8;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_000349f8" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_000349f8" & identifier)) ;) (expression_statement "uVar12 = dcgettext();" (assignment_expression "uVar12 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(byte **)(puVar18 + -0xc) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -0xc) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -0xc)" * (cast_expression "(byte **)(puVar18 + -0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar12;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar12" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034a01;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034a01" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034a01" & identifier)) ;) (expression_statement "FUN_00034d20();" (call_expression "FUN_00034d20()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar16 = *(int *)(pbVar15 + 4);" (assignment_expression "iVar16 = *(int *)(pbVar15 + 4)" identifier = (pointer_expression "*(int *)(pbVar15 + 4)" * (cast_expression "(int *)(pbVar15 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar15 + 4)" ( (binary_expression "pbVar15 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c;" (assignment_expression "*(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c" (pointer_expression "*(undefined1 **)(puVar18 + -0x14)" * (cast_expression "(undefined1 **)(puVar18 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (binary_expression "puVar18 + 0x3c" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38;" (assignment_expression "*(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38" (pointer_expression "*(undefined1 **)(puVar18 + -0x18)" * (cast_expression "(undefined1 **)(puVar18 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x18)" ( (binary_expression "puVar18 + -0x18" identifier + number_literal) )))) = (binary_expression "puVar18 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34;" (assignment_expression "*(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34" (pointer_expression "*(undefined1 **)(puVar18 + -0x1c)" * (cast_expression "(undefined1 **)(puVar18 + -0x1c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x1c)" ( (binary_expression "puVar18 + -0x1c" identifier + number_literal) )))) = (binary_expression "puVar18 + 0x34" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24);" (assignment_expression "*(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24)" (pointer_expression "*(undefined4 *)(puVar18 + -0x20)" * (cast_expression "(undefined4 *)(puVar18 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x20)" ( (binary_expression "puVar18 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x24)" * (cast_expression "(undefined4 *)(puVar18 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x24)" ( (binary_expression "puVar18 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20);" (assignment_expression "*(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20)" (pointer_expression "*(undefined4 *)(puVar18 + -0x24)" * (cast_expression "(undefined4 *)(puVar18 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x24)" ( (binary_expression "puVar18 + -0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x20)" * (cast_expression "(undefined4 *)(puVar18 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x20)" ( (binary_expression "puVar18 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c);" (assignment_expression "*(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c)" (pointer_expression "*(undefined4 *)(puVar18 + -0x28)" * (cast_expression "(undefined4 *)(puVar18 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x28)" ( (binary_expression "puVar18 + -0x28" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x1c)" * (cast_expression "(undefined4 *)(puVar18 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x1c)" ( (binary_expression "puVar18 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78);" (assignment_expression "*(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78)" (pointer_expression "*(undefined4 *)(puVar18 + -0x2c)" * (cast_expression "(undefined4 *)(puVar18 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x2c)" ( (binary_expression "puVar18 + -0x2c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pbVar15 + 0x78)" * (cast_expression "(undefined4 *)(pbVar15 + 0x78)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar15 + 0x78)" ( (binary_expression "pbVar15 + 0x78" identifier + number_literal) ))))) ;) (expression_statement "*(byte **)(puVar18 + -0x30) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -0x30) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -0x30)" * (cast_expression "(byte **)(puVar18 + -0x30)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x30)" ( (binary_expression "puVar18 + -0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar5 = *(code **)(iVar16 + 0x128);" (assignment_expression "pcVar5 = *(code **)(iVar16 + 0x128)" identifier = (pointer_expression "*(code **)(iVar16 + 0x128)" * (cast_expression "(code **)(iVar16 + 0x128)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar16 + 0x128)" ( (binary_expression "iVar16 + 0x128" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x34) = &UNK_00034369;" (assignment_expression "*(undefined **)(puVar18 + -0x34) = &UNK_00034369" (pointer_expression "*(undefined **)(puVar18 + -0x34)" * (cast_expression "(undefined **)(puVar18 + -0x34)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x34)" ( (binary_expression "puVar18 + -0x34" identifier + number_literal) )))) = (pointer_expression "&UNK_00034369" & identifier)) ;) (expression_statement "iVar16 = (*pcVar5)();" (assignment_expression "iVar16 = (*pcVar5)()" identifier = (call_expression "(*pcVar5)()" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar16 == 0) goto code_r0x00034747;" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x00034747;" goto statement_identifier ;)) (expression_statement "iVar16 = *(int *)(puVar18 + 0x38);" (assignment_expression "iVar16 = *(int *)(puVar18 + 0x38)" identifier = (pointer_expression "*(int *)(puVar18 + 0x38)" * (cast_expression "(int *)(puVar18 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x38)" ( (binary_expression "puVar18 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar18 + 8) = iVar16;" (assignment_expression "*(int *)(puVar18 + 8) = iVar16" (pointer_expression "*(int *)(puVar18 + 8)" * (cast_expression "(int *)(puVar18 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))) {\n        *(byte **)(puVar18 + -8) = pbVar15;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;\n        FUN_00034e30();\n        *(undefined4 *)(puVar18 + 0x18) = 1;\ncode_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }\n        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x38);\n        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;\n        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;\n        if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }\n        *(char **)(puVar18 + -4) = "";\n        *(int *)(puVar18 + -8) = iVar16;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      }\n      else {\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }" if (parenthesized_expression "((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48))))" ( (binary_expression "(iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))" (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) || (parenthesized_expression "((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))" ( (parenthesized_expression "(*pbVar22 != 0x43 && (*pbVar22 != 0x48))" ( (binary_expression "*pbVar22 != 0x43 && (*pbVar22 != 0x48)" (binary_expression "*pbVar22 != 0x43" (pointer_expression "*pbVar22" * identifier) != number_literal) && (parenthesized_expression "(*pbVar22 != 0x48)" ( (binary_expression "*pbVar22 != 0x48" (pointer_expression "*pbVar22" * identifier) != number_literal) ))) )) ))) )) (compound_statement "{\n        *(byte **)(puVar18 + -8) = pbVar15;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;\n        FUN_00034e30();\n        *(undefined4 *)(puVar18 + 0x18) = 1;\ncode_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }\n        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x38);\n        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;\n        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;\n        if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }\n        *(char **)(puVar18 + -4) = "";\n        *(int *)(puVar18 + -8) = iVar16;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      }" { (expression_statement "*(byte **)(puVar18 + -8) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -8) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -8)" * (cast_expression "(byte **)(puVar18 + -8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;" (assignment_expression "*(undefined **)(puVar18 + -0xc) = &UNK_0007d36d" (pointer_expression "*(undefined **)(puVar18 + -0xc)" * (cast_expression "(undefined **)(puVar18 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "&UNK_0007d36d" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_000343aa;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_000343aa" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_000343aa" & identifier)) ;) (expression_statement "FUN_00034e30();" (call_expression "FUN_00034e30()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar18 + 0x18) = 1;" (assignment_expression "*(undefined4 *)(puVar18 + 0x18) = 1" (pointer_expression "*(undefined4 *)(puVar18 + 0x18)" * (cast_expression "(undefined4 *)(puVar18 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x18)" ( (binary_expression "puVar18 + 0x18" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "code_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }" statement_identifier : (if_statement "if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }" if (parenthesized_expression "(*(int *)(puVar18 + 0x34) == 0)" ( (binary_expression "*(int *)(puVar18 + 0x34) == 0" (pointer_expression "*(int *)(puVar18 + 0x34)" * (cast_expression "(int *)(puVar18 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x34)" ( (binary_expression "puVar18 + 0x34" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }" { (expression_statement "iVar16 = *(int *)(puVar18 + 0x38);" (assignment_expression "iVar16 = *(int *)(puVar18 + 0x38)" identifier = (pointer_expression "*(int *)(puVar18 + 0x38)" * (cast_expression "(int *)(puVar18 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x38)" ( (binary_expression "puVar18 + 0x38" identifier + number_literal) ))))) ;) (goto_statement "goto code_r0x00034a0d;" goto statement_identifier ;) }))) (expression_statement "*(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);" (assignment_expression "*(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34)" (pointer_expression "*(int *)(puVar18 + -8)" * (cast_expression "(int *)(puVar18 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = (pointer_expression "*(int *)(puVar18 + 0x34)" * (cast_expression "(int *)(puVar18 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x34)" ( (binary_expression "puVar18 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0xc) = &UNK_0007d779;" (assignment_expression "*(undefined **)(puVar18 + -0xc) = &UNK_0007d779" (pointer_expression "*(undefined **)(puVar18 + -0xc)" * (cast_expression "(undefined **)(puVar18 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "&UNK_0007d779" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_000343d8;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_000343d8" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_000343d8" & identifier)) ;) (expression_statement "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (call_expression "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier (argument_list "(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" ( (pointer_expression "*(FILE **)(puVar18 + -0x10)" * (cast_expression "(FILE **)(puVar18 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "iVar16 = *(int *)(puVar18 + 0x38);" (assignment_expression "iVar16 = *(int *)(puVar18 + 0x38)" identifier = (pointer_expression "*(int *)(puVar18 + 0x38)" * (cast_expression "(int *)(puVar18 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x38)" ( (binary_expression "puVar18 + 0x38" identifier + number_literal) ))))) ;) (if_statement "if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;" if (parenthesized_expression "((iVar16 != 0) && (*pbVar22 == 0x47))" ( (binary_expression "(iVar16 != 0) && (*pbVar22 == 0x47)" (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) && (parenthesized_expression "(*pbVar22 == 0x47)" ( (binary_expression "*pbVar22 == 0x47" (pointer_expression "*pbVar22" * identifier) == number_literal) ))) )) (goto_statement "goto code_r0x00034a20;" goto statement_identifier ;)) (if_statement "if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;" if (parenthesized_expression "((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))" ( (binary_expression "(*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0)" (parenthesized_expression "(*(int *)(puVar18 + 0x34) == 0)" ( (binary_expression "*(int *)(puVar18 + 0x34) == 0" (pointer_expression "*(int *)(puVar18 + 0x34)" * (cast_expression "(int *)(puVar18 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x34)" ( (binary_expression "puVar18 + 0x34" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0)" ( (comma_expression "iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0" (assignment_expression "iVar16 = *(int *)(puVar18 + 0x3c)" identifier = (pointer_expression "*(int *)(puVar18 + 0x3c)" * (cast_expression "(int *)(puVar18 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3c)" ( (binary_expression "puVar18 + 0x3c" identifier + number_literal) ))))) , (binary_expression "iVar16 == 0" identifier == number_literal)) ))) )) (goto_statement "goto code_r0x00034902;" goto statement_identifier ;)) (if_statement "if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }" if (parenthesized_expression "(*pbVar22 == 0x48)" ( (binary_expression "*pbVar22 == 0x48" (pointer_expression "*pbVar22" * identifier) == number_literal) )) (compound_statement "{\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }" { (expression_statement "*(undefined **)(puVar18 + -4) = &UNK_0007b12f;" (assignment_expression "*(undefined **)(puVar18 + -4) = &UNK_0007b12f" (pointer_expression "*(undefined **)(puVar18 + -4)" * (cast_expression "(undefined **)(puVar18 + -4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = (pointer_expression "&UNK_0007b12f" & identifier)) ;) (expression_statement "*(int *)(puVar18 + -8) = iVar16;" (assignment_expression "*(int *)(puVar18 + -8) = iVar16" (pointer_expression "*(int *)(puVar18 + -8)" * (cast_expression "(int *)(puVar18 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;" (assignment_expression "*(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0" (pointer_expression "*(undefined **)(puVar18 + -0xc)" * (cast_expression "(undefined **)(puVar18 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "&UNK_0007d7d0" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_000348ff;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_000348ff" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_000348ff" & identifier)) ;) (expression_statement "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (call_expression "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier (argument_list "(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" ( (pointer_expression "*(FILE **)(puVar18 + -0x10)" * (cast_expression "(FILE **)(puVar18 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) (goto_statement "goto code_r0x00034902;" goto statement_identifier ;) })) (expression_statement "*(char **)(puVar18 + -4) = "";" (assignment_expression "*(char **)(puVar18 + -4) = """ (pointer_expression "*(char **)(puVar18 + -4)" * (cast_expression "(char **)(puVar18 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = (string_literal """" " ")) ;) (expression_statement "*(int *)(puVar18 + -8) = iVar16;" (assignment_expression "*(int *)(puVar18 + -8) = iVar16" (pointer_expression "*(int *)(puVar18 + -8)" * (cast_expression "(int *)(puVar18 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;" (assignment_expression "*(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0" (pointer_expression "*(undefined **)(puVar18 + -0xc)" * (cast_expression "(undefined **)(puVar18 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "&UNK_0007d7d0" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_0003442b;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_0003442b" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0003442b" & identifier)) ;) (expression_statement "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (call_expression "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier (argument_list "(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" ( (pointer_expression "*(FILE **)(puVar18 + -0x10)" * (cast_expression "(FILE **)(puVar18 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) }) (else_clause "else {\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }" else (compound_statement "{\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }" { (if_statement "if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }" if (parenthesized_expression "(((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15))" ( (binary_expression "((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)" (parenthesized_expression "((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0))" ( (binary_expression "(pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)" (parenthesized_expression "(pbRam001d0878 == (byte *)0x0)" ( (binary_expression "pbRam001d0878 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(iRam001d0874 == 0)" ( (binary_expression "iRam001d0874 == 0" identifier == number_literal) ))) )) || (parenthesized_expression "(pbRam001d0878 != pbVar15)" ( (binary_expression "pbRam001d0878 != pbVar15" identifier != identifier) ))) )) (compound_statement "{\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }" { (labeled_statement "code_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;" statement_identifier : (expression_statement "*(undefined4 *)(puVar18 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";" (assignment_expression "*(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n"" (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (string_literal ""%pB: in function `%pT\':\n"" " string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034813;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034813" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034813" & identifier)) ;) (expression_statement "uVar12 = dcgettext();" (assignment_expression "uVar12 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8)" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 8)" * (cast_expression "(undefined4 *)(puVar18 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(byte **)(puVar18 + -0x18) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -0x18) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -0x18)" * (cast_expression "(byte **)(puVar18 + -0x18)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x18)" ( (binary_expression "puVar18 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x1c) = uVar12;" (assignment_expression "*(undefined4 *)(puVar18 + -0x1c) = uVar12" (pointer_expression "*(undefined4 *)(puVar18 + -0x1c)" * (cast_expression "(undefined4 *)(puVar18 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x1c)" ( (binary_expression "puVar18 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x20)" * (cast_expression "(undefined4 *)(puVar18 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x20)" ( (binary_expression "puVar18 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x24) = &UNK_00034825;" (assignment_expression "*(undefined **)(puVar18 + -0x24) = &UNK_00034825" (pointer_expression "*(undefined **)(puVar18 + -0x24)" * (cast_expression "(undefined **)(puVar18 + -0x24)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x24)" ( (binary_expression "puVar18 + -0x24" identifier + number_literal) )))) = (pointer_expression "&UNK_00034825" & identifier)) ;) (expression_statement "FUN_00034e30();" (call_expression "FUN_00034e30()" identifier (argument_list "()" ( ))) ;) (expression_statement "pbRam001d0878 = pbVar15;" (assignment_expression "pbRam001d0878 = pbVar15" identifier = identifier) ;) (if_statement "if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }" if (parenthesized_expression "(iRam001d0870 != 0)" ( (binary_expression "iRam001d0870 != 0" identifier != number_literal) )) (compound_statement "{\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }" { (expression_statement "*(int *)(puVar18 + -0x10) = iRam001d0870;" (assignment_expression "*(int *)(puVar18 + -0x10) = iRam001d0870" (pointer_expression "*(int *)(puVar18 + -0x10)" * (cast_expression "(int *)(puVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034841;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034841" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034841" & identifier)) ;) (expression_statement "free(*(void **)(puVar18 + -0x10));" (call_expression "free(*(void **)(puVar18 + -0x10))" identifier (argument_list "(*(void **)(puVar18 + -0x10))" ( (pointer_expression "*(void **)(puVar18 + -0x10)" * (cast_expression "(void **)(puVar18 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) ))) ;) })) (expression_statement "iRam001d0870 = 0;" (assignment_expression "iRam001d0870 = 0" identifier = number_literal) ;) (if_statement "if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }" if (parenthesized_expression "(*(int *)(puVar18 + 0x34) != 0)" ( (binary_expression "*(int *)(puVar18 + 0x34) != 0" (pointer_expression "*(int *)(puVar18 + 0x34)" * (cast_expression "(int *)(puVar18 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x34)" ( (binary_expression "puVar18 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }" { (expression_statement "*(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);" (assignment_expression "*(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34)" (pointer_expression "*(int *)(puVar18 + -0x10)" * (cast_expression "(int *)(puVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(int *)(puVar18 + 0x34)" * (cast_expression "(int *)(puVar18 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x34)" ( (binary_expression "puVar18 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_0003485f;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_0003485f" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0003485f" & identifier)) ;) (expression_statement "iRam001d0870 = xstrdup();" (assignment_expression "iRam001d0870 = xstrdup()" identifier = (call_expression "xstrdup()" identifier (argument_list "()" ( )))) ;) })) (if_statement "if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }" if (parenthesized_expression "(iRam001d0874 != 0)" ( (binary_expression "iRam001d0874 != 0" identifier != number_literal) )) (compound_statement "{\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }" { (expression_statement "*(int *)(puVar18 + -0x10) = iRam001d0874;" (assignment_expression "*(int *)(puVar18 + -0x10) = iRam001d0874" (pointer_expression "*(int *)(puVar18 + -0x10)" * (cast_expression "(int *)(puVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_0003487b;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_0003487b" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0003487b" & identifier)) ;) (expression_statement "free(*(void **)(puVar18 + -0x10));" (call_expression "free(*(void **)(puVar18 + -0x10))" identifier (argument_list "(*(void **)(puVar18 + -0x10))" ( (pointer_expression "*(void **)(puVar18 + -0x10)" * (cast_expression "(void **)(puVar18 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) ))) ;) })) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x38)" * (cast_expression "(undefined4 *)(puVar18 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x38)" ( (binary_expression "puVar18 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_0003488a;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_0003488a" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0003488a" & identifier)) ;) (expression_statement "iRam001d0874 = xstrdup();" (assignment_expression "iRam001d0874 = xstrdup()" identifier = (call_expression "xstrdup()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + 0x18) = 0;" (assignment_expression "*(undefined4 *)(puVar18 + 0x18) = 0" (pointer_expression "*(undefined4 *)(puVar18 + 0x18)" * (cast_expression "(undefined4 *)(puVar18 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x18)" ( (binary_expression "puVar18 + 0x18" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto code_r0x000343b5;" goto statement_identifier ;) })) (expression_statement "iVar14 = *(int *)(puVar18 + 0x34);" (assignment_expression "iVar14 = *(int *)(puVar18 + 0x34)" identifier = (pointer_expression "*(int *)(puVar18 + 0x34)" * (cast_expression "(int *)(puVar18 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x34)" ( (binary_expression "puVar18 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar18 + 0x18) = iRam001d0870;" (assignment_expression "*(int *)(puVar18 + 0x18) = iRam001d0870" (pointer_expression "*(int *)(puVar18 + 0x18)" * (cast_expression "(int *)(puVar18 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x18)" ( (binary_expression "puVar18 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar18[0x28] = iRam001d0870 == 0;" (assignment_expression "puVar18[0x28] = iRam001d0870 == 0" (subscript_expression "puVar18[0x28]" identifier [ number_literal ]) = (binary_expression "iRam001d0870 == 0" identifier == number_literal)) ;) (expression_statement "puVar18[0x2f] = iVar14 == 0;" (assignment_expression "puVar18[0x2f] = iVar14 == 0" (subscript_expression "puVar18[0x2f]" identifier [ number_literal ]) = (binary_expression "iVar14 == 0" identifier == number_literal)) ;) (if_statement "if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;" if (parenthesized_expression "(puVar18[0x28] != puVar18[0x2f])" ( (binary_expression "puVar18[0x28] != puVar18[0x2f]" (subscript_expression "puVar18[0x28]" identifier [ number_literal ]) != (subscript_expression "puVar18[0x2f]" identifier [ number_literal ])) )) (goto_statement "goto code_r0x00034800;" goto statement_identifier ;)) (if_statement "if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (compound_statement "{\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }" { (expression_statement "*(int *)(puVar18 + -4) = iVar16;" (assignment_expression "*(int *)(puVar18 + -4) = iVar16" (pointer_expression "*(int *)(puVar18 + -4)" * (cast_expression "(int *)(puVar18 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar18 + -8) = iVar16;" (assignment_expression "*(int *)(puVar18 + -8) = iVar16" (pointer_expression "*(int *)(puVar18 + -8)" * (cast_expression "(int *)(puVar18 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar18 + -0xc) = iVar14;" (assignment_expression "*(int *)(puVar18 + -0xc) = iVar14" (pointer_expression "*(int *)(puVar18 + -0xc)" * (cast_expression "(int *)(puVar18 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x18)" * (cast_expression "(undefined4 *)(puVar18 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x18)" ( (binary_expression "puVar18 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034c8b" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034c8b" & identifier)) ;) (expression_statement "uVar23 = filename_cmp();" (assignment_expression "uVar23 = filename_cmp()" identifier = (call_expression "filename_cmp()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);" (assignment_expression "uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)uVar23 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)uVar23 >> 0x20)" ( (binary_expression "(ulonglong)uVar23 >> 0x20" (cast_expression "(ulonglong)uVar23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);" (assignment_expression "*(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38)" (pointer_expression "*(undefined4 *)(puVar18 + 8)" * (cast_expression "(undefined4 *)(puVar18 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x38)" * (cast_expression "(undefined4 *)(puVar18 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x38)" ( (binary_expression "puVar18 + 0x38" identifier + number_literal) ))))) ;) (if_statement "if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }" if (parenthesized_expression "((int)uVar23 == 0)" ( (binary_expression "(int)uVar23 == 0" (cast_expression "(int)uVar23" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }" { (expression_statement "*(undefined4 *)(puVar18 + -4) = uVar12;" (assignment_expression "*(undefined4 *)(puVar18 + -4) = uVar12" (pointer_expression "*(undefined4 *)(puVar18 + -4)" * (cast_expression "(undefined4 *)(puVar18 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = uVar12;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = uVar12" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" * (cast_expression "(undefined4 *)(puVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x38)" * (cast_expression "(undefined4 *)(puVar18 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x38)" ( (binary_expression "puVar18 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar18 + -0x10) = iRam001d0874;" (assignment_expression "*(int *)(puVar18 + -0x10) = iRam001d0874" (pointer_expression "*(int *)(puVar18 + -0x10)" * (cast_expression "(int *)(puVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034cac;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034cac" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034cac" & identifier)) ;) (expression_statement "iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (assignment_expression "iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier (argument_list "(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" ( (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "*(int *)(puVar18 + 0x18) = iVar16;" (assignment_expression "*(int *)(puVar18 + 0x18) = iVar16" (pointer_expression "*(int *)(puVar18 + 0x18)" * (cast_expression "(int *)(puVar18 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x18)" ( (binary_expression "puVar18 + 0x18" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar16 == 0) goto code_r0x000343b5;" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x000343b5;" goto statement_identifier ;)) })) (goto_statement "goto code_r0x00034800;" goto statement_identifier ;) })) (expression_statement "*(int *)(puVar18 + 8) = iVar16;" (assignment_expression "*(int *)(puVar18 + 8) = iVar16" (pointer_expression "*(int *)(puVar18 + 8)" * (cast_expression "(int *)(puVar18 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar18 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar18 + -4)" * (cast_expression "(undefined4 *)(puVar18 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar18 + -0xc) = iVar16;" (assignment_expression "*(int *)(puVar18 + -0xc) = iVar16" (pointer_expression "*(int *)(puVar18 + -0xc)" * (cast_expression "(int *)(puVar18 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar18 + 0x28) = iVar16;" (assignment_expression "*(int *)(puVar18 + 0x28) = iVar16" (pointer_expression "*(int *)(puVar18 + 0x28)" * (cast_expression "(int *)(puVar18 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x28)" ( (binary_expression "puVar18 + 0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar18 + -0x10) = iRam001d0874;" (assignment_expression "*(int *)(puVar18 + -0x10) = iRam001d0874" (pointer_expression "*(int *)(puVar18 + -0x10)" * (cast_expression "(int *)(puVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034cd6" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034cd6" & identifier)) ;) (expression_statement "iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (assignment_expression "iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier (argument_list "(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" ( (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "iVar16 = *(int *)(puVar18 + 0x28);" (assignment_expression "iVar16 = *(int *)(puVar18 + 0x28)" identifier = (pointer_expression "*(int *)(puVar18 + 0x28)" * (cast_expression "(int *)(puVar18 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x28)" ( (binary_expression "puVar18 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar18 + 0x18) = iVar14;" (assignment_expression "*(int *)(puVar18 + 0x18) = iVar14" (pointer_expression "*(int *)(puVar18 + 0x18)" * (cast_expression "(int *)(puVar18 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x18)" ( (binary_expression "puVar18 + 0x18" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar14 != 0) goto code_r0x00034800;" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (goto_statement "goto code_r0x00034800;" goto statement_identifier ;)) (labeled_statement "code_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }" statement_identifier : (if_statement "if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }" if (parenthesized_expression "((*pbVar22 == 0x47) && (iVar16 != 0))" ( (binary_expression "(*pbVar22 == 0x47) && (iVar16 != 0)" (parenthesized_expression "(*pbVar22 == 0x47)" ( (binary_expression "*pbVar22 == 0x47" (pointer_expression "*pbVar22" * identifier) == number_literal) )) && (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) ))) )) (compound_statement "{\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }" { (labeled_statement "code_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;" statement_identifier : (expression_statement "*(int *)(puVar18 + -8) = iVar16;" (assignment_expression "*(int *)(puVar18 + -8) = iVar16" (pointer_expression "*(int *)(puVar18 + -8)" * (cast_expression "(int *)(puVar18 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;" (assignment_expression "*(undefined **)(puVar18 + -0xc) = &UNK_0007d77d" (pointer_expression "*(undefined **)(puVar18 + -0xc)" * (cast_expression "(undefined **)(puVar18 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "&UNK_0007d77d" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034a37;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034a37" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034a37" & identifier)) ;) (expression_statement "FUN_00034e30();" (call_expression "FUN_00034e30()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }" else (compound_statement "{\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }" { (labeled_statement "code_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);" statement_identifier : (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x24)" * (cast_expression "(undefined4 *)(puVar18 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x24)" ( (binary_expression "puVar18 + 0x24" identifier + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20)" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x20)" * (cast_expression "(undefined4 *)(puVar18 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x20)" ( (binary_expression "puVar18 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);" (assignment_expression "*(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c)" (pointer_expression "*(undefined4 *)(puVar18 + -0x18)" * (cast_expression "(undefined4 *)(puVar18 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x18)" ( (binary_expression "puVar18 + -0x18" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x1c)" * (cast_expression "(undefined4 *)(puVar18 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x1c)" ( (binary_expression "puVar18 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;" (assignment_expression "*(undefined **)(puVar18 + -0x1c) = &UNK_0007d781" (pointer_expression "*(undefined **)(puVar18 + -0x1c)" * (cast_expression "(undefined **)(puVar18 + -0x1c)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x1c)" ( (binary_expression "puVar18 + -0x1c" identifier + number_literal) )))) = (pointer_expression "&UNK_0007d781" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x20)" * (cast_expression "(undefined4 *)(puVar18 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x20)" ( (binary_expression "puVar18 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x24) = &UNK_00034924;" (assignment_expression "*(undefined **)(puVar18 + -0x24) = &UNK_00034924" (pointer_expression "*(undefined **)(puVar18 + -0x24)" * (cast_expression "(undefined **)(puVar18 + -0x24)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x24)" ( (binary_expression "puVar18 + -0x24" identifier + number_literal) )))) = (pointer_expression "&UNK_00034924" & identifier)) ;) (expression_statement "FUN_00034e30();" (call_expression "FUN_00034e30()" identifier (argument_list "()" ( ))) ;) })))) }))) (if_statement "if (*(int *)(puVar18 + 0x18) == 0) goto code_r0x0003443a;" if (parenthesized_expression "(*(int *)(puVar18 + 0x18) == 0)" ( (binary_expression "*(int *)(puVar18 + 0x18) == 0" (pointer_expression "*(int *)(puVar18 + 0x18)" * (cast_expression "(int *)(puVar18 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x18)" ( (binary_expression "puVar18 + 0x18" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto code_r0x0003443a;" goto statement_identifier ;)) }))) (expression_statement "pbRam001d0878 = (byte *)0x0;" (assignment_expression "pbRam001d0878 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (iRam001d0870 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0870;\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003479e;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0870 = 0;\n    }" if (parenthesized_expression "(iRam001d0870 != 0)" ( (binary_expression "iRam001d0870 != 0" identifier != number_literal) )) (compound_statement "{\n      *(int *)(puVar18 + -0x10) = iRam001d0870;\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003479e;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0870 = 0;\n    }" { (expression_statement "*(int *)(puVar18 + -0x10) = iRam001d0870;" (assignment_expression "*(int *)(puVar18 + -0x10) = iRam001d0870" (pointer_expression "*(int *)(puVar18 + -0x10)" * (cast_expression "(int *)(puVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_0003479e;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_0003479e" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0003479e" & identifier)) ;) (expression_statement "free(*(void **)(puVar18 + -0x10));" (call_expression "free(*(void **)(puVar18 + -0x10))" identifier (argument_list "(*(void **)(puVar18 + -0x10))" ( (pointer_expression "*(void **)(puVar18 + -0x10)" * (cast_expression "(void **)(puVar18 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "iRam001d0870 = 0;" (assignment_expression "iRam001d0870 = 0" identifier = number_literal) ;) })) (if_statement "if (iRam001d0874 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0874;\n      *(undefined **)(puVar18 + -0x14) = &UNK_000347c2;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0874 = 0;\n    }" if (parenthesized_expression "(iRam001d0874 != 0)" ( (binary_expression "iRam001d0874 != 0" identifier != number_literal) )) (compound_statement "{\n      *(int *)(puVar18 + -0x10) = iRam001d0874;\n      *(undefined **)(puVar18 + -0x14) = &UNK_000347c2;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0874 = 0;\n    }" { (expression_statement "*(int *)(puVar18 + -0x10) = iRam001d0874;" (assignment_expression "*(int *)(puVar18 + -0x10) = iRam001d0874" (pointer_expression "*(int *)(puVar18 + -0x10)" * (cast_expression "(int *)(puVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_000347c2;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_000347c2" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_000347c2" & identifier)) ;) (expression_statement "free(*(void **)(puVar18 + -0x10));" (call_expression "free(*(void **)(puVar18 + -0x10))" identifier (argument_list "(*(void **)(puVar18 + -0x10))" ( (pointer_expression "*(void **)(puVar18 + -0x10)" * (cast_expression "(void **)(puVar18 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "iRam001d0874 = 0;" (assignment_expression "iRam001d0874 = 0" identifier = number_literal) ;) })) (labeled_statement "code_r0x0003443a:\n    bVar7 = pbVar22[1];" statement_identifier : (expression_statement "bVar7 = pbVar22[1];" (assignment_expression "bVar7 = pbVar22[1]" identifier = (subscript_expression "pbVar22[1]" identifier [ number_literal ])) ;)) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) (case_statement "case 0x45:\n    *(undefined **)(puVar18 + -4) = &UNK_0003444a;\n    uVar12 = bfd_get_error();\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034453;\n    uVar12 = func_0x00016b10();\n    pbVar15 = *(byte **)(puVar18 + -0xc);\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034462;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;" case number_literal : (expression_statement "*(undefined **)(puVar18 + -4) = &UNK_0003444a;" (assignment_expression "*(undefined **)(puVar18 + -4) = &UNK_0003444a" (pointer_expression "*(undefined **)(puVar18 + -4)" * (cast_expression "(undefined **)(puVar18 + -4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = (pointer_expression "&UNK_0003444a" & identifier)) ;) (expression_statement "uVar12 = bfd_get_error();" (assignment_expression "uVar12 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar12;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar12" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034453;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034453" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034453" & identifier)) ;) (expression_statement "uVar12 = func_0x00016b10();" (assignment_expression "uVar12 = func_0x00016b10()" identifier = (call_expression "func_0x00016b10()" identifier (argument_list "()" ( )))) ;) (expression_statement "pbVar15 = *(byte **)(puVar18 + -0xc);" (assignment_expression "pbVar15 = *(byte **)(puVar18 + -0xc)" identifier = (pointer_expression "*(byte **)(puVar18 + -0xc)" * (cast_expression "(byte **)(puVar18 + -0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" * (cast_expression "(undefined4 *)(puVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar12;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar12" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034462;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034462" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034462" & identifier)) ;) (expression_statement "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));" (call_expression "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" identifier (argument_list "(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" ( (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar18 + -0xc)" * (cast_expression "(FILE **)(puVar18 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "bVar7 = pbVar22[1];" (assignment_expression "bVar7 = pbVar22[1]" identifier = (subscript_expression "pbVar22[1]" identifier [ number_literal ])) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) (case_statement "case 0x46:\n    bVar7 = pbVar22[1];\n    *(undefined4 *)(puVar18 + 0x10) = 1;\n    goto joined_r0x000340a6;" case number_literal : (expression_statement "bVar7 = pbVar22[1];" (assignment_expression "bVar7 = pbVar22[1]" identifier = (subscript_expression "pbVar22[1]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar18 + 0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar18 + 0x10) = 1" (pointer_expression "*(undefined4 *)(puVar18 + 0x10)" * (cast_expression "(undefined4 *)(puVar18 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x10)" ( (binary_expression "puVar18 + 0x10" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) (case_statement "case 0x50:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = DAT_001d1558;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034695;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;" case number_literal : (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" * (cast_expression "(undefined4 *)(puVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = DAT_001d1558;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = DAT_001d1558" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034695;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034695" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034695" & identifier)) ;) (expression_statement "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));" (call_expression "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" identifier (argument_list "(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" ( (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar18 + -0xc)" * (cast_expression "(FILE **)(puVar18 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "bVar7 = pbVar22[1];" (assignment_expression "bVar7 = pbVar22[1]" identifier = (subscript_expression "pbVar22[1]" identifier [ number_literal ])) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) (case_statement "case 0x56:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pcVar20 = "%016llx";\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    break;" case number_literal : (expression_statement "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;" (assignment_expression "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pcVar20 = "%016llx";" (assignment_expression "pcVar20 = "%016llx"" identifier = (string_literal ""%016llx"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar18 + -4)" * (cast_expression "(undefined4 *)(puVar18 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4)" * (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa4)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa4" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" * (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0x57:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345d0;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345f5;\n    sVar11 = strlen(*(char **)(puVar18 + -0x10));\n    if (sVar11 < 8) {\n      *(byte **)(puVar18 + 8) = pbVar22;\n      uVar12 = *(undefined4 *)(puVar18 + 0x150);\n      *(byte **)(puVar18 + 0x18) = param_2;\n      do {\n        sVar11 = sVar11 + 1;\n        *(undefined4 *)(puVar18 + -0xc) = uVar12;\n        *(undefined4 *)(puVar18 + -0x10) = 0x20;\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003461c;\n        putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      } while (sVar11 != 8);\n      pbVar22 = *(byte **)(puVar18 + 8);\n      param_2 = *(byte **)(puVar18 + 0x18);\n    }\n    pcVar20 = "0x%s";\n    *(byte **)(puVar18 + -8) = pbVar15;\n    break;" case number_literal : (expression_statement "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;" (assignment_expression "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar18 + -4)" * (cast_expression "(undefined4 *)(puVar18 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4)" * (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa4)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa4" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" * (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(char **)(puVar18 + -0xc) = "%016llx";" (assignment_expression "*(char **)(puVar18 + -0xc) = "%016llx"" (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (string_literal ""%016llx"" " string_content ")) ;) (expression_statement "pcVar20 = puVar18 + 0x3c;" (assignment_expression "pcVar20 = puVar18 + 0x3c" identifier = (binary_expression "puVar18 + 0x3c" identifier + number_literal)) ;) (expression_statement "*(char **)(puVar18 + -0x10) = pcVar20;" (assignment_expression "*(char **)(puVar18 + -0x10) = pcVar20" (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_000345d0;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_000345d0" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_000345d0" & identifier)) ;) (expression_statement "sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (call_expression "sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier (argument_list "(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" ( (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "cVar2 = puVar18[0x3c];" (assignment_expression "cVar2 = puVar18[0x3c]" identifier = (subscript_expression "puVar18[0x3c]" identifier [ number_literal ])) ;) (while_statement "while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }" while (parenthesized_expression "(cVar2 == '0')" ( (binary_expression "cVar2 == '0'" identifier == (char_literal "'0'" ' character ')) )) (compound_statement "{\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }" { (expression_statement "pcVar20 = pcVar20 + 1;" (assignment_expression "pcVar20 = pcVar20 + 1" identifier = (binary_expression "pcVar20 + 1" identifier + number_literal)) ;) (expression_statement "cVar2 = *pcVar20;" (assignment_expression "cVar2 = *pcVar20" identifier = (pointer_expression "*pcVar20" * identifier)) ;) })) (expression_statement "pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));" (assignment_expression "pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'))" identifier = (cast_expression "(byte *)(pcVar20 + -(uint)(cVar2 == '\0'))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + -(uint)(cVar2 == '\0'))" ( (binary_expression "pcVar20 + -(uint)(cVar2 == '\0')" identifier + (unary_expression "-(uint)(cVar2 == '\0')" - (call_expression "(uint)(cVar2 == '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))))) )))) ;) (expression_statement "*(byte **)(puVar18 + -0x10) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -0x10) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -0x10)" * (cast_expression "(byte **)(puVar18 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_000345f5;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_000345f5" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_000345f5" & identifier)) ;) (expression_statement "sVar11 = strlen(*(char **)(puVar18 + -0x10));" (assignment_expression "sVar11 = strlen(*(char **)(puVar18 + -0x10))" identifier = (call_expression "strlen(*(char **)(puVar18 + -0x10))" identifier (argument_list "(*(char **)(puVar18 + -0x10))" ( (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (sVar11 < 8) {\n      *(byte **)(puVar18 + 8) = pbVar22;\n      uVar12 = *(undefined4 *)(puVar18 + 0x150);\n      *(byte **)(puVar18 + 0x18) = param_2;\n      do {\n        sVar11 = sVar11 + 1;\n        *(undefined4 *)(puVar18 + -0xc) = uVar12;\n        *(undefined4 *)(puVar18 + -0x10) = 0x20;\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003461c;\n        putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      } while (sVar11 != 8);\n      pbVar22 = *(byte **)(puVar18 + 8);\n      param_2 = *(byte **)(puVar18 + 0x18);\n    }" if (parenthesized_expression "(sVar11 < 8)" ( (binary_expression "sVar11 < 8" identifier < number_literal) )) (compound_statement "{\n      *(byte **)(puVar18 + 8) = pbVar22;\n      uVar12 = *(undefined4 *)(puVar18 + 0x150);\n      *(byte **)(puVar18 + 0x18) = param_2;\n      do {\n        sVar11 = sVar11 + 1;\n        *(undefined4 *)(puVar18 + -0xc) = uVar12;\n        *(undefined4 *)(puVar18 + -0x10) = 0x20;\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003461c;\n        putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      } while (sVar11 != 8);\n      pbVar22 = *(byte **)(puVar18 + 8);\n      param_2 = *(byte **)(puVar18 + 0x18);\n    }" { (expression_statement "*(byte **)(puVar18 + 8) = pbVar22;" (assignment_expression "*(byte **)(puVar18 + 8) = pbVar22" (pointer_expression "*(byte **)(puVar18 + 8)" * (cast_expression "(byte **)(puVar18 + 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar12 = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "uVar12 = *(undefined4 *)(puVar18 + 0x150)" identifier = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(byte **)(puVar18 + 0x18) = param_2;" (assignment_expression "*(byte **)(puVar18 + 0x18) = param_2" (pointer_expression "*(byte **)(puVar18 + 0x18)" * (cast_expression "(byte **)(puVar18 + 0x18)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x18)" ( (binary_expression "puVar18 + 0x18" identifier + number_literal) )))) = identifier) ;) (do_statement "do {\n        sVar11 = sVar11 + 1;\n        *(undefined4 *)(puVar18 + -0xc) = uVar12;\n        *(undefined4 *)(puVar18 + -0x10) = 0x20;\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003461c;\n        putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      } while (sVar11 != 8);" do (compound_statement "{\n        sVar11 = sVar11 + 1;\n        *(undefined4 *)(puVar18 + -0xc) = uVar12;\n        *(undefined4 *)(puVar18 + -0x10) = 0x20;\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003461c;\n        putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      }" { (expression_statement "sVar11 = sVar11 + 1;" (assignment_expression "sVar11 = sVar11 + 1" identifier = (binary_expression "sVar11 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0xc) = uVar12;" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = uVar12" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" * (cast_expression "(undefined4 *)(puVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = 0x20;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = 0x20" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_0003461c;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_0003461c" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0003461c" & identifier)) ;) (expression_statement "putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));" (call_expression "putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" identifier (argument_list "(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" ( (pointer_expression "*(int *)(puVar18 + -0x10)" * (cast_expression "(int *)(puVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar18 + -0xc)" * (cast_expression "(FILE **)(puVar18 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) }) while (parenthesized_expression "(sVar11 != 8)" ( (binary_expression "sVar11 != 8" identifier != number_literal) )) ;) (expression_statement "pbVar22 = *(byte **)(puVar18 + 8);" (assignment_expression "pbVar22 = *(byte **)(puVar18 + 8)" identifier = (pointer_expression "*(byte **)(puVar18 + 8)" * (cast_expression "(byte **)(puVar18 + 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) ))))) ;) (expression_statement "param_2 = *(byte **)(puVar18 + 0x18);" (assignment_expression "param_2 = *(byte **)(puVar18 + 0x18)" identifier = (pointer_expression "*(byte **)(puVar18 + 0x18)" * (cast_expression "(byte **)(puVar18 + 0x18)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x18)" ( (binary_expression "puVar18 + 0x18" identifier + number_literal) ))))) ;) })) (expression_statement "pcVar20 = "0x%s";" (assignment_expression "pcVar20 = "0x%s"" identifier = (string_literal ""0x%s"" " string_content ")) ;) (expression_statement "*(byte **)(puVar18 + -8) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -8) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -8)" * (cast_expression "(byte **)(puVar18 + -8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 0x58:\n    DAT_001d14e4 = 0;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;" case number_literal : (expression_statement "DAT_001d14e4 = 0;" (assignment_expression "DAT_001d14e4 = 0" identifier = number_literal) ;) (expression_statement "bVar7 = pbVar22[1];" (assignment_expression "bVar7 = pbVar22[1]" identifier = (subscript_expression "pbVar22[1]" identifier [ number_literal ])) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) (case_statement "case 100:\n    puVar10 = &DAT_0006c013;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    goto code_r0x000344af;" case number_literal : (expression_statement "puVar10 = &DAT_0006c013;" (assignment_expression "puVar10 = &DAT_0006c013" identifier = (pointer_expression "&DAT_0006c013" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" * (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (goto_statement "goto code_r0x000344af;" goto statement_identifier ;)) (case_statement "case 0x6c:\n    if (pbVar22[1] == 100) {\n      puVar10 = &UNK_0007d7c3;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000342cd:\n      *(undefined **)(puVar18 + -0xc) = puVar10;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_000342dd;\n      fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n      bVar7 = pbVar22[2];\n      param_2 = pbVar22 + 2;\n      goto joined_r0x000340a6;\n    }\n    if (pbVar22[1] == 0x75) {\n      puVar10 = &UNK_0007d7c7;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n      goto code_r0x000342cd;\n    }" case number_literal : (if_statement "if (pbVar22[1] == 100) {\n      puVar10 = &UNK_0007d7c3;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000342cd:\n      *(undefined **)(puVar18 + -0xc) = puVar10;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_000342dd;\n      fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n      bVar7 = pbVar22[2];\n      param_2 = pbVar22 + 2;\n      goto joined_r0x000340a6;\n    }" if (parenthesized_expression "(pbVar22[1] == 100)" ( (binary_expression "pbVar22[1] == 100" (subscript_expression "pbVar22[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      puVar10 = &UNK_0007d7c3;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000342cd:\n      *(undefined **)(puVar18 + -0xc) = puVar10;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_000342dd;\n      fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n      bVar7 = pbVar22[2];\n      param_2 = pbVar22 + 2;\n      goto joined_r0x000340a6;\n    }" { (expression_statement "puVar10 = &UNK_0007d7c3;" (assignment_expression "puVar10 = &UNK_0007d7c3" identifier = (pointer_expression "&UNK_0007d7c3" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" * (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (labeled_statement "code_r0x000342cd:\n      *(undefined **)(puVar18 + -0xc) = puVar10;" statement_identifier : (expression_statement "*(undefined **)(puVar18 + -0xc) = puVar10;" (assignment_expression "*(undefined **)(puVar18 + -0xc) = puVar10" (pointer_expression "*(undefined **)(puVar18 + -0xc)" * (cast_expression "(undefined **)(puVar18 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_000342dd;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_000342dd" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_000342dd" & identifier)) ;) (expression_statement "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (call_expression "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier (argument_list "(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" ( (pointer_expression "*(FILE **)(puVar18 + -0x10)" * (cast_expression "(FILE **)(puVar18 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;" (assignment_expression "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "bVar7 = pbVar22[2];" (assignment_expression "bVar7 = pbVar22[2]" identifier = (subscript_expression "pbVar22[2]" identifier [ number_literal ])) ;) (expression_statement "param_2 = pbVar22 + 2;" (assignment_expression "param_2 = pbVar22 + 2" identifier = (binary_expression "pbVar22 + 2" identifier + number_literal)) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;) })) (if_statement "if (pbVar22[1] == 0x75) {\n      puVar10 = &UNK_0007d7c7;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n      goto code_r0x000342cd;\n    }" if (parenthesized_expression "(pbVar22[1] == 0x75)" ( (binary_expression "pbVar22[1] == 0x75" (subscript_expression "pbVar22[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      puVar10 = &UNK_0007d7c7;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n      goto code_r0x000342cd;\n    }" { (expression_statement "puVar10 = &UNK_0007d7c7;" (assignment_expression "puVar10 = &UNK_0007d7c7" identifier = (pointer_expression "&UNK_0007d7c7" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" * (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (goto_statement "goto code_r0x000342cd;" goto statement_identifier ;) }))) (case_statement "default:\nLAB_0003421d:\n    pcVar20 = "%%%c";\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + 8);\n    break;" default : (labeled_statement "LAB_0003421d:\n    pcVar20 = "%%%c";" statement_identifier : (expression_statement "pcVar20 = "%%%c";" (assignment_expression "pcVar20 = "%%%c"" identifier = (string_literal ""%%%c"" " string_content ")) ;)) (expression_statement "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + 8);" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + 8)" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 8)" * (cast_expression "(undefined4 *)(puVar18 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0x70:\n    bVar7 = pbVar22[1];\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    if (bVar7 == 0x41) {\n      pbVar21 = pbVar22 + 2;\n      puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n      pbVar15 = (byte *)puVar13[0x2b];\n      *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined4 *)(puVar18 + -0x10) = *puVar13;\n      *(undefined4 **)(puVar18 + 8) = puVar13;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034a7f;\n      fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      iVar16 = *(int *)(puVar18 + 8);\n      if (pbVar15 != (byte *)0x0) {\n        if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }\n        if (iVar16 != 0) {\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }\n    }\n    else {\n      if (bVar7 == 0x42) {\n        pbVar21 = pbVar22 + 2;\n        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;\n        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);\n        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));\n        bVar7 = pbVar22[2];\n        puVar18 = puVar19 + 8;\n        param_2 = pbVar21;\n        goto joined_r0x000340a6;\n      }\n      if (bVar7 == 0x49) {\n        pbVar21 = pbVar22 + 2;\n        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);\n        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }\n    }\nLAB_000349da:\n    bVar7 = pbVar22[2];\n    param_2 = pbVar21;\n    goto joined_r0x000340a6;" case number_literal : (expression_statement "bVar7 = pbVar22[1];" (assignment_expression "bVar7 = pbVar22[1]" identifier = (subscript_expression "pbVar22[1]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;" (assignment_expression "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) + number_literal)) ;) (if_statement "if (bVar7 == 0x41) {\n      pbVar21 = pbVar22 + 2;\n      puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n      pbVar15 = (byte *)puVar13[0x2b];\n      *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined4 *)(puVar18 + -0x10) = *puVar13;\n      *(undefined4 **)(puVar18 + 8) = puVar13;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034a7f;\n      fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      iVar16 = *(int *)(puVar18 + 8);\n      if (pbVar15 != (byte *)0x0) {\n        if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }\n        if (iVar16 != 0) {\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }\n    }\n    else {\n      if (bVar7 == 0x42) {\n        pbVar21 = pbVar22 + 2;\n        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;\n        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);\n        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));\n        bVar7 = pbVar22[2];\n        puVar18 = puVar19 + 8;\n        param_2 = pbVar21;\n        goto joined_r0x000340a6;\n      }\n      if (bVar7 == 0x49) {\n        pbVar21 = pbVar22 + 2;\n        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);\n        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }\n    }" if (parenthesized_expression "(bVar7 == 0x41)" ( (binary_expression "bVar7 == 0x41" identifier == number_literal) )) (compound_statement "{\n      pbVar21 = pbVar22 + 2;\n      puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n      pbVar15 = (byte *)puVar13[0x2b];\n      *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined4 *)(puVar18 + -0x10) = *puVar13;\n      *(undefined4 **)(puVar18 + 8) = puVar13;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034a7f;\n      fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      iVar16 = *(int *)(puVar18 + 8);\n      if (pbVar15 != (byte *)0x0) {\n        if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }\n        if (iVar16 != 0) {\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }\n    }" { (expression_statement "pbVar21 = pbVar22 + 2;" (assignment_expression "pbVar21 = pbVar22 + 2" identifier = (binary_expression "pbVar22 + 2" identifier + number_literal)) ;) (expression_statement "puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0)" identifier = (pointer_expression "*(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0)" * (cast_expression "(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "pbVar15 = (byte *)puVar13[0x2b];" (assignment_expression "pbVar15 = (byte *)puVar13[0x2b]" identifier = (cast_expression "(byte *)puVar13[0x2b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar13[0x2b]" identifier [ number_literal ]))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" * (cast_expression "(undefined4 *)(puVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *puVar13;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *puVar13" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*puVar13" * identifier)) ;) (expression_statement "*(undefined4 **)(puVar18 + 8) = puVar13;" (assignment_expression "*(undefined4 **)(puVar18 + 8) = puVar13" (pointer_expression "*(undefined4 **)(puVar18 + 8)" * (cast_expression "(undefined4 **)(puVar18 + 8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034a7f;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034a7f" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034a7f" & identifier)) ;) (expression_statement "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));" (call_expression "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" identifier (argument_list "(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" ( (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar18 + -0xc)" * (cast_expression "(FILE **)(puVar18 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "iVar16 = *(int *)(puVar18 + 8);" (assignment_expression "iVar16 = *(int *)(puVar18 + 8)" identifier = (pointer_expression "*(int *)(puVar18 + 8)" * (cast_expression "(int *)(puVar18 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) ))))) ;) (if_statement "if (pbVar15 != (byte *)0x0) {\n        if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }\n        if (iVar16 != 0) {\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }" if (parenthesized_expression "(pbVar15 != (byte *)0x0)" ( (binary_expression "pbVar15 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }\n        if (iVar16 != 0) {\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }" { (if_statement "if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }" if (parenthesized_expression "(*(int *)(*(int *)(pbVar15 + 4) + 4) == 5)" ( (binary_expression "*(int *)(*(int *)(pbVar15 + 4) + 4) == 5" (pointer_expression "*(int *)(*(int *)(pbVar15 + 4) + 4)" * (cast_expression "(int *)(*(int *)(pbVar15 + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pbVar15 + 4) + 4)" ( (binary_expression "*(int *)(pbVar15 + 4) + 4" (pointer_expression "*(int *)(pbVar15 + 4)" * (cast_expression "(int *)(pbVar15 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar15 + 4)" ( (binary_expression "pbVar15 + 4" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }" { (expression_statement "pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);" (assignment_expression "pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c)" identifier = (pointer_expression "*(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c)" * (cast_expression "(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(iVar16 + 0xa4) + 0x8c)" ( (binary_expression "*(int *)(iVar16 + 0xa4) + 0x8c" (pointer_expression "*(int *)(iVar16 + 0xa4)" * (cast_expression "(int *)(iVar16 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0xa4)" ( (binary_expression "iVar16 + 0xa4" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;" if (parenthesized_expression "((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0))" ( (binary_expression "(pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)" (parenthesized_expression "(pbVar15 == (byte *)0x0)" ( (binary_expression "pbVar15 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((*(byte *)(iVar16 + 0x17) & 2) != 0)" ( (binary_expression "(*(byte *)(iVar16 + 0x17) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar16 + 0x17) & 2)" ( (binary_expression "*(byte *)(iVar16 + 0x17) & 2" (pointer_expression "*(byte *)(iVar16 + 0x17)" * (cast_expression "(byte *)(iVar16 + 0x17)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x17)" ( (binary_expression "iVar16 + 0x17" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_000349da;" goto statement_identifier ;)) (expression_statement "iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);" (assignment_expression "iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84)" identifier = (pointer_expression "*(int *)(*(int *)(iVar16 + 0xa4) + 0x84)" * (cast_expression "(int *)(*(int *)(iVar16 + 0xa4) + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar16 + 0xa4) + 0x84)" ( (binary_expression "*(int *)(iVar16 + 0xa4) + 0x84" (pointer_expression "*(int *)(iVar16 + 0xa4)" * (cast_expression "(int *)(iVar16 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0xa4)" ( (binary_expression "iVar16 + 0xa4" identifier + number_literal) )))) + number_literal) ))))) ;) }) (else_clause "else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }" else (compound_statement "{\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }" { (if_statement "if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;" if (parenthesized_expression "((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))" ( (binary_expression "(((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0)" (parenthesized_expression "(((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0))" ( (binary_expression "((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)" (parenthesized_expression "((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2))" ( (binary_expression "(*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)" (parenthesized_expression "(*(int *)(*(int *)(pbVar15 + 4) + 4) != 2)" ( (binary_expression "*(int *)(*(int *)(pbVar15 + 4) + 4) != 2" (pointer_expression "*(int *)(*(int *)(pbVar15 + 4) + 4)" * (cast_expression "(int *)(*(int *)(pbVar15 + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pbVar15 + 4) + 4)" ( (binary_expression "*(int *)(pbVar15 + 4) + 4" (pointer_expression "*(int *)(pbVar15 + 4)" * (cast_expression "(int *)(pbVar15 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar15 + 4)" ( (binary_expression "pbVar15 + 4" identifier + number_literal) )))) + number_literal) )))) != number_literal) )) || (parenthesized_expression "(*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)" ( (binary_expression "*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2" (pointer_expression "*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4)" * (cast_expression "(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4)" ( (binary_expression "*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4" (pointer_expression "*(int *)(*(int *)(iVar16 + 0xac) + 4)" * (cast_expression "(int *)(*(int *)(iVar16 + 0xac) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar16 + 0xac) + 4)" ( (binary_expression "*(int *)(iVar16 + 0xac) + 4" (pointer_expression "*(int *)(iVar16 + 0xac)" * (cast_expression "(int *)(iVar16 + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0xac)" ( (binary_expression "iVar16 + 0xac" identifier + number_literal) )))) + number_literal) )))) + number_literal) )))) != number_literal) ))) )) || (parenthesized_expression "(*(int *)(iVar16 + 0xa4) == 0)" ( (binary_expression "*(int *)(iVar16 + 0xa4) == 0" (pointer_expression "*(int *)(iVar16 + 0xa4)" * (cast_expression "(int *)(iVar16 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0xa4)" ( (binary_expression "iVar16 + 0xa4" identifier + number_literal) )))) == number_literal) ))) )) || (parenthesized_expression "(piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0)" ( (comma_expression "piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0" (assignment_expression "piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c)" identifier = (pointer_expression "*(int **)(*(int *)(iVar16 + 0xa4) + 0x2c)" * (cast_expression "(int **)(*(int *)(iVar16 + 0xa4) + 0x2c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(iVar16 + 0xa4) + 0x2c)" ( (binary_expression "*(int *)(iVar16 + 0xa4) + 0x2c" (pointer_expression "*(int *)(iVar16 + 0xa4)" * (cast_expression "(int *)(iVar16 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0xa4)" ( (binary_expression "iVar16 + 0xa4" identifier + number_literal) )))) + number_literal) ))))) , (binary_expression "piVar6 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_000349da;" goto statement_identifier ;)) (expression_statement "iVar16 = *piVar6;" (assignment_expression "iVar16 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) }))) (if_statement "if (iVar16 != 0) {\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (compound_statement "{\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }" { (expression_statement "puVar19 = puVar18 + -8;" (assignment_expression "puVar19 = puVar18 + -8" identifier = (binary_expression "puVar18 + -8" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar18 + -8) = iVar16;" (assignment_expression "*(int *)(puVar18 + -8) = iVar16" (pointer_expression "*(int *)(puVar18 + -8)" * (cast_expression "(int *)(puVar18 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar20 = "[%s]";" (assignment_expression "pcVar20 = "[%s]"" identifier = (string_literal ""[%s]"" " string_content ")) ;) (goto_statement "goto LAB_00034ae6;" goto statement_identifier ;) })) })) }) (else_clause "else {\n      if (bVar7 == 0x42) {\n        pbVar21 = pbVar22 + 2;\n        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;\n        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);\n        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));\n        bVar7 = pbVar22[2];\n        puVar18 = puVar19 + 8;\n        param_2 = pbVar21;\n        goto joined_r0x000340a6;\n      }\n      if (bVar7 == 0x49) {\n        pbVar21 = pbVar22 + 2;\n        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);\n        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }\n    }" else (compound_statement "{\n      if (bVar7 == 0x42) {\n        pbVar21 = pbVar22 + 2;\n        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;\n        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);\n        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));\n        bVar7 = pbVar22[2];\n        puVar18 = puVar19 + 8;\n        param_2 = pbVar21;\n        goto joined_r0x000340a6;\n      }\n      if (bVar7 == 0x49) {\n        pbVar21 = pbVar22 + 2;\n        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);\n        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }\n    }" { (if_statement "if (bVar7 == 0x42) {\n        pbVar21 = pbVar22 + 2;\n        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;\n        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);\n        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));\n        bVar7 = pbVar22[2];\n        puVar18 = puVar19 + 8;\n        param_2 = pbVar21;\n        goto joined_r0x000340a6;\n      }" if (parenthesized_expression "(bVar7 == 0x42)" ( (binary_expression "bVar7 == 0x42" identifier == number_literal) )) (compound_statement "{\n        pbVar21 = pbVar22 + 2;\n        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;\n        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);\n        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));\n        bVar7 = pbVar22[2];\n        puVar18 = puVar19 + 8;\n        param_2 = pbVar21;\n        goto joined_r0x000340a6;\n      }" { (expression_statement "pbVar21 = pbVar22 + 2;" (assignment_expression "pbVar21 = pbVar22 + 2" identifier = (binary_expression "pbVar22 + 2" identifier + number_literal)) ;) (expression_statement "puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0)" identifier = (pointer_expression "*(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0)" * (cast_expression "(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }" if (parenthesized_expression "(puVar13 == (undefined4 *)0x0)" ( (binary_expression "puVar13 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }" { (expression_statement "puVar19 = puVar18 + -8;" (assignment_expression "puVar19 = puVar18 + -8" identifier = (binary_expression "puVar18 + -8" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = DAT_001d1558;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = DAT_001d1558" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar20 = "%s generated";" (assignment_expression "pcVar20 = "%s generated"" identifier = (string_literal ""%s generated"" " string_content ")) ;) }) (else_clause "else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }" else (compound_statement "{\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }" { (expression_statement "puVar8 = (undefined4 *)puVar13[0x23];" (assignment_expression "puVar8 = (undefined4 *)puVar13[0x23]" identifier = (cast_expression "(undefined4 *)puVar13[0x23]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar13[0x23]" identifier [ number_literal ]))) ;) (expression_statement "pcVar20 = (char *)*puVar13;" (assignment_expression "pcVar20 = (char *)*puVar13" identifier = (cast_expression "(char *)*puVar13" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar13" * identifier))) ;) (if_statement "if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }" if (parenthesized_expression "((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0))" ( (binary_expression "(puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)" (parenthesized_expression "(puVar8 == (undefined4 *)0x0)" ( (binary_expression "puVar8 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((*(byte *)(puVar8 + 0xb) & 1) != 0)" ( (binary_expression "(*(byte *)(puVar8 + 0xb) & 1) != 0" (parenthesized_expression "(*(byte *)(puVar8 + 0xb) & 1)" ( (binary_expression "*(byte *)(puVar8 + 0xb) & 1" (pointer_expression "*(byte *)(puVar8 + 0xb)" * (cast_expression "(byte *)(puVar8 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0xb)" ( (binary_expression "puVar8 + 0xb" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }" { (labeled_statement "code_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);" statement_identifier : (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" * (cast_expression "(undefined4 *)(puVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;)) (expression_statement "*(char **)(puVar18 + -0x10) = pcVar20;" (assignment_expression "*(char **)(puVar18 + -0x10) = pcVar20" (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034967;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034967" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034967" & identifier)) ;) (expression_statement "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));" (call_expression "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" identifier (argument_list "(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" ( (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar18 + -0xc)" * (cast_expression "(FILE **)(puVar18 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "bVar7 = pbVar22[2];" (assignment_expression "bVar7 = pbVar22[2]" identifier = (subscript_expression "pbVar22[2]" identifier [ number_literal ])) ;) (expression_statement "param_2 = pbVar22 + 2;" (assignment_expression "param_2 = pbVar22 + 2" identifier = (binary_expression "pbVar22 + 2" identifier + number_literal)) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;) })) (expression_statement "*(char **)(puVar18 + -4) = pcVar20;" (assignment_expression "*(char **)(puVar18 + -4) = pcVar20" (pointer_expression "*(char **)(puVar18 + -4)" * (cast_expression "(char **)(puVar18 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar19 = puVar18 + -8;" (assignment_expression "puVar19 = puVar18 + -8" identifier = (binary_expression "puVar18 + -8" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = *puVar8;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *puVar8" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = (pointer_expression "*puVar8" * identifier)) ;) (expression_statement "pcVar20 = "%s(%s)";" (assignment_expression "pcVar20 = "%s(%s)"" identifier = (string_literal ""%s(%s)"" " string_content ")) ;) }))) (labeled_statement "LAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;" statement_identifier : (expression_statement "*(char **)(puVar19 + -4) = pcVar20;" (assignment_expression "*(char **)(puVar19 + -4) = pcVar20" (pointer_expression "*(char **)(puVar19 + -4)" * (cast_expression "(char **)(puVar19 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -4)" ( (binary_expression "puVar19 + -4" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);" (assignment_expression "*(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158)" (pointer_expression "*(undefined4 *)(puVar19 + -8)" * (cast_expression "(undefined4 *)(puVar19 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar19 + 0x158)" * (cast_expression "(undefined4 *)(puVar19 + 0x158)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x158)" ( (binary_expression "puVar19 + 0x158" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x34af3;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x34af3" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));" (call_expression "fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4))" identifier (argument_list "(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4))" ( (pointer_expression "*(FILE **)(puVar19 + -8)" * (cast_expression "(FILE **)(puVar19 + -8)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar19 + -4)" * (cast_expression "(char **)(puVar19 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -4)" ( (binary_expression "puVar19 + -4" identifier + number_literal) )))) ))) ;) (expression_statement "bVar7 = pbVar22[2];" (assignment_expression "bVar7 = pbVar22[2]" identifier = (subscript_expression "pbVar22[2]" identifier [ number_literal ])) ;) (expression_statement "puVar18 = puVar19 + 8;" (assignment_expression "puVar18 = puVar19 + 8" identifier = (binary_expression "puVar19 + 8" identifier + number_literal)) ;) (expression_statement "param_2 = pbVar21;" (assignment_expression "param_2 = pbVar21" identifier = identifier) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;) })) (if_statement "if (bVar7 == 0x49) {\n        pbVar21 = pbVar22 + 2;\n        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);\n        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }" if (parenthesized_expression "(bVar7 == 0x49)" ( (binary_expression "bVar7 == 0x49" identifier == number_literal) )) (compound_statement "{\n        pbVar21 = pbVar22 + 2;\n        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);\n        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }\n      }" { (expression_statement "pbVar21 = pbVar22 + 2;" (assignment_expression "pbVar21 = pbVar22 + 2" identifier = (binary_expression "pbVar22 + 2" identifier + number_literal)) ;) (expression_statement "pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0)" identifier = (pointer_expression "*(byte **)(puVar18 + iVar16 * 0x10 + 0xa0)" * (cast_expression "(byte **)(puVar18 + iVar16 * 0x10 + 0xa0)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);" (assignment_expression "puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c)" identifier = (pointer_expression "*(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c)" * (cast_expression "(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pbVar15 + 0x10) + 0x8c)" ( (binary_expression "*(int *)(pbVar15 + 0x10) + 0x8c" (pointer_expression "*(int *)(pbVar15 + 0x10)" * (cast_expression "(int *)(pbVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar15 + 0x10)" ( (binary_expression "pbVar15 + 0x10" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }" if (parenthesized_expression "((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0))" ( (binary_expression "(puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)" (parenthesized_expression "(puVar13 != (undefined4 *)0x0)" ( (binary_expression "puVar13 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(byte *)(puVar13 + 0xb) & 1) == 0)" ( (binary_expression "(*(byte *)(puVar13 + 0xb) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar13 + 0xb) & 1)" ( (binary_expression "*(byte *)(puVar13 + 0xb) & 1" (pointer_expression "*(byte *)(puVar13 + 0xb)" * (cast_expression "(byte *)(puVar13 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0xb)" ( (binary_expression "puVar13 + 0xb" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }" { (labeled_statement "code_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;" statement_identifier : (expression_statement "*(undefined4 *)(puVar18 + -8) = *puVar13;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *puVar13" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = (pointer_expression "*puVar13" * identifier)) ;)) (expression_statement "*(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;" (assignment_expression "*(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1" (pointer_expression "*(undefined **)(puVar18 + -0xc)" * (cast_expression "(undefined **)(puVar18 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_0007d3a1" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x34c00;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x34c00" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (call_expression "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier (argument_list "(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" ( (pointer_expression "*(FILE **)(puVar18 + -0x10)" * (cast_expression "(FILE **)(puVar18 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) })) (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" * (cast_expression "(undefined4 *)(puVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pbVar15 + 0xc)" * (cast_expression "(undefined4 *)(pbVar15 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar15 + 0xc)" ( (binary_expression "pbVar15 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x349ab;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x349ab" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));" (call_expression "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" identifier (argument_list "(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" ( (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar18 + -0xc)" * (cast_expression "(FILE **)(puVar18 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) (if_statement "if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }" if (parenthesized_expression "((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0))" ( (binary_expression "(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)" (parenthesized_expression "(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0)" ( (binary_expression "*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0" (pointer_expression "*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c)" * (cast_expression "(int *)(*(int *)(pbVar15 + 0x10) + 0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pbVar15 + 0x10) + 0x8c)" ( (binary_expression "*(int *)(pbVar15 + 0x10) + 0x8c" (pointer_expression "*(int *)(pbVar15 + 0x10)" * (cast_expression "(int *)(pbVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar15 + 0x10)" ( (binary_expression "pbVar15 + 0x10" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) || (parenthesized_expression "((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)" ( (binary_expression "(*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0" (parenthesized_expression "(*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1)" ( (binary_expression "*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1" (pointer_expression "*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c)" * (cast_expression "(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c)" ( (binary_expression "*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c" (pointer_expression "*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c)" * (cast_expression "(int *)(*(int *)(pbVar15 + 0x10) + 0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pbVar15 + 0x10) + 0x8c)" ( (binary_expression "*(int *)(pbVar15 + 0x10) + 0x8c" (pointer_expression "*(int *)(pbVar15 + 0x10)" * (cast_expression "(int *)(pbVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar15 + 0x10)" ( (binary_expression "pbVar15 + 0x10" identifier + number_literal) )))) + number_literal) )))) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }" { (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" * (cast_expression "(undefined4 *)(puVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pbVar15 + 8)" * (cast_expression "(undefined4 *)(pbVar15 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar15 + 8)" ( (binary_expression "pbVar15 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pbVar15 + 0xc)" * (cast_expression "(undefined4 *)(pbVar15 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar15 + 0xc)" ( (binary_expression "pbVar15 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x349cf;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x349cf" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar16 = filename_cmp();" (assignment_expression "iVar16 = filename_cmp()" identifier = (call_expression "filename_cmp()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (compound_statement "{\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }" { (expression_statement "pcVar20 = " (%s)";" (assignment_expression "pcVar20 = " (%s)"" identifier = (string_literal "" (%s)"" " string_content ")) ;) (expression_statement "puVar19 = puVar18 + -8;" (assignment_expression "puVar19 = puVar18 + -8" identifier = (binary_expression "puVar18 + -8" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8)" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pbVar15 + 8)" * (cast_expression "(undefined4 *)(pbVar15 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar15 + 8)" ( (binary_expression "pbVar15 + 8" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00034ae6;" goto statement_identifier ;) })) })) }) (else_clause "else {\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }" else (compound_statement "{\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }" { (if_statement "if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }" if (parenthesized_expression "(bVar7 == 0x52)" ( (binary_expression "bVar7 == 0x52" identifier == number_literal) )) (compound_statement "{\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }" { (expression_statement "puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0)" identifier = (pointer_expression "*(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0)" * (cast_expression "(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" * (cast_expression "(undefined4 *)(puVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar13[5] + 0x20)" * (cast_expression "(undefined4 *)(puVar13[5] + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13[5] + 0x20)" ( (binary_expression "puVar13[5] + 0x20" (subscript_expression "puVar13[5]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = puVar13[4];" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = puVar13[4]" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (subscript_expression "puVar13[4]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = puVar13[3];" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = puVar13[3]" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (subscript_expression "puVar13[3]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);" (assignment_expression "*(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4)" (pointer_expression "*(undefined4 *)(puVar18 + -0x18)" * (cast_expression "(undefined4 *)(puVar18 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x18)" ( (binary_expression "puVar18 + -0x18" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)*puVar13 + 4)" * (cast_expression "(undefined4 *)(*(int *)*puVar13 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)*puVar13 + 4)" ( (binary_expression "*(int *)*puVar13 + 4" (pointer_expression "*(int *)*puVar13" * (cast_expression "(int *)*puVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar13" * identifier))) + number_literal) ))))) ;) (expression_statement "*(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";" (assignment_expression "*(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)"" (pointer_expression "*(char **)(puVar18 + -0x1c)" * (cast_expression "(char **)(puVar18 + -0x1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x1c)" ( (binary_expression "puVar18 + -0x1c" identifier + number_literal) )))) = (string_literal ""%s+0x%v (type %s)"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x20)" * (cast_expression "(undefined4 *)(puVar18 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x20)" ( (binary_expression "puVar18 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x24) = &UNK_000348d6;" (assignment_expression "*(undefined **)(puVar18 + -0x24) = &UNK_000348d6" (pointer_expression "*(undefined **)(puVar18 + -0x24)" * (cast_expression "(undefined **)(puVar18 + -0x24)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x24)" ( (binary_expression "puVar18 + -0x24" identifier + number_literal) )))) = (pointer_expression "&UNK_000348d6" & identifier)) ;) (expression_statement "FUN_00034e30();" (call_expression "FUN_00034e30()" identifier (argument_list "()" ( ))) ;) (expression_statement "bVar7 = pbVar22[2];" (assignment_expression "bVar7 = pbVar22[2]" identifier = (subscript_expression "pbVar22[2]" identifier [ number_literal ])) ;) (expression_statement "param_2 = pbVar22 + 2;" (assignment_expression "param_2 = pbVar22 + 2" identifier = (binary_expression "pbVar22 + 2" identifier + number_literal)) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;) })) (if_statement "if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }" if (parenthesized_expression "(bVar7 != 0x53)" ( (binary_expression "bVar7 != 0x53" identifier != number_literal) )) (compound_statement "{\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }" { (if_statement "if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }" if (parenthesized_expression "(bVar7 != 0x54)" ( (binary_expression "bVar7 != 0x54" identifier != number_literal) )) (compound_statement "{\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }" { (expression_statement "pcVar20 = "%p";" (assignment_expression "pcVar20 = "%p"" identifier = (string_literal ""%p"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" * (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (break_statement "break;" break ;) })) (expression_statement "pbVar21 = pbVar22 + 2;" (assignment_expression "pbVar21 = pbVar22 + 2" identifier = (binary_expression "pbVar22 + 2" identifier + number_literal)) ;) (expression_statement "pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0)" identifier = (pointer_expression "*(char **)(puVar18 + iVar16 * 0x10 + 0xa0)" * (cast_expression "(char **)(puVar18 + iVar16 * 0x10 + 0xa0)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }" if (parenthesized_expression "((pcVar20 != (char *)0x0) && (*pcVar20 != '\0'))" ( (binary_expression "(pcVar20 != (char *)0x0) && (*pcVar20 != '\0')" (parenthesized_expression "(pcVar20 != (char *)0x0)" ( (binary_expression "pcVar20 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*pcVar20 != '\0')" ( (binary_expression "*pcVar20 != '\0'" (pointer_expression "*pcVar20" * identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }" { (expression_statement "pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);" (assignment_expression "pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14)" identifier = (cast_expression "(byte *)**(undefined4 **)(puVar18 + 0x14)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puVar18 + 0x14)" * (pointer_expression "*(undefined4 **)(puVar18 + 0x14)" * (cast_expression "(undefined4 **)(puVar18 + 0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x14)" ( (binary_expression "puVar18 + 0x14" identifier + number_literal) ))))))) ;) (if_statement "if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }" if (parenthesized_expression "(pbVar15 != (byte *)0x0)" ( (binary_expression "pbVar15 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }" { (expression_statement "*(undefined4 *)(puVar18 + -8) = 3;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = 3" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar18 + -0xc) = pcVar20;" (assignment_expression "*(char **)(puVar18 + -0xc) = pcVar20" (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar18 + 8) = pcVar20;" (assignment_expression "*(char **)(puVar18 + 8) = pcVar20" (pointer_expression "*(char **)(puVar18 + 8)" * (cast_expression "(char **)(puVar18 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = DAT_001d1414" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_0003454c;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_0003454c" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0003454c" & identifier)) ;) (expression_statement "pbVar15 = (byte *)bfd_demangle();" (assignment_expression "pbVar15 = (byte *)bfd_demangle()" identifier = (cast_expression "(byte *)bfd_demangle()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_demangle()" identifier (argument_list "()" ( ))))) ;) (expression_statement "pcVar20 = *(char **)(puVar18 + 8);" (assignment_expression "pcVar20 = *(char **)(puVar18 + 8)" identifier = (pointer_expression "*(char **)(puVar18 + 8)" * (cast_expression "(char **)(puVar18 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) ))))) ;) (if_statement "if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }" if (parenthesized_expression "(pbVar15 != (byte *)0x0)" ( (binary_expression "pbVar15 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }" { (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" * (cast_expression "(undefined4 *)(puVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(byte **)(puVar18 + -0x10) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -0x10) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -0x10)" * (cast_expression "(byte **)(puVar18 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_0003456d;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_0003456d" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0003456d" & identifier)) ;) (expression_statement "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));" (call_expression "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" identifier (argument_list "(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" ( (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar18 + -0xc)" * (cast_expression "(FILE **)(puVar18 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "*(byte **)(puVar18 + -0x10) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -0x10) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -0x10)" * (cast_expression "(byte **)(puVar18 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034575;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034575" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034575" & identifier)) ;) (expression_statement "free(*(void **)(puVar18 + -0x10));" (call_expression "free(*(void **)(puVar18 + -0x10))" identifier (argument_list "(*(void **)(puVar18 + -0x10))" ( (pointer_expression "*(void **)(puVar18 + -0x10)" * (cast_expression "(void **)(puVar18 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "bVar7 = pbVar22[2];" (assignment_expression "bVar7 = pbVar22[2]" identifier = (subscript_expression "pbVar22[2]" identifier [ number_literal ])) ;) (expression_statement "param_2 = pbVar21;" (assignment_expression "param_2 = pbVar21" identifier = identifier) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;) })) })) (goto_statement "goto code_r0x00034957;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(puVar18 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar18 + -0xc) = "no symbol";" (assignment_expression "*(char **)(puVar18 + -0xc) = "no symbol"" (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (string_literal ""no symbol"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034b14;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034b14" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034b14" & identifier)) ;) (expression_statement "pcVar20 = (char *)dcgettext();" (assignment_expression "pcVar20 = (char *)dcgettext()" identifier = (cast_expression "(char *)dcgettext()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puVar19 = puVar18 + -8;" (assignment_expression "puVar19 = puVar18 + -8" identifier = (binary_expression "puVar18 + -8" identifier + number_literal)) ;) (goto_statement "goto LAB_00034ae6;" goto statement_identifier ;) })) (expression_statement "pbVar21 = pbVar22 + 2;" (assignment_expression "pbVar21 = pbVar22 + 2" identifier = (binary_expression "pbVar22 + 2" identifier + number_literal)) ;) (expression_statement "puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0)" identifier = (pointer_expression "*(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0)" * (cast_expression "(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }" if (parenthesized_expression "(puVar17 == (undefined1 *)0x0)" ( (binary_expression "puVar17 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }" { (expression_statement "*(undefined **)(puVar18 + -4) = &UNK_00034c1e;" (assignment_expression "*(undefined **)(puVar18 + -4) = &UNK_00034c1e" (pointer_expression "*(undefined **)(puVar18 + -4)" * (cast_expression "(undefined **)(puVar18 + -4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = (pointer_expression "&UNK_00034c1e" & identifier)) ;) (expression_statement "iVar16 = FUN_0001d2c0();" (assignment_expression "iVar16 = FUN_0001d2c0()" identifier = (call_expression "FUN_0001d2c0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)(puVar18 + 0x44) = iVar16;" (assignment_expression "*(int *)(puVar18 + 0x44) = iVar16" (pointer_expression "*(int *)(puVar18 + 0x44)" * (cast_expression "(int *)(puVar18 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x44)" ( (binary_expression "puVar18 + 0x44" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;" (assignment_expression "*(undefined4 *)(puVar18 + 0x40) = DAT_001d136c" (pointer_expression "*(undefined4 *)(puVar18 + 0x40)" * (cast_expression "(undefined4 *)(puVar18 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x40)" ( (binary_expression "puVar18 + 0x40" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar17 = puVar18 + 0x3c;" (assignment_expression "puVar17 = puVar18 + 0x3c" identifier = (binary_expression "puVar18 + 0x3c" identifier + number_literal)) ;) }) (else_clause "else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }" else (compound_statement "{\n          iVar16 = *(int *)(puVar17 + 8);\n        }" { (expression_statement "iVar16 = *(int *)(puVar17 + 8);" (assignment_expression "iVar16 = *(int *)(puVar17 + 8)" identifier = (pointer_expression "*(int *)(puVar17 + 8)" * (cast_expression "(int *)(puVar17 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 8)" ( (binary_expression "puVar17 + 8" identifier + number_literal) ))))) ;) }))) (if_statement "if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (compound_statement "{\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }" { (expression_statement "*(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);" (assignment_expression "*(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4)" (pointer_expression "*(undefined4 *)(puVar18 + -4)" * (cast_expression "(undefined4 *)(puVar18 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar17 + 4)" * (cast_expression "(undefined4 *)(puVar17 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 4)" ( (binary_expression "puVar17 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar18 + -8) = iVar16;" (assignment_expression "*(int *)(puVar18 + -8) = iVar16" (pointer_expression "*(int *)(puVar18 + -8)" * (cast_expression "(int *)(puVar18 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;" (assignment_expression "*(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0" (pointer_expression "*(undefined **)(puVar18 + -0xc)" * (cast_expression "(undefined **)(puVar18 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "&UNK_0007d7b0" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034b67;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034b67" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034b67" & identifier)) ;) (expression_statement "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (call_expression "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier (argument_list "(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" ( (pointer_expression "*(FILE **)(puVar18 + -0x10)" * (cast_expression "(FILE **)(puVar18 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) })) }))) }))) (labeled_statement "LAB_000349da:\n    bVar7 = pbVar22[2];" statement_identifier : (expression_statement "bVar7 = pbVar22[2];" (assignment_expression "bVar7 = pbVar22[2]" identifier = (subscript_expression "pbVar22[2]" identifier [ number_literal ])) ;)) (expression_statement "param_2 = pbVar21;" (assignment_expression "param_2 = pbVar21" identifier = identifier) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) (case_statement "case 0x73:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034489;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;" case number_literal : (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" * (cast_expression "(undefined4 *)(puVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" * (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034489;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034489" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034489" & identifier)) ;) (expression_statement "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));" (call_expression "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" identifier (argument_list "(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" ( (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar18 + -0xc)" * (cast_expression "(FILE **)(puVar18 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;" (assignment_expression "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "bVar7 = pbVar22[1];" (assignment_expression "bVar7 = pbVar22[1]" identifier = (subscript_expression "pbVar22[1]" identifier [ number_literal ])) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) (case_statement "case 0x75:\n    puVar10 = &UNK_0007d7b3;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000344af:\n    *(undefined **)(puVar18 + -0xc) = puVar10;\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined **)(puVar18 + -0x14) = &UNK_000344bc;\n    fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;" case number_literal : (expression_statement "puVar10 = &UNK_0007d7b3;" (assignment_expression "puVar10 = &UNK_0007d7b3" identifier = (pointer_expression "&UNK_0007d7b3" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" * (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (labeled_statement "code_r0x000344af:\n    *(undefined **)(puVar18 + -0xc) = puVar10;" statement_identifier : (expression_statement "*(undefined **)(puVar18 + -0xc) = puVar10;" (assignment_expression "*(undefined **)(puVar18 + -0xc) = puVar10" (pointer_expression "*(undefined **)(puVar18 + -0xc)" * (cast_expression "(undefined **)(puVar18 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_000344bc;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_000344bc" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_000344bc" & identifier)) ;) (expression_statement "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (call_expression "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier (argument_list "(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" ( (pointer_expression "*(FILE **)(puVar18 + -0x10)" * (cast_expression "(FILE **)(puVar18 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;" (assignment_expression "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "bVar7 = pbVar22[1];" (assignment_expression "bVar7 = pbVar22[1]" identifier = (subscript_expression "pbVar22[1]" identifier [ number_literal ])) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) (case_statement "case 0x76:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_0003426c;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034298;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;" case number_literal : (expression_statement "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;" (assignment_expression "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar18 + -4)" * (cast_expression "(undefined4 *)(puVar18 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4)" * (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa4)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa4" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" * (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(char **)(puVar18 + -0xc) = "%016llx";" (assignment_expression "*(char **)(puVar18 + -0xc) = "%016llx"" (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (string_literal ""%016llx"" " string_content ")) ;) (expression_statement "pcVar20 = puVar18 + 0x3c;" (assignment_expression "pcVar20 = puVar18 + 0x3c" identifier = (binary_expression "puVar18 + 0x3c" identifier + number_literal)) ;) (expression_statement "*(char **)(puVar18 + -0x10) = pcVar20;" (assignment_expression "*(char **)(puVar18 + -0x10) = pcVar20" (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_0003426c;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_0003426c" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0003426c" & identifier)) ;) (expression_statement "sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (call_expression "sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier (argument_list "(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" ( (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "cVar2 = puVar18[0x3c];" (assignment_expression "cVar2 = puVar18[0x3c]" identifier = (subscript_expression "puVar18[0x3c]" identifier [ number_literal ])) ;) (while_statement "while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }" while (parenthesized_expression "(cVar2 == '0')" ( (binary_expression "cVar2 == '0'" identifier == (char_literal "'0'" ' character ')) )) (compound_statement "{\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }" { (expression_statement "pcVar20 = pcVar20 + 1;" (assignment_expression "pcVar20 = pcVar20 + 1" identifier = (binary_expression "pcVar20 + 1" identifier + number_literal)) ;) (expression_statement "cVar2 = *pcVar20;" (assignment_expression "cVar2 = *pcVar20" identifier = (pointer_expression "*pcVar20" * identifier)) ;) })) (expression_statement "pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));" (assignment_expression "pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'))" identifier = (cast_expression "(byte *)(pcVar20 + -(uint)(cVar2 == '\0'))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + -(uint)(cVar2 == '\0'))" ( (binary_expression "pcVar20 + -(uint)(cVar2 == '\0')" identifier + (unary_expression "-(uint)(cVar2 == '\0')" - (call_expression "(uint)(cVar2 == '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))))) )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" * (cast_expression "(undefined4 *)(puVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(byte **)(puVar18 + -0x10) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -0x10) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -0x10)" * (cast_expression "(byte **)(puVar18 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034298;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034298" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034298" & identifier)) ;) (expression_statement "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));" (call_expression "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" identifier (argument_list "(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" ( (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar18 + -0xc)" * (cast_expression "(FILE **)(puVar18 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "bVar7 = pbVar22[1];" (assignment_expression "bVar7 = pbVar22[1]" identifier = (subscript_expression "pbVar22[1]" identifier [ number_literal ])) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) })) (expression_statement "*(char **)(puVar18 + -0xc) = pcVar20;" (assignment_expression "*(char **)(puVar18 + -0xc) = pcVar20" (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x34237;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x34237" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (call_expression "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier (argument_list "(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" ( (pointer_expression "*(FILE **)(puVar18 + -0x10)" * (cast_expression "(FILE **)(puVar18 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "bVar7 = pbVar22[1];" (assignment_expression "bVar7 = pbVar22[1]" identifier = (subscript_expression "pbVar22[1]" identifier [ number_literal ])) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid vfinfo(FILE *fp,char *fmt,va_list ap,bfd_boolean is_warning)\n\n{\n  byte bVar1;\n  char cVar2;\n  void *pvVar3;\n  bfd_iovec *pbVar4;\n  bfd_target *pbVar5;\n  _func_bfd_boolean_bfd_ptr_bfd_symbol_ptr_ptr_bfd_section_ptr_bfd_vma_char_ptr_ptr_char_ptr_ptr_uint_ptr_uint_ptr\n  *p_Var6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  bfd_flavour bVar9;\n  int *piVar10;\n  byte *pbVar11;\n  byte bVar12;\n  vfinfo_args *pvVar13;\n  uint uVar14;\n  undefined *puVar15;\n  bfd_boolean bVar16;\n  size_t sVar17;\n  undefined4 uVar18;\n  bfd *pbVar19;\n  int iVar20;\n  vfinfo_args *pvVar21;\n  byte *pbVar22;\n  int iVar23;\n  undefined1 *puVar24;\n  undefined1 *puVar25;\n  undefined1 *puVar26;\n  char *pcVar27;\n  bfd *pbVar28;\n  bfd *pbVar29;\n  bfd *pbVar30;\n  undefined8 uVar31;\n  undefined1 auStack_14c [4];\n  vfinfo_args *local_148;\n  byte *local_144;\n  undefined *local_140;\n  undefined4 local_13c;\n  bfd_boolean *local_138;\n  int local_134;\n  char *filename;\n  char *functionname;\n  char buf [100];\n  vfinfo_args args [9];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x33f29;\n  puVar25 = auStack_14c;\n  pvVar21 = args;\n  pvVar13 = pvVar21;\n  do {\n    pvVar13->i = 0;\n    pvVar13 = pvVar13 + 1;\n  } while ((vfinfo_args *)&stack0xffffffe4 != pvVar13);\n  bVar12 = *fmt;\n  local_148 = (vfinfo_args *)0x0;\n  local_13c = CONCAT31(local_13c._1_3_,bVar12);\n  local_138 = (bfd_boolean *)PTR__sch_istable_001cefa0;\n  uVar14 = (uint)bVar12;\n  pbVar22 = (byte *)fmt;\nLAB_00033f90:\n  if ((char)uVar14 != '\0') {\n    if ((char)uVar14 != '%') goto LAB_00033fb0;\n    goto LAB_00033fd0;\n  }\n  uVar14 = 0;\n  pbVar28 = (bfd *)ap;\n  if (local_148 != (vfinfo_args *)0x0) {\n    do {\n      switch(pvVar21->i) {\n      default:\n                    /* WARNING: Subroutine does not return */\n        ld_abort("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar28 = (bfd *)&((bfd *)ap)->xvec;\n        pvVar21->i = (int)((bfd *)ap)->filename;\n        break;\n      case 4:\n        pbVar5 = ((bfd *)ap)->xvec;\n        pbVar28 = (bfd *)&((bfd *)ap)->iostream;\n        pvVar21->i = (int)((bfd *)ap)->filename;\n        (pvVar21->reladdr).sec = (asection *)pbVar5;\n        break;\n      case 5:\n        pvVar3 = ((bfd *)ap)->iostream;\n        pbVar28 = (bfd *)&((bfd *)ap)->lru_prev;\n        pbVar4 = ((bfd *)ap)->iovec;\n        pvVar21->i = (int)((bfd *)ap)->filename;\n        pbVar5 = ((bfd *)ap)->xvec;\n        *(void **)&(pvVar21->reladdr).off = pvVar3;\n        (pvVar21->reladdr).sec = (asection *)pbVar5;\n        *(bfd_iovec **)((int)&(pvVar21->reladdr).off + 4) = pbVar4;\n      }\n      uVar14 = uVar14 + 1;\n      pvVar21 = pvVar21 + 1;\n      ap = (va_list)pbVar28;\n    } while (local_148 != (vfinfo_args *)uVar14);\n  }\n  local_148 = (vfinfo_args *)0x0;\n  local_13c = 0;\n  local_140 = PTR__sch_istable_001cefa0;\n  local_138 = &demangling;\njoined_r0x000340a6:\n  if (bVar12 != 0) {\n    pbVar29 = (bfd *)fmt;\n    pbVar28 = (bfd *)fmt;\n    if (bVar12 != 0x25) goto LAB_000340c2;\n    goto LAB_00034170;\n  }\n  pbVar29 = *(bfd **)(puVar25 + 0x15c);\n  if ((pbVar29 != (bfd *)0x0) && (config.fatal_warnings != 0)) {\n    config.make_executable = 0;\n  }\n  if (*(int *)(puVar25 + 0x10) == 0) {\n    return;\n  }\n  *(undefined4 *)(puVar25 + -0x10) = 1;\n  *(undefined4 *)(puVar25 + -0x14) = 0x34be1;\n  pbVar19 = (bfd *)xexit();\n  puVar25 = puVar25 + -0x10;\n  pbVar30 = (bfd *)fmt;\n  goto LAB_00034be8;\nLAB_00033fb0:\n  do {\n    pbVar22 = pbVar22 + 1;\n    bVar1 = *pbVar22;\n    uVar14 = (uint)bVar1;\n    if (bVar1 == 0x25) break;\n  } while (bVar1 != 0);\n  if (bVar1 != 0x25) goto LAB_00033f90;\nLAB_00033fd0:\n  local_144 = pbVar22 + 1;\n  bVar1 = pbVar22[1];\n  uVar14 = (uint)bVar1;\n  if (bVar1 == 0x30) {\n    pbVar22 = pbVar22 + 2;\n_L18:\n    uVar14 = (uint)local_144[1];\n    goto LAB_00033f90;\n  }\n  local_134 = (int)(char)bVar1;\n  local_140 = (undefined *)local_148;\n  if (((PTR__sch_istable_001cefa0[uVar14 * 2] & 4) != 0) && (pbVar22[2] == 0x24)) {\n    local_140 = (undefined *)((int)(char)bVar1 - 0x31);\n    local_144 = pbVar22 + 3;\n    uVar14 = (uint)pbVar22[3];\n  }\n  pbVar11 = local_144;\n  pbVar22 = local_144 + 1;\n  switch(uVar14) {\n  case 0:\n    pbVar22 = local_144;\n    goto LAB_00033f90;\n  default:\n    goto _L18;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    local_144 = (byte *)0x5;\n    break;\n  case 0x56:\n  case 0x57:\n  case 0x76:\n    local_144 = (byte *)0x4;\n    break;\n  case 100:\n  case 0x75:\n    local_144 = (byte *)0x1;\n    break;\n  case 0x6c:\n    bVar1 = local_144[1];\n    uVar14 = (uint)bVar1;\n    if ((bVar1 != 100) && (bVar1 != 0x75)) goto LAB_00033f90;\n    local_144 = (byte *)0x2;\n    pbVar22 = pbVar11 + 2;\n    break;\n  case 0x70:\n    local_144 = (byte *)0x3;\n    if (((byte)(pbVar11[1] - 0x41) < 0x14) && ((0xe0103U >> (pbVar11[1] - 0x41 & 0x1f) & 1) != 0)) {\n      pbVar22 = pbVar11 + 2;\n    }\n    break;\n  case 0x73:\n    local_144 = (byte *)0x3;\n  }\n  if (8 < local_140) {\n    local_148 = pvVar21;\n                    /* WARNING: Subroutine does not return */\n    ld_abort("../../ld/ldmisc.c",0xa9,"vfinfo");\n  }\n  local_148 = (vfinfo_args *)((int)&local_148->reladdr + 1);\n  args[(int)local_140].i = (int)local_144;\n  uVar14 = (uint)*pbVar22;\n  goto LAB_00033f90;\nLAB_000340c2:\n  do {\n    pbVar28 = pbVar29;\n    bVar12 = *(byte *)((int)&pbVar28->filename + 1);\n    pbVar29 = (bfd *)((int)&pbVar28->filename + 1);\n    if (bVar12 == 0x25) break;\n  } while (bVar12 != 0);\n  if ((bfd *)fmt != pbVar29) {\n    *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + 0x150);\n    *(int *)(puVar25 + -8) = (int)pbVar29 - (int)fmt;\n    *(undefined4 *)(puVar25 + -0xc) = 1;\n    *(char **)(puVar25 + -0x10) = fmt;\n    *(undefined4 *)(puVar25 + -0x14) = 0x340e9;\n    fwrite(*(void **)(puVar25 + -0x10),*(size_t *)(puVar25 + -0xc),*(size_t *)(puVar25 + -8),\n           *(FILE **)(puVar25 + -4));\n    bVar12 = *(byte *)((int)&pbVar28->filename + 1);\n  }\n  fmt = (char *)pbVar29;\n  if (bVar12 != 0x25) goto joined_r0x000340a6;\nLAB_00034170:\n  bVar12 = *(byte *)((int)&((bfd *)fmt)->filename + 1);\n  pbVar30 = (bfd *)((int)&((bfd *)fmt)->filename + 1);\n  *(int *)(puVar25 + 8) = (int)(char)bVar12;\n  if (bVar12 == 0x30) {\n    *(undefined4 *)(puVar25 + 8) = 0x30;\n    fmt = (char *)((int)&((bfd *)fmt)->filename + 2);\n    goto _L48;\n  }\n  pbVar28 = *(bfd **)(puVar25 + 0xc);\n  iVar23 = *(int *)(puVar25 + 4);\n  if (((*(byte *)((int)&pbVar28->filename + (uint)bVar12 * 2) & 4) != 0) &&\n     (*(char *)((int)&((bfd *)fmt)->filename + 2) == '$')) {\n    bVar12 = *(byte *)((int)&((bfd *)fmt)->filename + 3);\n    iVar23 = *(int *)(puVar25 + 8);\n    pbVar30 = (bfd *)((int)&((bfd *)fmt)->filename + 3);\n    *(int *)(puVar25 + 8) = (int)(char)bVar12;\n    iVar23 = iVar23 + -0x31;\n  }\n  fmt = (char *)((int)&pbVar30->filename + 1);\n  switch(bVar12) {\n  case 0:\n    fmt = (char *)pbVar30;\n  case 0x25:\n    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n    *(undefined4 *)(puVar25 + -0x10) = 0x25;\n    *(undefined4 *)(puVar25 + -0x14) = 0x34207;\n    putc(*(int *)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n    bVar12 = *(byte *)&((bfd *)fmt)->filename;\n    goto joined_r0x000340a6;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    iVar23 = iVar23 * 0x10;\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    pbVar28 = *(bfd **)(puVar25 + iVar23 + 0xa0);\n    *(undefined4 *)(puVar25 + 0x1c) = *(undefined4 *)(puVar25 + iVar23 + 0xa4);\n    uVar18 = *(undefined4 *)(puVar25 + iVar23 + 0xac);\n    *(undefined4 *)(puVar25 + 0x20) = *(undefined4 *)(puVar25 + iVar23 + 0xa8);\n    *(undefined4 *)(puVar25 + 0x24) = uVar18;\n    if (pbVar28 == (bfd *)0x0) {\nLAB_00034747:\n      *(bfd **)(puVar25 + -8) = pbVar28;\n      *(undefined **)(puVar25 + -0xc) = &DAT_0007d36d;\n      *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n      *(undefined4 *)(puVar25 + -0x14) = 0x3475e;\n      lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n      *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x24);\n      *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 0x20);\n      *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(puVar25 + 0x1c);\n      *(char **)(puVar25 + -0x1c) = "(%pA+0x%v)";\n      *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n      *(undefined4 *)(puVar25 + -0x24) = 0x3477e;\n      lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n    }\n    else {\n      *(bfd **)(puVar25 + -0x10) = pbVar28;\n      *(undefined4 *)(puVar25 + -0x14) = 0x34331;\n      iVar23 = bfd_generic_link_read_symbols();\n      if (iVar23 == 0) {\n        *(undefined4 *)(puVar25 + -8) = 5;\n        *(char **)(puVar25 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar25 + -0x10) = 0;\n        *(undefined4 *)(puVar25 + -0x14) = 0x349f8;\n        uVar18 = dcgettext();\n        *(bfd **)(puVar25 + -0xc) = pbVar28;\n        *(undefined4 *)(puVar25 + -0x10) = uVar18;\n        *(undefined4 *)(puVar25 + -0x14) = 0x34a01;\n        einfo(*(char **)(puVar25 + -0x10));\n      }\n      pbVar5 = pbVar28->xvec;\n      *(undefined4 *)(puVar25 + -0x10) = 0;\n      *(undefined1 **)(puVar25 + -0x14) = puVar25 + 0x3c;\n      *(undefined1 **)(puVar25 + -0x18) = puVar25 + 0x38;\n      *(undefined1 **)(puVar25 + -0x1c) = puVar25 + 0x34;\n      *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x24);\n      *(undefined4 *)(puVar25 + -0x24) = *(undefined4 *)(puVar25 + 0x20);\n      *(undefined4 *)(puVar25 + -0x28) = *(undefined4 *)(puVar25 + 0x1c);\n      *(bfd_symbol ***)(puVar25 + -0x2c) = pbVar28->outsymbols;\n      *(bfd **)(puVar25 + -0x30) = pbVar28;\n      p_Var6 = pbVar5->_bfd_find_nearest_line;\n      *(undefined4 *)(puVar25 + -0x34) = 0x34369;\n      bVar16 = (*p_Var6)(*(bfd **)(puVar25 + -0x30),*(bfd_symbol ***)(puVar25 + -0x2c),\n                         *(bfd_section **)(puVar25 + -0x28),*(bfd_vma *)(puVar25 + -0x24),\n                         *(char ***)(puVar25 + -0x1c),*(char ***)(puVar25 + -0x18),\n                         *(uint **)(puVar25 + -0x14),*(uint **)(puVar25 + -0x10));\n      if (bVar16 == 0) goto LAB_00034747;\n      iVar23 = *(int *)(puVar25 + 0x38);\n      *(int *)(puVar25 + 8) = iVar23;\n      if ((iVar23 == 0) ||\n         ((*(char *)&pbVar30->filename != 'C' && (*(char *)&pbVar30->filename != 'H')))) {\n        *(bfd **)(puVar25 + -8) = pbVar28;\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d36d;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x343aa;\n        lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        *(undefined4 *)(puVar25 + 0x18) = 1;\nLAB_000343b5:\n        if (*(int *)(puVar25 + 0x34) == 0) {\n          iVar23 = *(int *)(puVar25 + 0x38);\n          goto LAB_00034a0d;\n        }\n        *(int *)(puVar25 + -8) = *(int *)(puVar25 + 0x34);\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d779;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x343d8;\n        fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        iVar23 = *(int *)(puVar25 + 0x38);\n        if ((iVar23 != 0) && (*(char *)&pbVar30->filename == 'G')) goto LAB_00034a20;\n        if ((*(int *)(puVar25 + 0x34) == 0) || (iVar23 = *(int *)(puVar25 + 0x3c), iVar23 == 0))\n        goto LAB_00034902;\n        if (*(char *)&pbVar30->filename == 'H') {\n          *(undefined **)(puVar25 + -4) = &DAT_0007b12f;\n          *(int *)(puVar25 + -8) = iVar23;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d7d0;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x348ff;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n          goto LAB_00034902;\n        }\n        *(char **)(puVar25 + -4) = "";\n        *(int *)(puVar25 + -8) = iVar23;\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d7d0;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x3442b;\n        fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n      }\n      else {\n        if (((vfinfo::lexical_block_14::lexical_block_14_4::last_bfd == (bfd *)0x0) ||\n            (vfinfo::lexical_block_14::lexical_block_14_4::last_function == (char *)0x0)) ||\n           (vfinfo::lexical_block_14::lexical_block_14_4::last_bfd != pbVar28)) {\nLAB_00034800:\n          *(undefined4 *)(puVar25 + -8) = 5;\n          *(char **)(puVar25 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar25 + -0x10) = 0;\n          *(undefined4 *)(puVar25 + -0x14) = 0x34813;\n          uVar18 = dcgettext();\n          *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 8);\n          *(bfd **)(puVar25 + -0x18) = pbVar28;\n          *(undefined4 *)(puVar25 + -0x1c) = uVar18;\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x34825;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n          vfinfo::lexical_block_14::lexical_block_14_4::last_bfd = pbVar28;\n          if (vfinfo::lexical_block_14::lexical_block_14_4::last_file != (char *)0x0) {\n            *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34841;\n            free(*(void **)(puVar25 + -0x10));\n          }\n          vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)0x0;\n          if (*(int *)(puVar25 + 0x34) != 0) {\n            *(int *)(puVar25 + -0x10) = *(int *)(puVar25 + 0x34);\n            *(undefined4 *)(puVar25 + -0x14) = 0x3485f;\n            vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)xstrdup();\n          }\n          if (vfinfo::lexical_block_14::lexical_block_14_4::last_function != (char *)0x0) {\n            *(char **)(puVar25 + -0x10) =\n                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n            *(undefined4 *)(puVar25 + -0x14) = 0x3487b;\n            free(*(void **)(puVar25 + -0x10));\n          }\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x38);\n          *(undefined4 *)(puVar25 + -0x14) = 0x3488a;\n          vfinfo::lexical_block_14::lexical_block_14_4::last_function = (char *)xstrdup();\n          *(undefined4 *)(puVar25 + 0x18) = 0;\n          goto LAB_000343b5;\n        }\n        iVar20 = *(int *)(puVar25 + 0x34);\n        *(char **)(puVar25 + 0x18) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n        puVar25[0x28] = vfinfo::lexical_block_14::lexical_block_14_4::last_file == (char *)0x0;\n        puVar25[0x2f] = iVar20 == 0;\n        if (puVar25[0x28] != puVar25[0x2f]) goto LAB_00034800;\n        if (iVar20 != 0) {\n          *(int *)(puVar25 + -4) = iVar23;\n          *(int *)(puVar25 + -8) = iVar23;\n          *(int *)(puVar25 + -0xc) = iVar20;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x18);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34c8b;\n          uVar31 = filename_cmp();\n          uVar18 = (undefined4)((ulonglong)uVar31 >> 0x20);\n          *(undefined4 *)(puVar25 + 8) = *(undefined4 *)(puVar25 + 0x38);\n          if ((int)uVar31 == 0) {\n            *(undefined4 *)(puVar25 + -4) = uVar18;\n            *(undefined4 *)(puVar25 + -8) = uVar18;\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x38);\n            *(char **)(puVar25 + -0x10) =\n                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34cac;\n            iVar23 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n            *(int *)(puVar25 + 0x18) = iVar23;\n            if (iVar23 == 0) goto LAB_000343b5;\n          }\n          goto LAB_00034800;\n        }\n        *(int *)(puVar25 + 8) = iVar23;\n        *(undefined4 *)(puVar25 + -4) = 0;\n        *(undefined4 *)(puVar25 + -8) = 0;\n        *(int *)(puVar25 + -0xc) = iVar23;\n        *(int *)(puVar25 + 0x28) = iVar23;\n        *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n        *(undefined4 *)(puVar25 + -0x14) = 0x34cd6;\n        iVar20 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        iVar23 = *(int *)(puVar25 + 0x28);\n        *(int *)(puVar25 + 0x18) = iVar20;\n        if (iVar20 != 0) goto LAB_00034800;\nLAB_00034a0d:\n        if ((*(char *)&pbVar30->filename == 'G') && (iVar23 != 0)) {\nLAB_00034a20:\n          *(int *)(puVar25 + -8) = iVar23;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d77d;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34a37;\n          lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n        else {\nLAB_00034902:\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x24);\n          *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 0x20);\n          *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(puVar25 + 0x1c);\n          *(char **)(puVar25 + -0x1c) = "(%pA+0x%v)";\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x34924;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n        }\n      }\n      if (*(int *)(puVar25 + 0x18) == 0) goto LAB_0003443a;\n    }\n    vfinfo::lexical_block_14::lexical_block_14_4::last_bfd = (bfd *)0x0;\n    if (vfinfo::lexical_block_14::lexical_block_14_4::last_file != (char *)0x0) {\n      *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n      *(undefined4 *)(puVar25 + -0x14) = 0x3479e;\n      free(*(void **)(puVar25 + -0x10));\n      vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)0x0;\n    }\n    if (vfinfo::lexical_block_14::lexical_block_14_4::last_function != (char *)0x0) {\n      *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n      *(undefined4 *)(puVar25 + -0x14) = 0x347c2;\n      free(*(void **)(puVar25 + -0x10));\n      vfinfo::lexical_block_14::lexical_block_14_4::last_function = (char *)0x0;\n    }\nLAB_0003443a:\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  case 0x45:\n    *(undefined4 *)(puVar25 + -4) = 0x3444a;\n    uVar18 = bfd_get_error();\n    *(undefined4 *)(puVar25 + -0x10) = uVar18;\n    *(undefined4 *)(puVar25 + -0x14) = 0x34453;\n    uVar18 = bfd_errmsg();\n    pbVar28 = *(bfd **)(puVar25 + -0xc);\n    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n    *(undefined4 *)(puVar25 + -0x10) = uVar18;\n    *(undefined4 *)(puVar25 + -0x14) = 0x34462;\n    fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  case 0x46:\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    *(undefined4 *)(puVar25 + 0x10) = 1;\n    goto joined_r0x000340a6;\n  case 0x50:\n    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n    *(char **)(puVar25 + -0x10) = program_name;\n    *(undefined4 *)(puVar25 + -0x14) = 0x34695;\n    fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  case 0x56:\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    pcVar27 = "%016llx";\n    *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n    break;\n  case 0x57:\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n    *(char **)(puVar25 + -0xc) = "%016llx";\n    pcVar27 = puVar25 + 0x3c;\n    *(char **)(puVar25 + -0x10) = pcVar27;\n    *(undefined4 *)(puVar25 + -0x14) = 0x345d0;\n    sprintf(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n    cVar2 = puVar25[0x3c];\n    while (cVar2 == '0') {\n      pcVar27 = pcVar27 + 1;\n      cVar2 = *pcVar27;\n    }\n    pbVar28 = (bfd *)(pcVar27 + -(uint)(cVar2 == '\0'));\n    *(bfd **)(puVar25 + -0x10) = pbVar28;\n    *(undefined4 *)(puVar25 + -0x14) = 0x345f5;\n    sVar17 = strlen(*(char **)(puVar25 + -0x10));\n    if (sVar17 < 8) {\n      *(bfd **)(puVar25 + 8) = pbVar30;\n      uVar18 = *(undefined4 *)(puVar25 + 0x150);\n      *(char **)(puVar25 + 0x18) = fmt;\n      do {\n        sVar17 = sVar17 + 1;\n        *(undefined4 *)(puVar25 + -0xc) = uVar18;\n        *(undefined4 *)(puVar25 + -0x10) = 0x20;\n        *(undefined4 *)(puVar25 + -0x14) = 0x3461c;\n        putc(*(int *)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n      } while (sVar17 != 8);\n      pbVar30 = *(bfd **)(puVar25 + 8);\n      fmt = *(char **)(puVar25 + 0x18);\n    }\n    pcVar27 = "0x%s";\n    *(bfd **)(puVar25 + -8) = pbVar28;\n    break;\n  case 0x58:\n    config.make_executable = 0;\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  case 100:\n    puVar15 = &DAT_0006c013;\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n    goto LAB_000344af;\n  case 0x6c:\n    cVar2 = *(char *)((int)&pbVar30->filename + 1);\n    if (cVar2 == 'd') {\n      puVar15 = &DAT_0007d7c3;\n      *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\nLAB_000342cd:\n      *(undefined **)(puVar25 + -0xc) = puVar15;\n      *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n      *(undefined4 *)(puVar25 + -0x14) = 0x342dd;\n      fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n      *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n      bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n      fmt = (char *)((int)&pbVar30->filename + 2);\n      goto joined_r0x000340a6;\n    }\n    if (cVar2 == 'u') {\n      puVar15 = &DAT_0007d7c7;\n      *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n      goto LAB_000342cd;\n    }\n  default:\n_L48:\n    pcVar27 = "%%%c";\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + 8);\n    break;\n  case 0x70:\n    cVar2 = *(char *)((int)&pbVar30->filename + 1);\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    if (cVar2 == 'A') {\n      pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n      puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n      pbVar28 = (bfd *)puVar7[0x2b];\n      *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n      *(undefined4 *)(puVar25 + -0x10) = *puVar7;\n      *(undefined4 **)(puVar25 + 8) = puVar7;\n      *(undefined4 *)(puVar25 + -0x14) = 0x34a7f;\n      fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n      iVar23 = *(int *)(puVar25 + 8);\n      if (pbVar28 != (bfd *)0x0) {\n        bVar9 = pbVar28->xvec->flavour;\n        if (bVar9 == bfd_target_elf_flavour) {\n          pbVar28 = *(bfd **)(*(int *)(iVar23 + 0xa4) + 0x8c);\n          if ((pbVar28 == (bfd *)0x0) || ((*(byte *)(iVar23 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar23 = *(int *)(*(int *)(iVar23 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((bVar9 != bfd_target_coff_flavour) ||\n               (*(int *)(*(int *)(*(int *)(iVar23 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar23 + 0xa4) == 0)) ||\n             (piVar10 = *(int **)(*(int *)(iVar23 + 0xa4) + 0x2c), piVar10 == (int *)0x0))\n          goto LAB_000349da;\n          iVar23 = *piVar10;\n        }\n        if (iVar23 != 0) {\n          puVar26 = puVar25 + -8;\n          *(int *)(puVar25 + -8) = iVar23;\n          pcVar27 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }\n    }\n    else {\n      if (cVar2 == 'B') {\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        if (puVar7 == (undefined4 *)0x0) {\n          puVar26 = puVar25 + -8;\n          *(char **)(puVar25 + -8) = program_name;\n          pcVar27 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar7[0x23];\n          pcVar27 = (char *)*puVar7;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\nLAB_00034957:\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n            *(char **)(puVar25 + -0x10) = pcVar27;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34967;\n            fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n            fmt = (char *)((int)&pbVar30->filename + 2);\n            bVar12 = *(byte *)&((bfd *)fmt)->filename;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar25 + -4) = pcVar27;\n          puVar26 = puVar25 + -8;\n          *(undefined4 *)(puVar25 + -8) = *puVar8;\n          pcVar27 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar26 + -4) = pcVar27;\n        *(undefined4 *)(puVar26 + -8) = *(undefined4 *)(puVar26 + 0x158);\n        *(undefined4 *)(puVar26 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar26 + -8),*(char **)(puVar26 + -4));\n        bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n        puVar25 = puVar26 + 8;\n        fmt = (char *)pbVar29;\n        goto joined_r0x000340a6;\n      }\n      if (cVar2 == 'I') {\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        pbVar28 = *(bfd **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        pbVar19 = pbVar28->lru_prev->my_archive;\n        if ((pbVar19 != (bfd *)0x0) && ((pbVar19->field_0x2c & 1) == 0)) {\nLAB_00034be8:\n          *(char **)(puVar25 + -8) = pbVar19->filename;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n        *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n        *(bfd_iovec **)(puVar25 + -0x10) = pbVar28->iovec;\n        *(undefined4 *)(puVar25 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n        pbVar19 = pbVar28->lru_prev->my_archive;\n        if ((pbVar19 == (bfd *)0x0) || ((pbVar19->field_0x2c & 1) != 0)) {\n          *(void **)(puVar25 + -0xc) = pbVar28->iostream;\n          *(bfd_iovec **)(puVar25 + -0x10) = pbVar28->iovec;\n          *(undefined4 *)(puVar25 + -0x14) = 0x349cf;\n          iVar23 = filename_cmp();\n          if (iVar23 != 0) {\n            pcVar27 = " (%s)";\n            puVar26 = puVar25 + -8;\n            *(void **)(puVar25 + -8) = pbVar28->iostream;\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (cVar2 == 'R') {\n          puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar7[5] + 0x20);\n          *(undefined4 *)(puVar25 + -0x10) = puVar7[4];\n          *(undefined4 *)(puVar25 + -0x14) = puVar7[3];\n          *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(*(int *)*puVar7 + 4);\n          *(char **)(puVar25 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x348d6;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n          bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n          fmt = (char *)((int)&pbVar30->filename + 2);\n          goto joined_r0x000340a6;\n        }\n        if (cVar2 != 'S') {\n          if (cVar2 != 'T') {\n            pcVar27 = "%p";\n            *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n          pcVar27 = *(char **)(puVar25 + iVar23 * 0x10 + 0xa0);\n          if ((pcVar27 != (char *)0x0) && (*pcVar27 != '\0')) {\n            pbVar28 = (bfd *)**(undefined4 **)(puVar25 + 0x14);\n            if (pbVar28 != (bfd *)0x0) {\n              *(undefined4 *)(puVar25 + -8) = 3;\n              *(char **)(puVar25 + -0xc) = pcVar27;\n              *(char **)(puVar25 + 8) = pcVar27;\n              *(bfd **)(puVar25 + -0x10) = link_info.output_bfd;\n              *(undefined4 *)(puVar25 + -0x14) = 0x3454c;\n              pbVar28 = (bfd *)bfd_demangle();\n              pcVar27 = *(char **)(puVar25 + 8);\n              if (pbVar28 != (bfd *)0x0) {\n                *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x3456d;\n                fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x34575;\n                free(*(void **)(puVar25 + -0x10));\n                bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n                fmt = (char *)pbVar29;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto LAB_00034957;\n          }\n          *(undefined4 *)(puVar25 + -8) = 5;\n          *(char **)(puVar25 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar25 + -0x10) = 0;\n          *(undefined4 *)(puVar25 + -0x14) = 0x34b14;\n          pcVar27 = (char *)dcgettext();\n          puVar26 = puVar25 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        puVar24 = *(undefined1 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        if (puVar24 == (undefined1 *)0x0) {\n          *(undefined4 *)(puVar25 + -4) = 0x34c1e;\n          pcVar27 = ldlex_filename();\n          *(char **)(puVar25 + 0x44) = pcVar27;\n          *(uint *)(puVar25 + 0x40) = lineno;\n          puVar24 = puVar25 + 0x3c;\n        }\n        else {\n          pcVar27 = *(char **)(puVar24 + 8);\n        }\n        if (pcVar27 != (char *)0x0) {\n          *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar24 + 4);\n          *(char **)(puVar25 + -8) = pcVar27;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d7b0;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34b67;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n      }\n    }\nLAB_000349da:\n    bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n    fmt = (char *)pbVar29;\n    goto joined_r0x000340a6;\n  case 0x73:\n    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n    *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n    *(undefined4 *)(puVar25 + -0x14) = 0x34489;\n    fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  case 0x75:\n    puVar15 = &DAT_0007d7b3;\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\nLAB_000344af:\n    *(undefined **)(puVar25 + -0xc) = puVar15;\n    *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n    *(undefined4 *)(puVar25 + -0x14) = 0x344bc;\n    fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  case 0x76:\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n    *(char **)(puVar25 + -0xc) = "%016llx";\n    pcVar27 = puVar25 + 0x3c;\n    *(char **)(puVar25 + -0x10) = pcVar27;\n    *(undefined4 *)(puVar25 + -0x14) = 0x3426c;\n    sprintf(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n    cVar2 = puVar25[0x3c];\n    while (cVar2 == '0') {\n      pcVar27 = pcVar27 + 1;\n      cVar2 = *pcVar27;\n    }\n    pbVar28 = (bfd *)(pcVar27 + -(uint)(cVar2 == '\0'));\n    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n    *(bfd **)(puVar25 + -0x10) = pbVar28;\n    *(undefined4 *)(puVar25 + -0x14) = 0x34298;\n    fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  }\n  *(char **)(puVar25 + -0xc) = pcVar27;\n  *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n  *(undefined4 *)(puVar25 + -0x14) = 0x34237;\n  fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n  bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n  goto joined_r0x000340a6;\n}\n\n" comment (function_definition "void vfinfo(FILE *fp,char *fmt,va_list ap,bfd_boolean is_warning)\n\n{\n  byte bVar1;\n  char cVar2;\n  void *pvVar3;\n  bfd_iovec *pbVar4;\n  bfd_target *pbVar5;\n  _func_bfd_boolean_bfd_ptr_bfd_symbol_ptr_ptr_bfd_section_ptr_bfd_vma_char_ptr_ptr_char_ptr_ptr_uint_ptr_uint_ptr\n  *p_Var6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  bfd_flavour bVar9;\n  int *piVar10;\n  byte *pbVar11;\n  byte bVar12;\n  vfinfo_args *pvVar13;\n  uint uVar14;\n  undefined *puVar15;\n  bfd_boolean bVar16;\n  size_t sVar17;\n  undefined4 uVar18;\n  bfd *pbVar19;\n  int iVar20;\n  vfinfo_args *pvVar21;\n  byte *pbVar22;\n  int iVar23;\n  undefined1 *puVar24;\n  undefined1 *puVar25;\n  undefined1 *puVar26;\n  char *pcVar27;\n  bfd *pbVar28;\n  bfd *pbVar29;\n  bfd *pbVar30;\n  undefined8 uVar31;\n  undefined1 auStack_14c [4];\n  vfinfo_args *local_148;\n  byte *local_144;\n  undefined *local_140;\n  undefined4 local_13c;\n  bfd_boolean *local_138;\n  int local_134;\n  char *filename;\n  char *functionname;\n  char buf [100];\n  vfinfo_args args [9];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x33f29;\n  puVar25 = auStack_14c;\n  pvVar21 = args;\n  pvVar13 = pvVar21;\n  do {\n    pvVar13->i = 0;\n    pvVar13 = pvVar13 + 1;\n  } while ((vfinfo_args *)&stack0xffffffe4 != pvVar13);\n  bVar12 = *fmt;\n  local_148 = (vfinfo_args *)0x0;\n  local_13c = CONCAT31(local_13c._1_3_,bVar12);\n  local_138 = (bfd_boolean *)PTR__sch_istable_001cefa0;\n  uVar14 = (uint)bVar12;\n  pbVar22 = (byte *)fmt;\nLAB_00033f90:\n  if ((char)uVar14 != '\0') {\n    if ((char)uVar14 != '%') goto LAB_00033fb0;\n    goto LAB_00033fd0;\n  }\n  uVar14 = 0;\n  pbVar28 = (bfd *)ap;\n  if (local_148 != (vfinfo_args *)0x0) {\n    do {\n      switch(pvVar21->i) {\n      default:\n                    /* WARNING: Subroutine does not return */\n        ld_abort("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar28 = (bfd *)&((bfd *)ap)->xvec;\n        pvVar21->i = (int)((bfd *)ap)->filename;\n        break;\n      case 4:\n        pbVar5 = ((bfd *)ap)->xvec;\n        pbVar28 = (bfd *)&((bfd *)ap)->iostream;\n        pvVar21->i = (int)((bfd *)ap)->filename;\n        (pvVar21->reladdr).sec = (asection *)pbVar5;\n        break;\n      case 5:\n        pvVar3 = ((bfd *)ap)->iostream;\n        pbVar28 = (bfd *)&((bfd *)ap)->lru_prev;\n        pbVar4 = ((bfd *)ap)->iovec;\n        pvVar21->i = (int)((bfd *)ap)->filename;\n        pbVar5 = ((bfd *)ap)->xvec;\n        *(void **)&(pvVar21->reladdr).off = pvVar3;\n        (pvVar21->reladdr).sec = (asection *)pbVar5;\n        *(bfd_iovec **)((int)&(pvVar21->reladdr).off + 4) = pbVar4;\n      }\n      uVar14 = uVar14 + 1;\n      pvVar21 = pvVar21 + 1;\n      ap = (va_list)pbVar28;\n    } while (local_148 != (vfinfo_args *)uVar14);\n  }\n  local_148 = (vfinfo_args *)0x0;\n  local_13c = 0;\n  local_140 = PTR__sch_istable_001cefa0;\n  local_138 = &demangling;\njoined_r0x000340a6:\n  if (bVar12 != 0) {\n    pbVar29 = (bfd *)fmt;\n    pbVar28 = (bfd *)fmt;\n    if (bVar12 != 0x25) goto LAB_000340c2;\n    goto LAB_00034170;\n  }\n  pbVar29 = *(bfd **)(puVar25 + 0x15c);\n  if ((pbVar29 != (bfd *)0x0) && (config.fatal_warnings != 0)) {\n    config.make_executable = 0;\n  }\n  if (*(int *)(puVar25 + 0x10) == 0) {\n    return;\n  }\n  *(undefined4 *)(puVar25 + -0x10) = 1;\n  *(undefined4 *)(puVar25 + -0x14) = 0x34be1;\n  pbVar19 = (bfd *)xexit();\n  puVar25 = puVar25 + -0x10;\n  pbVar30 = (bfd *)fmt;\n  goto LAB_00034be8;\nLAB_00033fb0:\n  do {\n    pbVar22 = pbVar22 + 1;\n    bVar1 = *pbVar22;\n    uVar14 = (uint)bVar1;\n    if (bVar1 == 0x25) break;\n  } while (bVar1 != 0);\n  if (bVar1 != 0x25) goto LAB_00033f90;\nLAB_00033fd0:\n  local_144 = pbVar22 + 1;\n  bVar1 = pbVar22[1];\n  uVar14 = (uint)bVar1;\n  if (bVar1 == 0x30) {\n    pbVar22 = pbVar22 + 2;\n_L18:\n    uVar14 = (uint)local_144[1];\n    goto LAB_00033f90;\n  }\n  local_134 = (int)(char)bVar1;\n  local_140 = (undefined *)local_148;\n  if (((PTR__sch_istable_001cefa0[uVar14 * 2] & 4) != 0) && (pbVar22[2] == 0x24)) {\n    local_140 = (undefined *)((int)(char)bVar1 - 0x31);\n    local_144 = pbVar22 + 3;\n    uVar14 = (uint)pbVar22[3];\n  }\n  pbVar11 = local_144;\n  pbVar22 = local_144 + 1;\n  switch(uVar14) {\n  case 0:\n    pbVar22 = local_144;\n    goto LAB_00033f90;\n  default:\n    goto _L18;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    local_144 = (byte *)0x5;\n    break;\n  case 0x56:\n  case 0x57:\n  case 0x76:\n    local_144 = (byte *)0x4;\n    break;\n  case 100:\n  case 0x75:\n    local_144 = (byte *)0x1;\n    break;\n  case 0x6c:\n    bVar1 = local_144[1];\n    uVar14 = (uint)bVar1;\n    if ((bVar1 != 100) && (bVar1 != 0x75)) goto LAB_00033f90;\n    local_144 = (byte *)0x2;\n    pbVar22 = pbVar11 + 2;\n    break;\n  case 0x70:\n    local_144 = (byte *)0x3;\n    if (((byte)(pbVar11[1] - 0x41) < 0x14) && ((0xe0103U >> (pbVar11[1] - 0x41 & 0x1f) & 1) != 0)) {\n      pbVar22 = pbVar11 + 2;\n    }\n    break;\n  case 0x73:\n    local_144 = (byte *)0x3;\n  }\n  if (8 < local_140) {\n    local_148 = pvVar21;\n                    /* WARNING: Subroutine does not return */\n    ld_abort("../../ld/ldmisc.c",0xa9,"vfinfo");\n  }\n  local_148 = (vfinfo_args *)((int)&local_148->reladdr + 1);\n  args[(int)local_140].i = (int)local_144;\n  uVar14 = (uint)*pbVar22;\n  goto LAB_00033f90;\nLAB_000340c2:\n  do {\n    pbVar28 = pbVar29;\n    bVar12 = *(byte *)((int)&pbVar28->filename + 1);\n    pbVar29 = (bfd *)((int)&pbVar28->filename + 1);\n    if (bVar12 == 0x25) break;\n  } while (bVar12 != 0);\n  if ((bfd *)fmt != pbVar29) {\n    *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + 0x150);\n    *(int *)(puVar25 + -8) = (int)pbVar29 - (int)fmt;\n    *(undefined4 *)(puVar25 + -0xc) = 1;\n    *(char **)(puVar25 + -0x10) = fmt;\n    *(undefined4 *)(puVar25 + -0x14) = 0x340e9;\n    fwrite(*(void **)(puVar25 + -0x10),*(size_t *)(puVar25 + -0xc),*(size_t *)(puVar25 + -8),\n           *(FILE **)(puVar25 + -4));\n    bVar12 = *(byte *)((int)&pbVar28->filename + 1);\n  }\n  fmt = (char *)pbVar29;\n  if (bVar12 != 0x25) goto joined_r0x000340a6;\nLAB_00034170:\n  bVar12 = *(byte *)((int)&((bfd *)fmt)->filename + 1);\n  pbVar30 = (bfd *)((int)&((bfd *)fmt)->filename + 1);\n  *(int *)(puVar25 + 8) = (int)(char)bVar12;\n  if (bVar12 == 0x30) {\n    *(undefined4 *)(puVar25 + 8) = 0x30;\n    fmt = (char *)((int)&((bfd *)fmt)->filename + 2);\n    goto _L48;\n  }\n  pbVar28 = *(bfd **)(puVar25 + 0xc);\n  iVar23 = *(int *)(puVar25 + 4);\n  if (((*(byte *)((int)&pbVar28->filename + (uint)bVar12 * 2) & 4) != 0) &&\n     (*(char *)((int)&((bfd *)fmt)->filename + 2) == '$')) {\n    bVar12 = *(byte *)((int)&((bfd *)fmt)->filename + 3);\n    iVar23 = *(int *)(puVar25 + 8);\n    pbVar30 = (bfd *)((int)&((bfd *)fmt)->filename + 3);\n    *(int *)(puVar25 + 8) = (int)(char)bVar12;\n    iVar23 = iVar23 + -0x31;\n  }\n  fmt = (char *)((int)&pbVar30->filename + 1);\n  switch(bVar12) {\n  case 0:\n    fmt = (char *)pbVar30;\n  case 0x25:\n    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n    *(undefined4 *)(puVar25 + -0x10) = 0x25;\n    *(undefined4 *)(puVar25 + -0x14) = 0x34207;\n    putc(*(int *)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n    bVar12 = *(byte *)&((bfd *)fmt)->filename;\n    goto joined_r0x000340a6;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    iVar23 = iVar23 * 0x10;\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    pbVar28 = *(bfd **)(puVar25 + iVar23 + 0xa0);\n    *(undefined4 *)(puVar25 + 0x1c) = *(undefined4 *)(puVar25 + iVar23 + 0xa4);\n    uVar18 = *(undefined4 *)(puVar25 + iVar23 + 0xac);\n    *(undefined4 *)(puVar25 + 0x20) = *(undefined4 *)(puVar25 + iVar23 + 0xa8);\n    *(undefined4 *)(puVar25 + 0x24) = uVar18;\n    if (pbVar28 == (bfd *)0x0) {\nLAB_00034747:\n      *(bfd **)(puVar25 + -8) = pbVar28;\n      *(undefined **)(puVar25 + -0xc) = &DAT_0007d36d;\n      *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n      *(undefined4 *)(puVar25 + -0x14) = 0x3475e;\n      lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n      *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x24);\n      *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 0x20);\n      *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(puVar25 + 0x1c);\n      *(char **)(puVar25 + -0x1c) = "(%pA+0x%v)";\n      *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n      *(undefined4 *)(puVar25 + -0x24) = 0x3477e;\n      lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n    }\n    else {\n      *(bfd **)(puVar25 + -0x10) = pbVar28;\n      *(undefined4 *)(puVar25 + -0x14) = 0x34331;\n      iVar23 = bfd_generic_link_read_symbols();\n      if (iVar23 == 0) {\n        *(undefined4 *)(puVar25 + -8) = 5;\n        *(char **)(puVar25 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar25 + -0x10) = 0;\n        *(undefined4 *)(puVar25 + -0x14) = 0x349f8;\n        uVar18 = dcgettext();\n        *(bfd **)(puVar25 + -0xc) = pbVar28;\n        *(undefined4 *)(puVar25 + -0x10) = uVar18;\n        *(undefined4 *)(puVar25 + -0x14) = 0x34a01;\n        einfo(*(char **)(puVar25 + -0x10));\n      }\n      pbVar5 = pbVar28->xvec;\n      *(undefined4 *)(puVar25 + -0x10) = 0;\n      *(undefined1 **)(puVar25 + -0x14) = puVar25 + 0x3c;\n      *(undefined1 **)(puVar25 + -0x18) = puVar25 + 0x38;\n      *(undefined1 **)(puVar25 + -0x1c) = puVar25 + 0x34;\n      *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x24);\n      *(undefined4 *)(puVar25 + -0x24) = *(undefined4 *)(puVar25 + 0x20);\n      *(undefined4 *)(puVar25 + -0x28) = *(undefined4 *)(puVar25 + 0x1c);\n      *(bfd_symbol ***)(puVar25 + -0x2c) = pbVar28->outsymbols;\n      *(bfd **)(puVar25 + -0x30) = pbVar28;\n      p_Var6 = pbVar5->_bfd_find_nearest_line;\n      *(undefined4 *)(puVar25 + -0x34) = 0x34369;\n      bVar16 = (*p_Var6)(*(bfd **)(puVar25 + -0x30),*(bfd_symbol ***)(puVar25 + -0x2c),\n                         *(bfd_section **)(puVar25 + -0x28),*(bfd_vma *)(puVar25 + -0x24),\n                         *(char ***)(puVar25 + -0x1c),*(char ***)(puVar25 + -0x18),\n                         *(uint **)(puVar25 + -0x14),*(uint **)(puVar25 + -0x10));\n      if (bVar16 == 0) goto LAB_00034747;\n      iVar23 = *(int *)(puVar25 + 0x38);\n      *(int *)(puVar25 + 8) = iVar23;\n      if ((iVar23 == 0) ||\n         ((*(char *)&pbVar30->filename != 'C' && (*(char *)&pbVar30->filename != 'H')))) {\n        *(bfd **)(puVar25 + -8) = pbVar28;\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d36d;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x343aa;\n        lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        *(undefined4 *)(puVar25 + 0x18) = 1;\nLAB_000343b5:\n        if (*(int *)(puVar25 + 0x34) == 0) {\n          iVar23 = *(int *)(puVar25 + 0x38);\n          goto LAB_00034a0d;\n        }\n        *(int *)(puVar25 + -8) = *(int *)(puVar25 + 0x34);\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d779;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x343d8;\n        fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        iVar23 = *(int *)(puVar25 + 0x38);\n        if ((iVar23 != 0) && (*(char *)&pbVar30->filename == 'G')) goto LAB_00034a20;\n        if ((*(int *)(puVar25 + 0x34) == 0) || (iVar23 = *(int *)(puVar25 + 0x3c), iVar23 == 0))\n        goto LAB_00034902;\n        if (*(char *)&pbVar30->filename == 'H') {\n          *(undefined **)(puVar25 + -4) = &DAT_0007b12f;\n          *(int *)(puVar25 + -8) = iVar23;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d7d0;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x348ff;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n          goto LAB_00034902;\n        }\n        *(char **)(puVar25 + -4) = "";\n        *(int *)(puVar25 + -8) = iVar23;\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d7d0;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x3442b;\n        fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n      }\n      else {\n        if (((vfinfo::lexical_block_14::lexical_block_14_4::last_bfd == (bfd *)0x0) ||\n            (vfinfo::lexical_block_14::lexical_block_14_4::last_function == (char *)0x0)) ||\n           (vfinfo::lexical_block_14::lexical_block_14_4::last_bfd != pbVar28)) {\nLAB_00034800:\n          *(undefined4 *)(puVar25 + -8) = 5;\n          *(char **)(puVar25 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar25 + -0x10) = 0;\n          *(undefined4 *)(puVar25 + -0x14) = 0x34813;\n          uVar18 = dcgettext();\n          *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 8);\n          *(bfd **)(puVar25 + -0x18) = pbVar28;\n          *(undefined4 *)(puVar25 + -0x1c) = uVar18;\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x34825;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n          vfinfo::lexical_block_14::lexical_block_14_4::last_bfd = pbVar28;\n          if (vfinfo::lexical_block_14::lexical_block_14_4::last_file != (char *)0x0) {\n            *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34841;\n            free(*(void **)(puVar25 + -0x10));\n          }\n          vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)0x0;\n          if (*(int *)(puVar25 + 0x34) != 0) {\n            *(int *)(puVar25 + -0x10) = *(int *)(puVar25 + 0x34);\n            *(undefined4 *)(puVar25 + -0x14) = 0x3485f;\n            vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)xstrdup();\n          }\n          if (vfinfo::lexical_block_14::lexical_block_14_4::last_function != (char *)0x0) {\n            *(char **)(puVar25 + -0x10) =\n                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n            *(undefined4 *)(puVar25 + -0x14) = 0x3487b;\n            free(*(void **)(puVar25 + -0x10));\n          }\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x38);\n          *(undefined4 *)(puVar25 + -0x14) = 0x3488a;\n          vfinfo::lexical_block_14::lexical_block_14_4::last_function = (char *)xstrdup();\n          *(undefined4 *)(puVar25 + 0x18) = 0;\n          goto LAB_000343b5;\n        }\n        iVar20 = *(int *)(puVar25 + 0x34);\n        *(char **)(puVar25 + 0x18) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n        puVar25[0x28] = vfinfo::lexical_block_14::lexical_block_14_4::last_file == (char *)0x0;\n        puVar25[0x2f] = iVar20 == 0;\n        if (puVar25[0x28] != puVar25[0x2f]) goto LAB_00034800;\n        if (iVar20 != 0) {\n          *(int *)(puVar25 + -4) = iVar23;\n          *(int *)(puVar25 + -8) = iVar23;\n          *(int *)(puVar25 + -0xc) = iVar20;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x18);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34c8b;\n          uVar31 = filename_cmp();\n          uVar18 = (undefined4)((ulonglong)uVar31 >> 0x20);\n          *(undefined4 *)(puVar25 + 8) = *(undefined4 *)(puVar25 + 0x38);\n          if ((int)uVar31 == 0) {\n            *(undefined4 *)(puVar25 + -4) = uVar18;\n            *(undefined4 *)(puVar25 + -8) = uVar18;\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x38);\n            *(char **)(puVar25 + -0x10) =\n                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34cac;\n            iVar23 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n            *(int *)(puVar25 + 0x18) = iVar23;\n            if (iVar23 == 0) goto LAB_000343b5;\n          }\n          goto LAB_00034800;\n        }\n        *(int *)(puVar25 + 8) = iVar23;\n        *(undefined4 *)(puVar25 + -4) = 0;\n        *(undefined4 *)(puVar25 + -8) = 0;\n        *(int *)(puVar25 + -0xc) = iVar23;\n        *(int *)(puVar25 + 0x28) = iVar23;\n        *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n        *(undefined4 *)(puVar25 + -0x14) = 0x34cd6;\n        iVar20 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        iVar23 = *(int *)(puVar25 + 0x28);\n        *(int *)(puVar25 + 0x18) = iVar20;\n        if (iVar20 != 0) goto LAB_00034800;\nLAB_00034a0d:\n        if ((*(char *)&pbVar30->filename == 'G') && (iVar23 != 0)) {\nLAB_00034a20:\n          *(int *)(puVar25 + -8) = iVar23;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d77d;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34a37;\n          lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n        else {\nLAB_00034902:\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x24);\n          *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 0x20);\n          *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(puVar25 + 0x1c);\n          *(char **)(puVar25 + -0x1c) = "(%pA+0x%v)";\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x34924;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n        }\n      }\n      if (*(int *)(puVar25 + 0x18) == 0) goto LAB_0003443a;\n    }\n    vfinfo::lexical_block_14::lexical_block_14_4::last_bfd = (bfd *)0x0;\n    if (vfinfo::lexical_block_14::lexical_block_14_4::last_file != (char *)0x0) {\n      *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n      *(undefined4 *)(puVar25 + -0x14) = 0x3479e;\n      free(*(void **)(puVar25 + -0x10));\n      vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)0x0;\n    }\n    if (vfinfo::lexical_block_14::lexical_block_14_4::last_function != (char *)0x0) {\n      *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n      *(undefined4 *)(puVar25 + -0x14) = 0x347c2;\n      free(*(void **)(puVar25 + -0x10));\n      vfinfo::lexical_block_14::lexical_block_14_4::last_function = (char *)0x0;\n    }\nLAB_0003443a:\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  case 0x45:\n    *(undefined4 *)(puVar25 + -4) = 0x3444a;\n    uVar18 = bfd_get_error();\n    *(undefined4 *)(puVar25 + -0x10) = uVar18;\n    *(undefined4 *)(puVar25 + -0x14) = 0x34453;\n    uVar18 = bfd_errmsg();\n    pbVar28 = *(bfd **)(puVar25 + -0xc);\n    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n    *(undefined4 *)(puVar25 + -0x10) = uVar18;\n    *(undefined4 *)(puVar25 + -0x14) = 0x34462;\n    fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  case 0x46:\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    *(undefined4 *)(puVar25 + 0x10) = 1;\n    goto joined_r0x000340a6;\n  case 0x50:\n    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n    *(char **)(puVar25 + -0x10) = program_name;\n    *(undefined4 *)(puVar25 + -0x14) = 0x34695;\n    fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  case 0x56:\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    pcVar27 = "%016llx";\n    *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n    break;\n  case 0x57:\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n    *(char **)(puVar25 + -0xc) = "%016llx";\n    pcVar27 = puVar25 + 0x3c;\n    *(char **)(puVar25 + -0x10) = pcVar27;\n    *(undefined4 *)(puVar25 + -0x14) = 0x345d0;\n    sprintf(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n    cVar2 = puVar25[0x3c];\n    while (cVar2 == '0') {\n      pcVar27 = pcVar27 + 1;\n      cVar2 = *pcVar27;\n    }\n    pbVar28 = (bfd *)(pcVar27 + -(uint)(cVar2 == '\0'));\n    *(bfd **)(puVar25 + -0x10) = pbVar28;\n    *(undefined4 *)(puVar25 + -0x14) = 0x345f5;\n    sVar17 = strlen(*(char **)(puVar25 + -0x10));\n    if (sVar17 < 8) {\n      *(bfd **)(puVar25 + 8) = pbVar30;\n      uVar18 = *(undefined4 *)(puVar25 + 0x150);\n      *(char **)(puVar25 + 0x18) = fmt;\n      do {\n        sVar17 = sVar17 + 1;\n        *(undefined4 *)(puVar25 + -0xc) = uVar18;\n        *(undefined4 *)(puVar25 + -0x10) = 0x20;\n        *(undefined4 *)(puVar25 + -0x14) = 0x3461c;\n        putc(*(int *)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n      } while (sVar17 != 8);\n      pbVar30 = *(bfd **)(puVar25 + 8);\n      fmt = *(char **)(puVar25 + 0x18);\n    }\n    pcVar27 = "0x%s";\n    *(bfd **)(puVar25 + -8) = pbVar28;\n    break;\n  case 0x58:\n    config.make_executable = 0;\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  case 100:\n    puVar15 = &DAT_0006c013;\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n    goto LAB_000344af;\n  case 0x6c:\n    cVar2 = *(char *)((int)&pbVar30->filename + 1);\n    if (cVar2 == 'd') {\n      puVar15 = &DAT_0007d7c3;\n      *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\nLAB_000342cd:\n      *(undefined **)(puVar25 + -0xc) = puVar15;\n      *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n      *(undefined4 *)(puVar25 + -0x14) = 0x342dd;\n      fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n      *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n      bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n      fmt = (char *)((int)&pbVar30->filename + 2);\n      goto joined_r0x000340a6;\n    }\n    if (cVar2 == 'u') {\n      puVar15 = &DAT_0007d7c7;\n      *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n      goto LAB_000342cd;\n    }\n  default:\n_L48:\n    pcVar27 = "%%%c";\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + 8);\n    break;\n  case 0x70:\n    cVar2 = *(char *)((int)&pbVar30->filename + 1);\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    if (cVar2 == 'A') {\n      pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n      puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n      pbVar28 = (bfd *)puVar7[0x2b];\n      *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n      *(undefined4 *)(puVar25 + -0x10) = *puVar7;\n      *(undefined4 **)(puVar25 + 8) = puVar7;\n      *(undefined4 *)(puVar25 + -0x14) = 0x34a7f;\n      fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n      iVar23 = *(int *)(puVar25 + 8);\n      if (pbVar28 != (bfd *)0x0) {\n        bVar9 = pbVar28->xvec->flavour;\n        if (bVar9 == bfd_target_elf_flavour) {\n          pbVar28 = *(bfd **)(*(int *)(iVar23 + 0xa4) + 0x8c);\n          if ((pbVar28 == (bfd *)0x0) || ((*(byte *)(iVar23 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar23 = *(int *)(*(int *)(iVar23 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((bVar9 != bfd_target_coff_flavour) ||\n               (*(int *)(*(int *)(*(int *)(iVar23 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar23 + 0xa4) == 0)) ||\n             (piVar10 = *(int **)(*(int *)(iVar23 + 0xa4) + 0x2c), piVar10 == (int *)0x0))\n          goto LAB_000349da;\n          iVar23 = *piVar10;\n        }\n        if (iVar23 != 0) {\n          puVar26 = puVar25 + -8;\n          *(int *)(puVar25 + -8) = iVar23;\n          pcVar27 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }\n    }\n    else {\n      if (cVar2 == 'B') {\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        if (puVar7 == (undefined4 *)0x0) {\n          puVar26 = puVar25 + -8;\n          *(char **)(puVar25 + -8) = program_name;\n          pcVar27 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar7[0x23];\n          pcVar27 = (char *)*puVar7;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\nLAB_00034957:\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n            *(char **)(puVar25 + -0x10) = pcVar27;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34967;\n            fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n            fmt = (char *)((int)&pbVar30->filename + 2);\n            bVar12 = *(byte *)&((bfd *)fmt)->filename;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar25 + -4) = pcVar27;\n          puVar26 = puVar25 + -8;\n          *(undefined4 *)(puVar25 + -8) = *puVar8;\n          pcVar27 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar26 + -4) = pcVar27;\n        *(undefined4 *)(puVar26 + -8) = *(undefined4 *)(puVar26 + 0x158);\n        *(undefined4 *)(puVar26 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar26 + -8),*(char **)(puVar26 + -4));\n        bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n        puVar25 = puVar26 + 8;\n        fmt = (char *)pbVar29;\n        goto joined_r0x000340a6;\n      }\n      if (cVar2 == 'I') {\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        pbVar28 = *(bfd **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        pbVar19 = pbVar28->lru_prev->my_archive;\n        if ((pbVar19 != (bfd *)0x0) && ((pbVar19->field_0x2c & 1) == 0)) {\nLAB_00034be8:\n          *(char **)(puVar25 + -8) = pbVar19->filename;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n        *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n        *(bfd_iovec **)(puVar25 + -0x10) = pbVar28->iovec;\n        *(undefined4 *)(puVar25 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n        pbVar19 = pbVar28->lru_prev->my_archive;\n        if ((pbVar19 == (bfd *)0x0) || ((pbVar19->field_0x2c & 1) != 0)) {\n          *(void **)(puVar25 + -0xc) = pbVar28->iostream;\n          *(bfd_iovec **)(puVar25 + -0x10) = pbVar28->iovec;\n          *(undefined4 *)(puVar25 + -0x14) = 0x349cf;\n          iVar23 = filename_cmp();\n          if (iVar23 != 0) {\n            pcVar27 = " (%s)";\n            puVar26 = puVar25 + -8;\n            *(void **)(puVar25 + -8) = pbVar28->iostream;\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (cVar2 == 'R') {\n          puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar7[5] + 0x20);\n          *(undefined4 *)(puVar25 + -0x10) = puVar7[4];\n          *(undefined4 *)(puVar25 + -0x14) = puVar7[3];\n          *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(*(int *)*puVar7 + 4);\n          *(char **)(puVar25 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x348d6;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n          bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n          fmt = (char *)((int)&pbVar30->filename + 2);\n          goto joined_r0x000340a6;\n        }\n        if (cVar2 != 'S') {\n          if (cVar2 != 'T') {\n            pcVar27 = "%p";\n            *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n          pcVar27 = *(char **)(puVar25 + iVar23 * 0x10 + 0xa0);\n          if ((pcVar27 != (char *)0x0) && (*pcVar27 != '\0')) {\n            pbVar28 = (bfd *)**(undefined4 **)(puVar25 + 0x14);\n            if (pbVar28 != (bfd *)0x0) {\n              *(undefined4 *)(puVar25 + -8) = 3;\n              *(char **)(puVar25 + -0xc) = pcVar27;\n              *(char **)(puVar25 + 8) = pcVar27;\n              *(bfd **)(puVar25 + -0x10) = link_info.output_bfd;\n              *(undefined4 *)(puVar25 + -0x14) = 0x3454c;\n              pbVar28 = (bfd *)bfd_demangle();\n              pcVar27 = *(char **)(puVar25 + 8);\n              if (pbVar28 != (bfd *)0x0) {\n                *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x3456d;\n                fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x34575;\n                free(*(void **)(puVar25 + -0x10));\n                bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n                fmt = (char *)pbVar29;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto LAB_00034957;\n          }\n          *(undefined4 *)(puVar25 + -8) = 5;\n          *(char **)(puVar25 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar25 + -0x10) = 0;\n          *(undefined4 *)(puVar25 + -0x14) = 0x34b14;\n          pcVar27 = (char *)dcgettext();\n          puVar26 = puVar25 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        puVar24 = *(undefined1 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        if (puVar24 == (undefined1 *)0x0) {\n          *(undefined4 *)(puVar25 + -4) = 0x34c1e;\n          pcVar27 = ldlex_filename();\n          *(char **)(puVar25 + 0x44) = pcVar27;\n          *(uint *)(puVar25 + 0x40) = lineno;\n          puVar24 = puVar25 + 0x3c;\n        }\n        else {\n          pcVar27 = *(char **)(puVar24 + 8);\n        }\n        if (pcVar27 != (char *)0x0) {\n          *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar24 + 4);\n          *(char **)(puVar25 + -8) = pcVar27;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d7b0;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34b67;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n      }\n    }\nLAB_000349da:\n    bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n    fmt = (char *)pbVar29;\n    goto joined_r0x000340a6;\n  case 0x73:\n    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n    *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n    *(undefined4 *)(puVar25 + -0x14) = 0x34489;\n    fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  case 0x75:\n    puVar15 = &DAT_0007d7b3;\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\nLAB_000344af:\n    *(undefined **)(puVar25 + -0xc) = puVar15;\n    *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n    *(undefined4 *)(puVar25 + -0x14) = 0x344bc;\n    fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  case 0x76:\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n    *(char **)(puVar25 + -0xc) = "%016llx";\n    pcVar27 = puVar25 + 0x3c;\n    *(char **)(puVar25 + -0x10) = pcVar27;\n    *(undefined4 *)(puVar25 + -0x14) = 0x3426c;\n    sprintf(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n    cVar2 = puVar25[0x3c];\n    while (cVar2 == '0') {\n      pcVar27 = pcVar27 + 1;\n      cVar2 = *pcVar27;\n    }\n    pbVar28 = (bfd *)(pcVar27 + -(uint)(cVar2 == '\0'));\n    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n    *(bfd **)(puVar25 + -0x10) = pbVar28;\n    *(undefined4 *)(puVar25 + -0x14) = 0x34298;\n    fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  }\n  *(char **)(puVar25 + -0xc) = pcVar27;\n  *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n  *(undefined4 *)(puVar25 + -0x14) = 0x34237;\n  fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n  bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n  goto joined_r0x000340a6;\n}" primitive_type (function_declarator "vfinfo(FILE *fp,char *fmt,va_list ap,bfd_boolean is_warning)" identifier (parameter_list "(FILE *fp,char *fmt,va_list ap,bfd_boolean is_warning)" ( (parameter_declaration "FILE *fp" type_identifier (pointer_declarator "*fp" * identifier)) , (parameter_declaration "char *fmt" primitive_type (pointer_declarator "*fmt" * identifier)) , (parameter_declaration "va_list ap" type_identifier identifier) , (parameter_declaration "bfd_boolean is_warning" type_identifier identifier) ))) (compound_statement "{\n  byte bVar1;\n  char cVar2;\n  void *pvVar3;\n  bfd_iovec *pbVar4;\n  bfd_target *pbVar5;\n  _func_bfd_boolean_bfd_ptr_bfd_symbol_ptr_ptr_bfd_section_ptr_bfd_vma_char_ptr_ptr_char_ptr_ptr_uint_ptr_uint_ptr\n  *p_Var6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  bfd_flavour bVar9;\n  int *piVar10;\n  byte *pbVar11;\n  byte bVar12;\n  vfinfo_args *pvVar13;\n  uint uVar14;\n  undefined *puVar15;\n  bfd_boolean bVar16;\n  size_t sVar17;\n  undefined4 uVar18;\n  bfd *pbVar19;\n  int iVar20;\n  vfinfo_args *pvVar21;\n  byte *pbVar22;\n  int iVar23;\n  undefined1 *puVar24;\n  undefined1 *puVar25;\n  undefined1 *puVar26;\n  char *pcVar27;\n  bfd *pbVar28;\n  bfd *pbVar29;\n  bfd *pbVar30;\n  undefined8 uVar31;\n  undefined1 auStack_14c [4];\n  vfinfo_args *local_148;\n  byte *local_144;\n  undefined *local_140;\n  undefined4 local_13c;\n  bfd_boolean *local_138;\n  int local_134;\n  char *filename;\n  char *functionname;\n  char buf [100];\n  vfinfo_args args [9];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x33f29;\n  puVar25 = auStack_14c;\n  pvVar21 = args;\n  pvVar13 = pvVar21;\n  do {\n    pvVar13->i = 0;\n    pvVar13 = pvVar13 + 1;\n  } while ((vfinfo_args *)&stack0xffffffe4 != pvVar13);\n  bVar12 = *fmt;\n  local_148 = (vfinfo_args *)0x0;\n  local_13c = CONCAT31(local_13c._1_3_,bVar12);\n  local_138 = (bfd_boolean *)PTR__sch_istable_001cefa0;\n  uVar14 = (uint)bVar12;\n  pbVar22 = (byte *)fmt;\nLAB_00033f90:\n  if ((char)uVar14 != '\0') {\n    if ((char)uVar14 != '%') goto LAB_00033fb0;\n    goto LAB_00033fd0;\n  }\n  uVar14 = 0;\n  pbVar28 = (bfd *)ap;\n  if (local_148 != (vfinfo_args *)0x0) {\n    do {\n      switch(pvVar21->i) {\n      default:\n                    /* WARNING: Subroutine does not return */\n        ld_abort("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar28 = (bfd *)&((bfd *)ap)->xvec;\n        pvVar21->i = (int)((bfd *)ap)->filename;\n        break;\n      case 4:\n        pbVar5 = ((bfd *)ap)->xvec;\n        pbVar28 = (bfd *)&((bfd *)ap)->iostream;\n        pvVar21->i = (int)((bfd *)ap)->filename;\n        (pvVar21->reladdr).sec = (asection *)pbVar5;\n        break;\n      case 5:\n        pvVar3 = ((bfd *)ap)->iostream;\n        pbVar28 = (bfd *)&((bfd *)ap)->lru_prev;\n        pbVar4 = ((bfd *)ap)->iovec;\n        pvVar21->i = (int)((bfd *)ap)->filename;\n        pbVar5 = ((bfd *)ap)->xvec;\n        *(void **)&(pvVar21->reladdr).off = pvVar3;\n        (pvVar21->reladdr).sec = (asection *)pbVar5;\n        *(bfd_iovec **)((int)&(pvVar21->reladdr).off + 4) = pbVar4;\n      }\n      uVar14 = uVar14 + 1;\n      pvVar21 = pvVar21 + 1;\n      ap = (va_list)pbVar28;\n    } while (local_148 != (vfinfo_args *)uVar14);\n  }\n  local_148 = (vfinfo_args *)0x0;\n  local_13c = 0;\n  local_140 = PTR__sch_istable_001cefa0;\n  local_138 = &demangling;\njoined_r0x000340a6:\n  if (bVar12 != 0) {\n    pbVar29 = (bfd *)fmt;\n    pbVar28 = (bfd *)fmt;\n    if (bVar12 != 0x25) goto LAB_000340c2;\n    goto LAB_00034170;\n  }\n  pbVar29 = *(bfd **)(puVar25 + 0x15c);\n  if ((pbVar29 != (bfd *)0x0) && (config.fatal_warnings != 0)) {\n    config.make_executable = 0;\n  }\n  if (*(int *)(puVar25 + 0x10) == 0) {\n    return;\n  }\n  *(undefined4 *)(puVar25 + -0x10) = 1;\n  *(undefined4 *)(puVar25 + -0x14) = 0x34be1;\n  pbVar19 = (bfd *)xexit();\n  puVar25 = puVar25 + -0x10;\n  pbVar30 = (bfd *)fmt;\n  goto LAB_00034be8;\nLAB_00033fb0:\n  do {\n    pbVar22 = pbVar22 + 1;\n    bVar1 = *pbVar22;\n    uVar14 = (uint)bVar1;\n    if (bVar1 == 0x25) break;\n  } while (bVar1 != 0);\n  if (bVar1 != 0x25) goto LAB_00033f90;\nLAB_00033fd0:\n  local_144 = pbVar22 + 1;\n  bVar1 = pbVar22[1];\n  uVar14 = (uint)bVar1;\n  if (bVar1 == 0x30) {\n    pbVar22 = pbVar22 + 2;\n_L18:\n    uVar14 = (uint)local_144[1];\n    goto LAB_00033f90;\n  }\n  local_134 = (int)(char)bVar1;\n  local_140 = (undefined *)local_148;\n  if (((PTR__sch_istable_001cefa0[uVar14 * 2] & 4) != 0) && (pbVar22[2] == 0x24)) {\n    local_140 = (undefined *)((int)(char)bVar1 - 0x31);\n    local_144 = pbVar22 + 3;\n    uVar14 = (uint)pbVar22[3];\n  }\n  pbVar11 = local_144;\n  pbVar22 = local_144 + 1;\n  switch(uVar14) {\n  case 0:\n    pbVar22 = local_144;\n    goto LAB_00033f90;\n  default:\n    goto _L18;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    local_144 = (byte *)0x5;\n    break;\n  case 0x56:\n  case 0x57:\n  case 0x76:\n    local_144 = (byte *)0x4;\n    break;\n  case 100:\n  case 0x75:\n    local_144 = (byte *)0x1;\n    break;\n  case 0x6c:\n    bVar1 = local_144[1];\n    uVar14 = (uint)bVar1;\n    if ((bVar1 != 100) && (bVar1 != 0x75)) goto LAB_00033f90;\n    local_144 = (byte *)0x2;\n    pbVar22 = pbVar11 + 2;\n    break;\n  case 0x70:\n    local_144 = (byte *)0x3;\n    if (((byte)(pbVar11[1] - 0x41) < 0x14) && ((0xe0103U >> (pbVar11[1] - 0x41 & 0x1f) & 1) != 0)) {\n      pbVar22 = pbVar11 + 2;\n    }\n    break;\n  case 0x73:\n    local_144 = (byte *)0x3;\n  }\n  if (8 < local_140) {\n    local_148 = pvVar21;\n                    /* WARNING: Subroutine does not return */\n    ld_abort("../../ld/ldmisc.c",0xa9,"vfinfo");\n  }\n  local_148 = (vfinfo_args *)((int)&local_148->reladdr + 1);\n  args[(int)local_140].i = (int)local_144;\n  uVar14 = (uint)*pbVar22;\n  goto LAB_00033f90;\nLAB_000340c2:\n  do {\n    pbVar28 = pbVar29;\n    bVar12 = *(byte *)((int)&pbVar28->filename + 1);\n    pbVar29 = (bfd *)((int)&pbVar28->filename + 1);\n    if (bVar12 == 0x25) break;\n  } while (bVar12 != 0);\n  if ((bfd *)fmt != pbVar29) {\n    *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + 0x150);\n    *(int *)(puVar25 + -8) = (int)pbVar29 - (int)fmt;\n    *(undefined4 *)(puVar25 + -0xc) = 1;\n    *(char **)(puVar25 + -0x10) = fmt;\n    *(undefined4 *)(puVar25 + -0x14) = 0x340e9;\n    fwrite(*(void **)(puVar25 + -0x10),*(size_t *)(puVar25 + -0xc),*(size_t *)(puVar25 + -8),\n           *(FILE **)(puVar25 + -4));\n    bVar12 = *(byte *)((int)&pbVar28->filename + 1);\n  }\n  fmt = (char *)pbVar29;\n  if (bVar12 != 0x25) goto joined_r0x000340a6;\nLAB_00034170:\n  bVar12 = *(byte *)((int)&((bfd *)fmt)->filename + 1);\n  pbVar30 = (bfd *)((int)&((bfd *)fmt)->filename + 1);\n  *(int *)(puVar25 + 8) = (int)(char)bVar12;\n  if (bVar12 == 0x30) {\n    *(undefined4 *)(puVar25 + 8) = 0x30;\n    fmt = (char *)((int)&((bfd *)fmt)->filename + 2);\n    goto _L48;\n  }\n  pbVar28 = *(bfd **)(puVar25 + 0xc);\n  iVar23 = *(int *)(puVar25 + 4);\n  if (((*(byte *)((int)&pbVar28->filename + (uint)bVar12 * 2) & 4) != 0) &&\n     (*(char *)((int)&((bfd *)fmt)->filename + 2) == '$')) {\n    bVar12 = *(byte *)((int)&((bfd *)fmt)->filename + 3);\n    iVar23 = *(int *)(puVar25 + 8);\n    pbVar30 = (bfd *)((int)&((bfd *)fmt)->filename + 3);\n    *(int *)(puVar25 + 8) = (int)(char)bVar12;\n    iVar23 = iVar23 + -0x31;\n  }\n  fmt = (char *)((int)&pbVar30->filename + 1);\n  switch(bVar12) {\n  case 0:\n    fmt = (char *)pbVar30;\n  case 0x25:\n    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n    *(undefined4 *)(puVar25 + -0x10) = 0x25;\n    *(undefined4 *)(puVar25 + -0x14) = 0x34207;\n    putc(*(int *)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n    bVar12 = *(byte *)&((bfd *)fmt)->filename;\n    goto joined_r0x000340a6;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    iVar23 = iVar23 * 0x10;\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    pbVar28 = *(bfd **)(puVar25 + iVar23 + 0xa0);\n    *(undefined4 *)(puVar25 + 0x1c) = *(undefined4 *)(puVar25 + iVar23 + 0xa4);\n    uVar18 = *(undefined4 *)(puVar25 + iVar23 + 0xac);\n    *(undefined4 *)(puVar25 + 0x20) = *(undefined4 *)(puVar25 + iVar23 + 0xa8);\n    *(undefined4 *)(puVar25 + 0x24) = uVar18;\n    if (pbVar28 == (bfd *)0x0) {\nLAB_00034747:\n      *(bfd **)(puVar25 + -8) = pbVar28;\n      *(undefined **)(puVar25 + -0xc) = &DAT_0007d36d;\n      *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n      *(undefined4 *)(puVar25 + -0x14) = 0x3475e;\n      lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n      *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x24);\n      *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 0x20);\n      *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(puVar25 + 0x1c);\n      *(char **)(puVar25 + -0x1c) = "(%pA+0x%v)";\n      *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n      *(undefined4 *)(puVar25 + -0x24) = 0x3477e;\n      lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n    }\n    else {\n      *(bfd **)(puVar25 + -0x10) = pbVar28;\n      *(undefined4 *)(puVar25 + -0x14) = 0x34331;\n      iVar23 = bfd_generic_link_read_symbols();\n      if (iVar23 == 0) {\n        *(undefined4 *)(puVar25 + -8) = 5;\n        *(char **)(puVar25 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar25 + -0x10) = 0;\n        *(undefined4 *)(puVar25 + -0x14) = 0x349f8;\n        uVar18 = dcgettext();\n        *(bfd **)(puVar25 + -0xc) = pbVar28;\n        *(undefined4 *)(puVar25 + -0x10) = uVar18;\n        *(undefined4 *)(puVar25 + -0x14) = 0x34a01;\n        einfo(*(char **)(puVar25 + -0x10));\n      }\n      pbVar5 = pbVar28->xvec;\n      *(undefined4 *)(puVar25 + -0x10) = 0;\n      *(undefined1 **)(puVar25 + -0x14) = puVar25 + 0x3c;\n      *(undefined1 **)(puVar25 + -0x18) = puVar25 + 0x38;\n      *(undefined1 **)(puVar25 + -0x1c) = puVar25 + 0x34;\n      *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x24);\n      *(undefined4 *)(puVar25 + -0x24) = *(undefined4 *)(puVar25 + 0x20);\n      *(undefined4 *)(puVar25 + -0x28) = *(undefined4 *)(puVar25 + 0x1c);\n      *(bfd_symbol ***)(puVar25 + -0x2c) = pbVar28->outsymbols;\n      *(bfd **)(puVar25 + -0x30) = pbVar28;\n      p_Var6 = pbVar5->_bfd_find_nearest_line;\n      *(undefined4 *)(puVar25 + -0x34) = 0x34369;\n      bVar16 = (*p_Var6)(*(bfd **)(puVar25 + -0x30),*(bfd_symbol ***)(puVar25 + -0x2c),\n                         *(bfd_section **)(puVar25 + -0x28),*(bfd_vma *)(puVar25 + -0x24),\n                         *(char ***)(puVar25 + -0x1c),*(char ***)(puVar25 + -0x18),\n                         *(uint **)(puVar25 + -0x14),*(uint **)(puVar25 + -0x10));\n      if (bVar16 == 0) goto LAB_00034747;\n      iVar23 = *(int *)(puVar25 + 0x38);\n      *(int *)(puVar25 + 8) = iVar23;\n      if ((iVar23 == 0) ||\n         ((*(char *)&pbVar30->filename != 'C' && (*(char *)&pbVar30->filename != 'H')))) {\n        *(bfd **)(puVar25 + -8) = pbVar28;\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d36d;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x343aa;\n        lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        *(undefined4 *)(puVar25 + 0x18) = 1;\nLAB_000343b5:\n        if (*(int *)(puVar25 + 0x34) == 0) {\n          iVar23 = *(int *)(puVar25 + 0x38);\n          goto LAB_00034a0d;\n        }\n        *(int *)(puVar25 + -8) = *(int *)(puVar25 + 0x34);\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d779;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x343d8;\n        fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        iVar23 = *(int *)(puVar25 + 0x38);\n        if ((iVar23 != 0) && (*(char *)&pbVar30->filename == 'G')) goto LAB_00034a20;\n        if ((*(int *)(puVar25 + 0x34) == 0) || (iVar23 = *(int *)(puVar25 + 0x3c), iVar23 == 0))\n        goto LAB_00034902;\n        if (*(char *)&pbVar30->filename == 'H') {\n          *(undefined **)(puVar25 + -4) = &DAT_0007b12f;\n          *(int *)(puVar25 + -8) = iVar23;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d7d0;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x348ff;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n          goto LAB_00034902;\n        }\n        *(char **)(puVar25 + -4) = "";\n        *(int *)(puVar25 + -8) = iVar23;\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d7d0;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x3442b;\n        fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n      }\n      else {\n        if (((vfinfo::lexical_block_14::lexical_block_14_4::last_bfd == (bfd *)0x0) ||\n            (vfinfo::lexical_block_14::lexical_block_14_4::last_function == (char *)0x0)) ||\n           (vfinfo::lexical_block_14::lexical_block_14_4::last_bfd != pbVar28)) {\nLAB_00034800:\n          *(undefined4 *)(puVar25 + -8) = 5;\n          *(char **)(puVar25 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar25 + -0x10) = 0;\n          *(undefined4 *)(puVar25 + -0x14) = 0x34813;\n          uVar18 = dcgettext();\n          *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 8);\n          *(bfd **)(puVar25 + -0x18) = pbVar28;\n          *(undefined4 *)(puVar25 + -0x1c) = uVar18;\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x34825;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n          vfinfo::lexical_block_14::lexical_block_14_4::last_bfd = pbVar28;\n          if (vfinfo::lexical_block_14::lexical_block_14_4::last_file != (char *)0x0) {\n            *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34841;\n            free(*(void **)(puVar25 + -0x10));\n          }\n          vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)0x0;\n          if (*(int *)(puVar25 + 0x34) != 0) {\n            *(int *)(puVar25 + -0x10) = *(int *)(puVar25 + 0x34);\n            *(undefined4 *)(puVar25 + -0x14) = 0x3485f;\n            vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)xstrdup();\n          }\n          if (vfinfo::lexical_block_14::lexical_block_14_4::last_function != (char *)0x0) {\n            *(char **)(puVar25 + -0x10) =\n                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n            *(undefined4 *)(puVar25 + -0x14) = 0x3487b;\n            free(*(void **)(puVar25 + -0x10));\n          }\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x38);\n          *(undefined4 *)(puVar25 + -0x14) = 0x3488a;\n          vfinfo::lexical_block_14::lexical_block_14_4::last_function = (char *)xstrdup();\n          *(undefined4 *)(puVar25 + 0x18) = 0;\n          goto LAB_000343b5;\n        }\n        iVar20 = *(int *)(puVar25 + 0x34);\n        *(char **)(puVar25 + 0x18) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n        puVar25[0x28] = vfinfo::lexical_block_14::lexical_block_14_4::last_file == (char *)0x0;\n        puVar25[0x2f] = iVar20 == 0;\n        if (puVar25[0x28] != puVar25[0x2f]) goto LAB_00034800;\n        if (iVar20 != 0) {\n          *(int *)(puVar25 + -4) = iVar23;\n          *(int *)(puVar25 + -8) = iVar23;\n          *(int *)(puVar25 + -0xc) = iVar20;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x18);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34c8b;\n          uVar31 = filename_cmp();\n          uVar18 = (undefined4)((ulonglong)uVar31 >> 0x20);\n          *(undefined4 *)(puVar25 + 8) = *(undefined4 *)(puVar25 + 0x38);\n          if ((int)uVar31 == 0) {\n            *(undefined4 *)(puVar25 + -4) = uVar18;\n            *(undefined4 *)(puVar25 + -8) = uVar18;\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x38);\n            *(char **)(puVar25 + -0x10) =\n                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34cac;\n            iVar23 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n            *(int *)(puVar25 + 0x18) = iVar23;\n            if (iVar23 == 0) goto LAB_000343b5;\n          }\n          goto LAB_00034800;\n        }\n        *(int *)(puVar25 + 8) = iVar23;\n        *(undefined4 *)(puVar25 + -4) = 0;\n        *(undefined4 *)(puVar25 + -8) = 0;\n        *(int *)(puVar25 + -0xc) = iVar23;\n        *(int *)(puVar25 + 0x28) = iVar23;\n        *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n        *(undefined4 *)(puVar25 + -0x14) = 0x34cd6;\n        iVar20 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        iVar23 = *(int *)(puVar25 + 0x28);\n        *(int *)(puVar25 + 0x18) = iVar20;\n        if (iVar20 != 0) goto LAB_00034800;\nLAB_00034a0d:\n        if ((*(char *)&pbVar30->filename == 'G') && (iVar23 != 0)) {\nLAB_00034a20:\n          *(int *)(puVar25 + -8) = iVar23;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d77d;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34a37;\n          lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n        else {\nLAB_00034902:\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x24);\n          *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 0x20);\n          *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(puVar25 + 0x1c);\n          *(char **)(puVar25 + -0x1c) = "(%pA+0x%v)";\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x34924;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n        }\n      }\n      if (*(int *)(puVar25 + 0x18) == 0) goto LAB_0003443a;\n    }\n    vfinfo::lexical_block_14::lexical_block_14_4::last_bfd = (bfd *)0x0;\n    if (vfinfo::lexical_block_14::lexical_block_14_4::last_file != (char *)0x0) {\n      *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n      *(undefined4 *)(puVar25 + -0x14) = 0x3479e;\n      free(*(void **)(puVar25 + -0x10));\n      vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)0x0;\n    }\n    if (vfinfo::lexical_block_14::lexical_block_14_4::last_function != (char *)0x0) {\n      *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n      *(undefined4 *)(puVar25 + -0x14) = 0x347c2;\n      free(*(void **)(puVar25 + -0x10));\n      vfinfo::lexical_block_14::lexical_block_14_4::last_function = (char *)0x0;\n    }\nLAB_0003443a:\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  case 0x45:\n    *(undefined4 *)(puVar25 + -4) = 0x3444a;\n    uVar18 = bfd_get_error();\n    *(undefined4 *)(puVar25 + -0x10) = uVar18;\n    *(undefined4 *)(puVar25 + -0x14) = 0x34453;\n    uVar18 = bfd_errmsg();\n    pbVar28 = *(bfd **)(puVar25 + -0xc);\n    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n    *(undefined4 *)(puVar25 + -0x10) = uVar18;\n    *(undefined4 *)(puVar25 + -0x14) = 0x34462;\n    fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  case 0x46:\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    *(undefined4 *)(puVar25 + 0x10) = 1;\n    goto joined_r0x000340a6;\n  case 0x50:\n    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n    *(char **)(puVar25 + -0x10) = program_name;\n    *(undefined4 *)(puVar25 + -0x14) = 0x34695;\n    fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  case 0x56:\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    pcVar27 = "%016llx";\n    *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n    break;\n  case 0x57:\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n    *(char **)(puVar25 + -0xc) = "%016llx";\n    pcVar27 = puVar25 + 0x3c;\n    *(char **)(puVar25 + -0x10) = pcVar27;\n    *(undefined4 *)(puVar25 + -0x14) = 0x345d0;\n    sprintf(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n    cVar2 = puVar25[0x3c];\n    while (cVar2 == '0') {\n      pcVar27 = pcVar27 + 1;\n      cVar2 = *pcVar27;\n    }\n    pbVar28 = (bfd *)(pcVar27 + -(uint)(cVar2 == '\0'));\n    *(bfd **)(puVar25 + -0x10) = pbVar28;\n    *(undefined4 *)(puVar25 + -0x14) = 0x345f5;\n    sVar17 = strlen(*(char **)(puVar25 + -0x10));\n    if (sVar17 < 8) {\n      *(bfd **)(puVar25 + 8) = pbVar30;\n      uVar18 = *(undefined4 *)(puVar25 + 0x150);\n      *(char **)(puVar25 + 0x18) = fmt;\n      do {\n        sVar17 = sVar17 + 1;\n        *(undefined4 *)(puVar25 + -0xc) = uVar18;\n        *(undefined4 *)(puVar25 + -0x10) = 0x20;\n        *(undefined4 *)(puVar25 + -0x14) = 0x3461c;\n        putc(*(int *)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n      } while (sVar17 != 8);\n      pbVar30 = *(bfd **)(puVar25 + 8);\n      fmt = *(char **)(puVar25 + 0x18);\n    }\n    pcVar27 = "0x%s";\n    *(bfd **)(puVar25 + -8) = pbVar28;\n    break;\n  case 0x58:\n    config.make_executable = 0;\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  case 100:\n    puVar15 = &DAT_0006c013;\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n    goto LAB_000344af;\n  case 0x6c:\n    cVar2 = *(char *)((int)&pbVar30->filename + 1);\n    if (cVar2 == 'd') {\n      puVar15 = &DAT_0007d7c3;\n      *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\nLAB_000342cd:\n      *(undefined **)(puVar25 + -0xc) = puVar15;\n      *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n      *(undefined4 *)(puVar25 + -0x14) = 0x342dd;\n      fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n      *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n      bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n      fmt = (char *)((int)&pbVar30->filename + 2);\n      goto joined_r0x000340a6;\n    }\n    if (cVar2 == 'u') {\n      puVar15 = &DAT_0007d7c7;\n      *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n      goto LAB_000342cd;\n    }\n  default:\n_L48:\n    pcVar27 = "%%%c";\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + 8);\n    break;\n  case 0x70:\n    cVar2 = *(char *)((int)&pbVar30->filename + 1);\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    if (cVar2 == 'A') {\n      pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n      puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n      pbVar28 = (bfd *)puVar7[0x2b];\n      *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n      *(undefined4 *)(puVar25 + -0x10) = *puVar7;\n      *(undefined4 **)(puVar25 + 8) = puVar7;\n      *(undefined4 *)(puVar25 + -0x14) = 0x34a7f;\n      fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n      iVar23 = *(int *)(puVar25 + 8);\n      if (pbVar28 != (bfd *)0x0) {\n        bVar9 = pbVar28->xvec->flavour;\n        if (bVar9 == bfd_target_elf_flavour) {\n          pbVar28 = *(bfd **)(*(int *)(iVar23 + 0xa4) + 0x8c);\n          if ((pbVar28 == (bfd *)0x0) || ((*(byte *)(iVar23 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar23 = *(int *)(*(int *)(iVar23 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((bVar9 != bfd_target_coff_flavour) ||\n               (*(int *)(*(int *)(*(int *)(iVar23 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar23 + 0xa4) == 0)) ||\n             (piVar10 = *(int **)(*(int *)(iVar23 + 0xa4) + 0x2c), piVar10 == (int *)0x0))\n          goto LAB_000349da;\n          iVar23 = *piVar10;\n        }\n        if (iVar23 != 0) {\n          puVar26 = puVar25 + -8;\n          *(int *)(puVar25 + -8) = iVar23;\n          pcVar27 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }\n    }\n    else {\n      if (cVar2 == 'B') {\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        if (puVar7 == (undefined4 *)0x0) {\n          puVar26 = puVar25 + -8;\n          *(char **)(puVar25 + -8) = program_name;\n          pcVar27 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar7[0x23];\n          pcVar27 = (char *)*puVar7;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\nLAB_00034957:\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n            *(char **)(puVar25 + -0x10) = pcVar27;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34967;\n            fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n            fmt = (char *)((int)&pbVar30->filename + 2);\n            bVar12 = *(byte *)&((bfd *)fmt)->filename;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar25 + -4) = pcVar27;\n          puVar26 = puVar25 + -8;\n          *(undefined4 *)(puVar25 + -8) = *puVar8;\n          pcVar27 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar26 + -4) = pcVar27;\n        *(undefined4 *)(puVar26 + -8) = *(undefined4 *)(puVar26 + 0x158);\n        *(undefined4 *)(puVar26 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar26 + -8),*(char **)(puVar26 + -4));\n        bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n        puVar25 = puVar26 + 8;\n        fmt = (char *)pbVar29;\n        goto joined_r0x000340a6;\n      }\n      if (cVar2 == 'I') {\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        pbVar28 = *(bfd **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        pbVar19 = pbVar28->lru_prev->my_archive;\n        if ((pbVar19 != (bfd *)0x0) && ((pbVar19->field_0x2c & 1) == 0)) {\nLAB_00034be8:\n          *(char **)(puVar25 + -8) = pbVar19->filename;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n        *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n        *(bfd_iovec **)(puVar25 + -0x10) = pbVar28->iovec;\n        *(undefined4 *)(puVar25 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n        pbVar19 = pbVar28->lru_prev->my_archive;\n        if ((pbVar19 == (bfd *)0x0) || ((pbVar19->field_0x2c & 1) != 0)) {\n          *(void **)(puVar25 + -0xc) = pbVar28->iostream;\n          *(bfd_iovec **)(puVar25 + -0x10) = pbVar28->iovec;\n          *(undefined4 *)(puVar25 + -0x14) = 0x349cf;\n          iVar23 = filename_cmp();\n          if (iVar23 != 0) {\n            pcVar27 = " (%s)";\n            puVar26 = puVar25 + -8;\n            *(void **)(puVar25 + -8) = pbVar28->iostream;\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (cVar2 == 'R') {\n          puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar7[5] + 0x20);\n          *(undefined4 *)(puVar25 + -0x10) = puVar7[4];\n          *(undefined4 *)(puVar25 + -0x14) = puVar7[3];\n          *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(*(int *)*puVar7 + 4);\n          *(char **)(puVar25 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x348d6;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n          bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n          fmt = (char *)((int)&pbVar30->filename + 2);\n          goto joined_r0x000340a6;\n        }\n        if (cVar2 != 'S') {\n          if (cVar2 != 'T') {\n            pcVar27 = "%p";\n            *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n          pcVar27 = *(char **)(puVar25 + iVar23 * 0x10 + 0xa0);\n          if ((pcVar27 != (char *)0x0) && (*pcVar27 != '\0')) {\n            pbVar28 = (bfd *)**(undefined4 **)(puVar25 + 0x14);\n            if (pbVar28 != (bfd *)0x0) {\n              *(undefined4 *)(puVar25 + -8) = 3;\n              *(char **)(puVar25 + -0xc) = pcVar27;\n              *(char **)(puVar25 + 8) = pcVar27;\n              *(bfd **)(puVar25 + -0x10) = link_info.output_bfd;\n              *(undefined4 *)(puVar25 + -0x14) = 0x3454c;\n              pbVar28 = (bfd *)bfd_demangle();\n              pcVar27 = *(char **)(puVar25 + 8);\n              if (pbVar28 != (bfd *)0x0) {\n                *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x3456d;\n                fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x34575;\n                free(*(void **)(puVar25 + -0x10));\n                bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n                fmt = (char *)pbVar29;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto LAB_00034957;\n          }\n          *(undefined4 *)(puVar25 + -8) = 5;\n          *(char **)(puVar25 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar25 + -0x10) = 0;\n          *(undefined4 *)(puVar25 + -0x14) = 0x34b14;\n          pcVar27 = (char *)dcgettext();\n          puVar26 = puVar25 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        puVar24 = *(undefined1 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        if (puVar24 == (undefined1 *)0x0) {\n          *(undefined4 *)(puVar25 + -4) = 0x34c1e;\n          pcVar27 = ldlex_filename();\n          *(char **)(puVar25 + 0x44) = pcVar27;\n          *(uint *)(puVar25 + 0x40) = lineno;\n          puVar24 = puVar25 + 0x3c;\n        }\n        else {\n          pcVar27 = *(char **)(puVar24 + 8);\n        }\n        if (pcVar27 != (char *)0x0) {\n          *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar24 + 4);\n          *(char **)(puVar25 + -8) = pcVar27;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d7b0;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34b67;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n      }\n    }\nLAB_000349da:\n    bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n    fmt = (char *)pbVar29;\n    goto joined_r0x000340a6;\n  case 0x73:\n    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n    *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n    *(undefined4 *)(puVar25 + -0x14) = 0x34489;\n    fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  case 0x75:\n    puVar15 = &DAT_0007d7b3;\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\nLAB_000344af:\n    *(undefined **)(puVar25 + -0xc) = puVar15;\n    *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n    *(undefined4 *)(puVar25 + -0x14) = 0x344bc;\n    fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  case 0x76:\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n    *(char **)(puVar25 + -0xc) = "%016llx";\n    pcVar27 = puVar25 + 0x3c;\n    *(char **)(puVar25 + -0x10) = pcVar27;\n    *(undefined4 *)(puVar25 + -0x14) = 0x3426c;\n    sprintf(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n    cVar2 = puVar25[0x3c];\n    while (cVar2 == '0') {\n      pcVar27 = pcVar27 + 1;\n      cVar2 = *pcVar27;\n    }\n    pbVar28 = (bfd *)(pcVar27 + -(uint)(cVar2 == '\0'));\n    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n    *(bfd **)(puVar25 + -0x10) = pbVar28;\n    *(undefined4 *)(puVar25 + -0x14) = 0x34298;\n    fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  }\n  *(char **)(puVar25 + -0xc) = pcVar27;\n  *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n  *(undefined4 *)(puVar25 + -0x14) = 0x34237;\n  fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n  bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n  goto joined_r0x000340a6;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "void *pvVar3;" primitive_type (pointer_declarator "*pvVar3" * identifier) ;) (declaration "bfd_iovec *pbVar4;" type_identifier (pointer_declarator "*pbVar4" * identifier) ;) (declaration "bfd_target *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "_func_bfd_boolean_bfd_ptr_bfd_symbol_ptr_ptr_bfd_section_ptr_bfd_vma_char_ptr_ptr_char_ptr_ptr_uint_ptr_uint_ptr\n  *p_Var6;" type_identifier (pointer_declarator "*p_Var6" * identifier) ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "bfd_flavour bVar9;" type_identifier identifier ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "byte *pbVar11;" type_identifier (pointer_declarator "*pbVar11" * identifier) ;) (declaration "byte bVar12;" type_identifier identifier ;) (declaration "vfinfo_args *pvVar13;" type_identifier (pointer_declarator "*pvVar13" * identifier) ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "undefined *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "bfd_boolean bVar16;" type_identifier identifier ;) (declaration "size_t sVar17;" primitive_type identifier ;) (declaration "undefined4 uVar18;" type_identifier identifier ;) (declaration "bfd *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "vfinfo_args *pvVar21;" type_identifier (pointer_declarator "*pvVar21" * identifier) ;) (declaration "byte *pbVar22;" type_identifier (pointer_declarator "*pbVar22" * identifier) ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "undefined1 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "undefined1 *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "undefined1 *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "char *pcVar27;" primitive_type (pointer_declarator "*pcVar27" * identifier) ;) (declaration "bfd *pbVar28;" type_identifier (pointer_declarator "*pbVar28" * identifier) ;) (declaration "bfd *pbVar29;" type_identifier (pointer_declarator "*pbVar29" * identifier) ;) (declaration "bfd *pbVar30;" type_identifier (pointer_declarator "*pbVar30" * identifier) ;) (declaration "undefined8 uVar31;" type_identifier identifier ;) (declaration "undefined1 auStack_14c [4];" type_identifier (array_declarator "auStack_14c [4]" identifier [ number_literal ]) ;) (declaration "vfinfo_args *local_148;" type_identifier (pointer_declarator "*local_148" * identifier) ;) (declaration "byte *local_144;" type_identifier (pointer_declarator "*local_144" * identifier) ;) (declaration "undefined *local_140;" type_identifier (pointer_declarator "*local_140" * identifier) ;) (declaration "undefined4 local_13c;" type_identifier identifier ;) (declaration "bfd_boolean *local_138;" type_identifier (pointer_declarator "*local_138" * identifier) ;) (declaration "int local_134;" primitive_type identifier ;) (declaration "char *filename;" primitive_type (pointer_declarator "*filename" * identifier) ;) (declaration "char *functionname;" primitive_type (pointer_declarator "*functionname" * identifier) ;) (declaration "char buf [100];" primitive_type (array_declarator "buf [100]" identifier [ number_literal ]) ;) (declaration "vfinfo_args args [9];" type_identifier (array_declarator "args [9]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x33f29;" (assignment_expression "uStack_14 = 0x33f29" identifier = number_literal) ;) (expression_statement "puVar25 = auStack_14c;" (assignment_expression "puVar25 = auStack_14c" identifier = identifier) ;) (expression_statement "pvVar21 = args;" (assignment_expression "pvVar21 = args" identifier = identifier) ;) (expression_statement "pvVar13 = pvVar21;" (assignment_expression "pvVar13 = pvVar21" identifier = identifier) ;) (do_statement "do {\n    pvVar13->i = 0;\n    pvVar13 = pvVar13 + 1;\n  } while ((vfinfo_args *)&stack0xffffffe4 != pvVar13);" do (compound_statement "{\n    pvVar13->i = 0;\n    pvVar13 = pvVar13 + 1;\n  }" { (expression_statement "pvVar13->i = 0;" (assignment_expression "pvVar13->i = 0" (field_expression "pvVar13->i" identifier -> field_identifier) = number_literal) ;) (expression_statement "pvVar13 = pvVar13 + 1;" (assignment_expression "pvVar13 = pvVar13 + 1" identifier = (binary_expression "pvVar13 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((vfinfo_args *)&stack0xffffffe4 != pvVar13)" ( (binary_expression "(vfinfo_args *)&stack0xffffffe4 != pvVar13" (cast_expression "(vfinfo_args *)&stack0xffffffe4" ( (type_descriptor "vfinfo_args *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xffffffe4" & identifier)) != identifier) )) ;) (expression_statement "bVar12 = *fmt;" (assignment_expression "bVar12 = *fmt" identifier = (pointer_expression "*fmt" * identifier)) ;) (expression_statement "local_148 = (vfinfo_args *)0x0;" (assignment_expression "local_148 = (vfinfo_args *)0x0" identifier = (cast_expression "(vfinfo_args *)0x0" ( (type_descriptor "vfinfo_args *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_13c = CONCAT31(local_13c._1_3_,bVar12);" (assignment_expression "local_13c = CONCAT31(local_13c._1_3_,bVar12)" identifier = (call_expression "CONCAT31(local_13c._1_3_,bVar12)" identifier (argument_list "(local_13c._1_3_,bVar12)" ( (field_expression "local_13c._1_3_" identifier . field_identifier) , identifier )))) ;) (expression_statement "local_138 = (bfd_boolean *)PTR__sch_istable_001cefa0;" (assignment_expression "local_138 = (bfd_boolean *)PTR__sch_istable_001cefa0" identifier = (cast_expression "(bfd_boolean *)PTR__sch_istable_001cefa0" ( (type_descriptor "bfd_boolean *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar14 = (uint)bVar12;" (assignment_expression "uVar14 = (uint)bVar12" identifier = (cast_expression "(uint)bVar12" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pbVar22 = (byte *)fmt;" (assignment_expression "pbVar22 = (byte *)fmt" identifier = (cast_expression "(byte *)fmt" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (labeled_statement "LAB_00033f90:\n  if ((char)uVar14 != '\0') {\n    if ((char)uVar14 != '%') goto LAB_00033fb0;\n    goto LAB_00033fd0;\n  }" statement_identifier : (if_statement "if ((char)uVar14 != '\0') {\n    if ((char)uVar14 != '%') goto LAB_00033fb0;\n    goto LAB_00033fd0;\n  }" if (parenthesized_expression "((char)uVar14 != '\0')" ( (binary_expression "(char)uVar14 != '\0'" (cast_expression "(char)uVar14" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if ((char)uVar14 != '%') goto LAB_00033fb0;\n    goto LAB_00033fd0;\n  }" { (if_statement "if ((char)uVar14 != '%') goto LAB_00033fb0;" if (parenthesized_expression "((char)uVar14 != '%')" ( (binary_expression "(char)uVar14 != '%'" (cast_expression "(char)uVar14" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'%'" ' character ')) )) (goto_statement "goto LAB_00033fb0;" goto statement_identifier ;)) (goto_statement "goto LAB_00033fd0;" goto statement_identifier ;) }))) (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) (expression_statement "pbVar28 = (bfd *)ap;" (assignment_expression "pbVar28 = (bfd *)ap" identifier = (cast_expression "(bfd *)ap" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (local_148 != (vfinfo_args *)0x0) {\n    do {\n      switch(pvVar21->i) {\n      default:\n                    /* WARNING: Subroutine does not return */\n        ld_abort("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar28 = (bfd *)&((bfd *)ap)->xvec;\n        pvVar21->i = (int)((bfd *)ap)->filename;\n        break;\n      case 4:\n        pbVar5 = ((bfd *)ap)->xvec;\n        pbVar28 = (bfd *)&((bfd *)ap)->iostream;\n        pvVar21->i = (int)((bfd *)ap)->filename;\n        (pvVar21->reladdr).sec = (asection *)pbVar5;\n        break;\n      case 5:\n        pvVar3 = ((bfd *)ap)->iostream;\n        pbVar28 = (bfd *)&((bfd *)ap)->lru_prev;\n        pbVar4 = ((bfd *)ap)->iovec;\n        pvVar21->i = (int)((bfd *)ap)->filename;\n        pbVar5 = ((bfd *)ap)->xvec;\n        *(void **)&(pvVar21->reladdr).off = pvVar3;\n        (pvVar21->reladdr).sec = (asection *)pbVar5;\n        *(bfd_iovec **)((int)&(pvVar21->reladdr).off + 4) = pbVar4;\n      }\n      uVar14 = uVar14 + 1;\n      pvVar21 = pvVar21 + 1;\n      ap = (va_list)pbVar28;\n    } while (local_148 != (vfinfo_args *)uVar14);\n  }" if (parenthesized_expression "(local_148 != (vfinfo_args *)0x0)" ( (binary_expression "local_148 != (vfinfo_args *)0x0" identifier != (cast_expression "(vfinfo_args *)0x0" ( (type_descriptor "vfinfo_args *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    do {\n      switch(pvVar21->i) {\n      default:\n                    /* WARNING: Subroutine does not return */\n        ld_abort("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar28 = (bfd *)&((bfd *)ap)->xvec;\n        pvVar21->i = (int)((bfd *)ap)->filename;\n        break;\n      case 4:\n        pbVar5 = ((bfd *)ap)->xvec;\n        pbVar28 = (bfd *)&((bfd *)ap)->iostream;\n        pvVar21->i = (int)((bfd *)ap)->filename;\n        (pvVar21->reladdr).sec = (asection *)pbVar5;\n        break;\n      case 5:\n        pvVar3 = ((bfd *)ap)->iostream;\n        pbVar28 = (bfd *)&((bfd *)ap)->lru_prev;\n        pbVar4 = ((bfd *)ap)->iovec;\n        pvVar21->i = (int)((bfd *)ap)->filename;\n        pbVar5 = ((bfd *)ap)->xvec;\n        *(void **)&(pvVar21->reladdr).off = pvVar3;\n        (pvVar21->reladdr).sec = (asection *)pbVar5;\n        *(bfd_iovec **)((int)&(pvVar21->reladdr).off + 4) = pbVar4;\n      }\n      uVar14 = uVar14 + 1;\n      pvVar21 = pvVar21 + 1;\n      ap = (va_list)pbVar28;\n    } while (local_148 != (vfinfo_args *)uVar14);\n  }" { (do_statement "do {\n      switch(pvVar21->i) {\n      default:\n                    /* WARNING: Subroutine does not return */\n        ld_abort("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar28 = (bfd *)&((bfd *)ap)->xvec;\n        pvVar21->i = (int)((bfd *)ap)->filename;\n        break;\n      case 4:\n        pbVar5 = ((bfd *)ap)->xvec;\n        pbVar28 = (bfd *)&((bfd *)ap)->iostream;\n        pvVar21->i = (int)((bfd *)ap)->filename;\n        (pvVar21->reladdr).sec = (asection *)pbVar5;\n        break;\n      case 5:\n        pvVar3 = ((bfd *)ap)->iostream;\n        pbVar28 = (bfd *)&((bfd *)ap)->lru_prev;\n        pbVar4 = ((bfd *)ap)->iovec;\n        pvVar21->i = (int)((bfd *)ap)->filename;\n        pbVar5 = ((bfd *)ap)->xvec;\n        *(void **)&(pvVar21->reladdr).off = pvVar3;\n        (pvVar21->reladdr).sec = (asection *)pbVar5;\n        *(bfd_iovec **)((int)&(pvVar21->reladdr).off + 4) = pbVar4;\n      }\n      uVar14 = uVar14 + 1;\n      pvVar21 = pvVar21 + 1;\n      ap = (va_list)pbVar28;\n    } while (local_148 != (vfinfo_args *)uVar14);" do (compound_statement "{\n      switch(pvVar21->i) {\n      default:\n                    /* WARNING: Subroutine does not return */\n        ld_abort("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar28 = (bfd *)&((bfd *)ap)->xvec;\n        pvVar21->i = (int)((bfd *)ap)->filename;\n        break;\n      case 4:\n        pbVar5 = ((bfd *)ap)->xvec;\n        pbVar28 = (bfd *)&((bfd *)ap)->iostream;\n        pvVar21->i = (int)((bfd *)ap)->filename;\n        (pvVar21->reladdr).sec = (asection *)pbVar5;\n        break;\n      case 5:\n        pvVar3 = ((bfd *)ap)->iostream;\n        pbVar28 = (bfd *)&((bfd *)ap)->lru_prev;\n        pbVar4 = ((bfd *)ap)->iovec;\n        pvVar21->i = (int)((bfd *)ap)->filename;\n        pbVar5 = ((bfd *)ap)->xvec;\n        *(void **)&(pvVar21->reladdr).off = pvVar3;\n        (pvVar21->reladdr).sec = (asection *)pbVar5;\n        *(bfd_iovec **)((int)&(pvVar21->reladdr).off + 4) = pbVar4;\n      }\n      uVar14 = uVar14 + 1;\n      pvVar21 = pvVar21 + 1;\n      ap = (va_list)pbVar28;\n    }" { (switch_statement "switch(pvVar21->i) {\n      default:\n                    /* WARNING: Subroutine does not return */\n        ld_abort("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar28 = (bfd *)&((bfd *)ap)->xvec;\n        pvVar21->i = (int)((bfd *)ap)->filename;\n        break;\n      case 4:\n        pbVar5 = ((bfd *)ap)->xvec;\n        pbVar28 = (bfd *)&((bfd *)ap)->iostream;\n        pvVar21->i = (int)((bfd *)ap)->filename;\n        (pvVar21->reladdr).sec = (asection *)pbVar5;\n        break;\n      case 5:\n        pvVar3 = ((bfd *)ap)->iostream;\n        pbVar28 = (bfd *)&((bfd *)ap)->lru_prev;\n        pbVar4 = ((bfd *)ap)->iovec;\n        pvVar21->i = (int)((bfd *)ap)->filename;\n        pbVar5 = ((bfd *)ap)->xvec;\n        *(void **)&(pvVar21->reladdr).off = pvVar3;\n        (pvVar21->reladdr).sec = (asection *)pbVar5;\n        *(bfd_iovec **)((int)&(pvVar21->reladdr).off + 4) = pbVar4;\n      }" switch (parenthesized_expression "(pvVar21->i)" ( (field_expression "pvVar21->i" identifier -> field_identifier) )) (compound_statement "{\n      default:\n                    /* WARNING: Subroutine does not return */\n        ld_abort("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar28 = (bfd *)&((bfd *)ap)->xvec;\n        pvVar21->i = (int)((bfd *)ap)->filename;\n        break;\n      case 4:\n        pbVar5 = ((bfd *)ap)->xvec;\n        pbVar28 = (bfd *)&((bfd *)ap)->iostream;\n        pvVar21->i = (int)((bfd *)ap)->filename;\n        (pvVar21->reladdr).sec = (asection *)pbVar5;\n        break;\n      case 5:\n        pvVar3 = ((bfd *)ap)->iostream;\n        pbVar28 = (bfd *)&((bfd *)ap)->lru_prev;\n        pbVar4 = ((bfd *)ap)->iovec;\n        pvVar21->i = (int)((bfd *)ap)->filename;\n        pbVar5 = ((bfd *)ap)->xvec;\n        *(void **)&(pvVar21->reladdr).off = pvVar3;\n        (pvVar21->reladdr).sec = (asection *)pbVar5;\n        *(bfd_iovec **)((int)&(pvVar21->reladdr).off + 4) = pbVar4;\n      }" { (case_statement "default:\n                    /* WARNING: Subroutine does not return */\n        ld_abort("../../ld/ldmisc.c",0xc6,"vfinfo");" default : comment (expression_statement "ld_abort("../../ld/ldmisc.c",0xc6,"vfinfo");" (call_expression "ld_abort("../../ld/ldmisc.c",0xc6,"vfinfo")" identifier (argument_list "("../../ld/ldmisc.c",0xc6,"vfinfo")" ( (string_literal ""../../ld/ldmisc.c"" " string_content ") , number_literal , (string_literal ""vfinfo"" " string_content ") ))) ;)) (case_statement "case 1:" case number_literal :) (case_statement "case 2:" case number_literal :) (case_statement "case 3:\n        pbVar28 = (bfd *)&((bfd *)ap)->xvec;\n        pvVar21->i = (int)((bfd *)ap)->filename;\n        break;" case number_literal : (expression_statement "pbVar28 = (bfd *)&((bfd *)ap)->xvec;" (assignment_expression "pbVar28 = (bfd *)&((bfd *)ap)->xvec" identifier = (cast_expression "(bfd *)&((bfd *)ap)->xvec" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((bfd *)ap)->xvec" & (field_expression "((bfd *)ap)->xvec" (parenthesized_expression "((bfd *)ap)" ( (cast_expression "(bfd *)ap" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)))) ;) (expression_statement "pvVar21->i = (int)((bfd *)ap)->filename;" (assignment_expression "pvVar21->i = (int)((bfd *)ap)->filename" (field_expression "pvVar21->i" identifier -> field_identifier) = (cast_expression "(int)((bfd *)ap)->filename" ( (type_descriptor "int" primitive_type) ) (field_expression "((bfd *)ap)->filename" (parenthesized_expression "((bfd *)ap)" ( (cast_expression "(bfd *)ap" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n        pbVar5 = ((bfd *)ap)->xvec;\n        pbVar28 = (bfd *)&((bfd *)ap)->iostream;\n        pvVar21->i = (int)((bfd *)ap)->filename;\n        (pvVar21->reladdr).sec = (asection *)pbVar5;\n        break;" case number_literal : (expression_statement "pbVar5 = ((bfd *)ap)->xvec;" (assignment_expression "pbVar5 = ((bfd *)ap)->xvec" identifier = (field_expression "((bfd *)ap)->xvec" (parenthesized_expression "((bfd *)ap)" ( (cast_expression "(bfd *)ap" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)) ;) (expression_statement "pbVar28 = (bfd *)&((bfd *)ap)->iostream;" (assignment_expression "pbVar28 = (bfd *)&((bfd *)ap)->iostream" identifier = (cast_expression "(bfd *)&((bfd *)ap)->iostream" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((bfd *)ap)->iostream" & (field_expression "((bfd *)ap)->iostream" (parenthesized_expression "((bfd *)ap)" ( (cast_expression "(bfd *)ap" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)))) ;) (expression_statement "pvVar21->i = (int)((bfd *)ap)->filename;" (assignment_expression "pvVar21->i = (int)((bfd *)ap)->filename" (field_expression "pvVar21->i" identifier -> field_identifier) = (cast_expression "(int)((bfd *)ap)->filename" ( (type_descriptor "int" primitive_type) ) (field_expression "((bfd *)ap)->filename" (parenthesized_expression "((bfd *)ap)" ( (cast_expression "(bfd *)ap" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) ;) (expression_statement "(pvVar21->reladdr).sec = (asection *)pbVar5;" (assignment_expression "(pvVar21->reladdr).sec = (asection *)pbVar5" (field_expression "(pvVar21->reladdr).sec" (parenthesized_expression "(pvVar21->reladdr)" ( (field_expression "pvVar21->reladdr" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(asection *)pbVar5" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n        pvVar3 = ((bfd *)ap)->iostream;\n        pbVar28 = (bfd *)&((bfd *)ap)->lru_prev;\n        pbVar4 = ((bfd *)ap)->iovec;\n        pvVar21->i = (int)((bfd *)ap)->filename;\n        pbVar5 = ((bfd *)ap)->xvec;\n        *(void **)&(pvVar21->reladdr).off = pvVar3;\n        (pvVar21->reladdr).sec = (asection *)pbVar5;\n        *(bfd_iovec **)((int)&(pvVar21->reladdr).off + 4) = pbVar4;" case number_literal : (expression_statement "pvVar3 = ((bfd *)ap)->iostream;" (assignment_expression "pvVar3 = ((bfd *)ap)->iostream" identifier = (field_expression "((bfd *)ap)->iostream" (parenthesized_expression "((bfd *)ap)" ( (cast_expression "(bfd *)ap" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)) ;) (expression_statement "pbVar28 = (bfd *)&((bfd *)ap)->lru_prev;" (assignment_expression "pbVar28 = (bfd *)&((bfd *)ap)->lru_prev" identifier = (cast_expression "(bfd *)&((bfd *)ap)->lru_prev" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((bfd *)ap)->lru_prev" & (field_expression "((bfd *)ap)->lru_prev" (parenthesized_expression "((bfd *)ap)" ( (cast_expression "(bfd *)ap" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)))) ;) (expression_statement "pbVar4 = ((bfd *)ap)->iovec;" (assignment_expression "pbVar4 = ((bfd *)ap)->iovec" identifier = (field_expression "((bfd *)ap)->iovec" (parenthesized_expression "((bfd *)ap)" ( (cast_expression "(bfd *)ap" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)) ;) (expression_statement "pvVar21->i = (int)((bfd *)ap)->filename;" (assignment_expression "pvVar21->i = (int)((bfd *)ap)->filename" (field_expression "pvVar21->i" identifier -> field_identifier) = (cast_expression "(int)((bfd *)ap)->filename" ( (type_descriptor "int" primitive_type) ) (field_expression "((bfd *)ap)->filename" (parenthesized_expression "((bfd *)ap)" ( (cast_expression "(bfd *)ap" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) ;) (expression_statement "pbVar5 = ((bfd *)ap)->xvec;" (assignment_expression "pbVar5 = ((bfd *)ap)->xvec" identifier = (field_expression "((bfd *)ap)->xvec" (parenthesized_expression "((bfd *)ap)" ( (cast_expression "(bfd *)ap" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)) ;) (expression_statement "*(void **)&(pvVar21->reladdr).off = pvVar3;" (assignment_expression "*(void **)&(pvVar21->reladdr).off = pvVar3" (pointer_expression "*(void **)&(pvVar21->reladdr).off" * (cast_expression "(void **)&(pvVar21->reladdr).off" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&(pvVar21->reladdr).off" & (field_expression "(pvVar21->reladdr).off" (parenthesized_expression "(pvVar21->reladdr)" ( (field_expression "pvVar21->reladdr" identifier -> field_identifier) )) . field_identifier)))) = identifier) ;) (expression_statement "(pvVar21->reladdr).sec = (asection *)pbVar5;" (assignment_expression "(pvVar21->reladdr).sec = (asection *)pbVar5" (field_expression "(pvVar21->reladdr).sec" (parenthesized_expression "(pvVar21->reladdr)" ( (field_expression "pvVar21->reladdr" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(asection *)pbVar5" ( (type_descriptor "asection *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(bfd_iovec **)((int)&(pvVar21->reladdr).off + 4) = pbVar4;" (assignment_expression "*(bfd_iovec **)((int)&(pvVar21->reladdr).off + 4) = pbVar4" (pointer_expression "*(bfd_iovec **)((int)&(pvVar21->reladdr).off + 4)" * (cast_expression "(bfd_iovec **)((int)&(pvVar21->reladdr).off + 4)" ( (type_descriptor "bfd_iovec **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&(pvVar21->reladdr).off + 4)" ( (binary_expression "(int)&(pvVar21->reladdr).off + 4" (cast_expression "(int)&(pvVar21->reladdr).off" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pvVar21->reladdr).off" & (field_expression "(pvVar21->reladdr).off" (parenthesized_expression "(pvVar21->reladdr)" ( (field_expression "pvVar21->reladdr" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = identifier) ;)) })) (expression_statement "uVar14 = uVar14 + 1;" (assignment_expression "uVar14 = uVar14 + 1" identifier = (binary_expression "uVar14 + 1" identifier + number_literal)) ;) (expression_statement "pvVar21 = pvVar21 + 1;" (assignment_expression "pvVar21 = pvVar21 + 1" identifier = (binary_expression "pvVar21 + 1" identifier + number_literal)) ;) (expression_statement "ap = (va_list)pbVar28;" (assignment_expression "ap = (va_list)pbVar28" identifier = (cast_expression "(va_list)pbVar28" ( (type_descriptor "va_list" type_identifier) ) identifier)) ;) }) while (parenthesized_expression "(local_148 != (vfinfo_args *)uVar14)" ( (binary_expression "local_148 != (vfinfo_args *)uVar14" identifier != (cast_expression "(vfinfo_args *)uVar14" ( (type_descriptor "vfinfo_args *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) ;) })) (expression_statement "local_148 = (vfinfo_args *)0x0;" (assignment_expression "local_148 = (vfinfo_args *)0x0" identifier = (cast_expression "(vfinfo_args *)0x0" ( (type_descriptor "vfinfo_args *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_13c = 0;" (assignment_expression "local_13c = 0" identifier = number_literal) ;) (expression_statement "local_140 = PTR__sch_istable_001cefa0;" (assignment_expression "local_140 = PTR__sch_istable_001cefa0" identifier = identifier) ;) (expression_statement "local_138 = &demangling;" (assignment_expression "local_138 = &demangling" identifier = (pointer_expression "&demangling" & identifier)) ;) (labeled_statement "joined_r0x000340a6:\n  if (bVar12 != 0) {\n    pbVar29 = (bfd *)fmt;\n    pbVar28 = (bfd *)fmt;\n    if (bVar12 != 0x25) goto LAB_000340c2;\n    goto LAB_00034170;\n  }" statement_identifier : (if_statement "if (bVar12 != 0) {\n    pbVar29 = (bfd *)fmt;\n    pbVar28 = (bfd *)fmt;\n    if (bVar12 != 0x25) goto LAB_000340c2;\n    goto LAB_00034170;\n  }" if (parenthesized_expression "(bVar12 != 0)" ( (binary_expression "bVar12 != 0" identifier != number_literal) )) (compound_statement "{\n    pbVar29 = (bfd *)fmt;\n    pbVar28 = (bfd *)fmt;\n    if (bVar12 != 0x25) goto LAB_000340c2;\n    goto LAB_00034170;\n  }" { (expression_statement "pbVar29 = (bfd *)fmt;" (assignment_expression "pbVar29 = (bfd *)fmt" identifier = (cast_expression "(bfd *)fmt" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar28 = (bfd *)fmt;" (assignment_expression "pbVar28 = (bfd *)fmt" identifier = (cast_expression "(bfd *)fmt" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (bVar12 != 0x25) goto LAB_000340c2;" if (parenthesized_expression "(bVar12 != 0x25)" ( (binary_expression "bVar12 != 0x25" identifier != number_literal) )) (goto_statement "goto LAB_000340c2;" goto statement_identifier ;)) (goto_statement "goto LAB_00034170;" goto statement_identifier ;) }))) (expression_statement "pbVar29 = *(bfd **)(puVar25 + 0x15c);" (assignment_expression "pbVar29 = *(bfd **)(puVar25 + 0x15c)" identifier = (pointer_expression "*(bfd **)(puVar25 + 0x15c)" * (cast_expression "(bfd **)(puVar25 + 0x15c)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x15c)" ( (binary_expression "puVar25 + 0x15c" identifier + number_literal) ))))) ;) (if_statement "if ((pbVar29 != (bfd *)0x0) && (config.fatal_warnings != 0)) {\n    config.make_executable = 0;\n  }" if (parenthesized_expression "((pbVar29 != (bfd *)0x0) && (config.fatal_warnings != 0))" ( (binary_expression "(pbVar29 != (bfd *)0x0) && (config.fatal_warnings != 0)" (parenthesized_expression "(pbVar29 != (bfd *)0x0)" ( (binary_expression "pbVar29 != (bfd *)0x0" identifier != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(config.fatal_warnings != 0)" ( (binary_expression "config.fatal_warnings != 0" (field_expression "config.fatal_warnings" identifier . field_identifier) != number_literal) ))) )) (compound_statement "{\n    config.make_executable = 0;\n  }" { (expression_statement "config.make_executable = 0;" (assignment_expression "config.make_executable = 0" (field_expression "config.make_executable" identifier . field_identifier) = number_literal) ;) })) (if_statement "if (*(int *)(puVar25 + 0x10) == 0) {\n    return;\n  }" if (parenthesized_expression "(*(int *)(puVar25 + 0x10) == 0)" ( (binary_expression "*(int *)(puVar25 + 0x10) == 0" (pointer_expression "*(int *)(puVar25 + 0x10)" * (cast_expression "(int *)(puVar25 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x10)" ( (binary_expression "puVar25 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "*(undefined4 *)(puVar25 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar25 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar25 + -0x10)" * (cast_expression "(undefined4 *)(puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x34be1;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x34be1" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pbVar19 = (bfd *)xexit();" (assignment_expression "pbVar19 = (bfd *)xexit()" identifier = (cast_expression "(bfd *)xexit()" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xexit()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puVar25 = puVar25 + -0x10;" (assignment_expression "puVar25 = puVar25 + -0x10" identifier = (binary_expression "puVar25 + -0x10" identifier + number_literal)) ;) (expression_statement "pbVar30 = (bfd *)fmt;" (assignment_expression "pbVar30 = (bfd *)fmt" identifier = (cast_expression "(bfd *)fmt" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto LAB_00034be8;" goto statement_identifier ;) (labeled_statement "LAB_00033fb0:\n  do {\n    pbVar22 = pbVar22 + 1;\n    bVar1 = *pbVar22;\n    uVar14 = (uint)bVar1;\n    if (bVar1 == 0x25) break;\n  } while (bVar1 != 0);" statement_identifier : (do_statement "do {\n    pbVar22 = pbVar22 + 1;\n    bVar1 = *pbVar22;\n    uVar14 = (uint)bVar1;\n    if (bVar1 == 0x25) break;\n  } while (bVar1 != 0);" do (compound_statement "{\n    pbVar22 = pbVar22 + 1;\n    bVar1 = *pbVar22;\n    uVar14 = (uint)bVar1;\n    if (bVar1 == 0x25) break;\n  }" { (expression_statement "pbVar22 = pbVar22 + 1;" (assignment_expression "pbVar22 = pbVar22 + 1" identifier = (binary_expression "pbVar22 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = *pbVar22;" (assignment_expression "bVar1 = *pbVar22" identifier = (pointer_expression "*pbVar22" * identifier)) ;) (expression_statement "uVar14 = (uint)bVar1;" (assignment_expression "uVar14 = (uint)bVar1" identifier = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (bVar1 == 0x25) break;" if (parenthesized_expression "(bVar1 == 0x25)" ( (binary_expression "bVar1 == 0x25" identifier == number_literal) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "(bVar1 != 0)" ( (binary_expression "bVar1 != 0" identifier != number_literal) )) ;)) (if_statement "if (bVar1 != 0x25) goto LAB_00033f90;" if (parenthesized_expression "(bVar1 != 0x25)" ( (binary_expression "bVar1 != 0x25" identifier != number_literal) )) (goto_statement "goto LAB_00033f90;" goto statement_identifier ;)) (labeled_statement "LAB_00033fd0:\n  local_144 = pbVar22 + 1;" statement_identifier : (expression_statement "local_144 = pbVar22 + 1;" (assignment_expression "local_144 = pbVar22 + 1" identifier = (binary_expression "pbVar22 + 1" identifier + number_literal)) ;)) (expression_statement "bVar1 = pbVar22[1];" (assignment_expression "bVar1 = pbVar22[1]" identifier = (subscript_expression "pbVar22[1]" identifier [ number_literal ])) ;) (expression_statement "uVar14 = (uint)bVar1;" (assignment_expression "uVar14 = (uint)bVar1" identifier = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (bVar1 == 0x30) {\n    pbVar22 = pbVar22 + 2;\n_L18:\n    uVar14 = (uint)local_144[1];\n    goto LAB_00033f90;\n  }" if (parenthesized_expression "(bVar1 == 0x30)" ( (binary_expression "bVar1 == 0x30" identifier == number_literal) )) (compound_statement "{\n    pbVar22 = pbVar22 + 2;\n_L18:\n    uVar14 = (uint)local_144[1];\n    goto LAB_00033f90;\n  }" { (expression_statement "pbVar22 = pbVar22 + 2;" (assignment_expression "pbVar22 = pbVar22 + 2" identifier = (binary_expression "pbVar22 + 2" identifier + number_literal)) ;) (labeled_statement "_L18:\n    uVar14 = (uint)local_144[1];" statement_identifier : (expression_statement "uVar14 = (uint)local_144[1];" (assignment_expression "uVar14 = (uint)local_144[1]" identifier = (cast_expression "(uint)local_144[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_144[1]" identifier [ number_literal ]))) ;)) (goto_statement "goto LAB_00033f90;" goto statement_identifier ;) })) (expression_statement "local_134 = (int)(char)bVar1;" (assignment_expression "local_134 = (int)(char)bVar1" identifier = (cast_expression "(int)(char)bVar1" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "local_140 = (undefined *)local_148;" (assignment_expression "local_140 = (undefined *)local_148" identifier = (cast_expression "(undefined *)local_148" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (((PTR__sch_istable_001cefa0[uVar14 * 2] & 4) != 0) && (pbVar22[2] == 0x24)) {\n    local_140 = (undefined *)((int)(char)bVar1 - 0x31);\n    local_144 = pbVar22 + 3;\n    uVar14 = (uint)pbVar22[3];\n  }" if (parenthesized_expression "(((PTR__sch_istable_001cefa0[uVar14 * 2] & 4) != 0) && (pbVar22[2] == 0x24))" ( (binary_expression "((PTR__sch_istable_001cefa0[uVar14 * 2] & 4) != 0) && (pbVar22[2] == 0x24)" (parenthesized_expression "((PTR__sch_istable_001cefa0[uVar14 * 2] & 4) != 0)" ( (binary_expression "(PTR__sch_istable_001cefa0[uVar14 * 2] & 4) != 0" (parenthesized_expression "(PTR__sch_istable_001cefa0[uVar14 * 2] & 4)" ( (binary_expression "PTR__sch_istable_001cefa0[uVar14 * 2] & 4" (subscript_expression "PTR__sch_istable_001cefa0[uVar14 * 2]" identifier [ (binary_expression "uVar14 * 2" identifier * number_literal) ]) & number_literal) )) != number_literal) )) && (parenthesized_expression "(pbVar22[2] == 0x24)" ( (binary_expression "pbVar22[2] == 0x24" (subscript_expression "pbVar22[2]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n    local_140 = (undefined *)((int)(char)bVar1 - 0x31);\n    local_144 = pbVar22 + 3;\n    uVar14 = (uint)pbVar22[3];\n  }" { (expression_statement "local_140 = (undefined *)((int)(char)bVar1 - 0x31);" (assignment_expression "local_140 = (undefined *)((int)(char)bVar1 - 0x31)" identifier = (cast_expression "(undefined *)((int)(char)bVar1 - 0x31)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(char)bVar1 - 0x31)" ( (binary_expression "(int)(char)bVar1 - 0x31" (cast_expression "(int)(char)bVar1" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier)) - number_literal) )))) ;) (expression_statement "local_144 = pbVar22 + 3;" (assignment_expression "local_144 = pbVar22 + 3" identifier = (binary_expression "pbVar22 + 3" identifier + number_literal)) ;) (expression_statement "uVar14 = (uint)pbVar22[3];" (assignment_expression "uVar14 = (uint)pbVar22[3]" identifier = (cast_expression "(uint)pbVar22[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar22[3]" identifier [ number_literal ]))) ;) })) (expression_statement "pbVar11 = local_144;" (assignment_expression "pbVar11 = local_144" identifier = identifier) ;) (expression_statement "pbVar22 = local_144 + 1;" (assignment_expression "pbVar22 = local_144 + 1" identifier = (binary_expression "local_144 + 1" identifier + number_literal)) ;) (switch_statement "switch(uVar14) {\n  case 0:\n    pbVar22 = local_144;\n    goto LAB_00033f90;\n  default:\n    goto _L18;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    local_144 = (byte *)0x5;\n    break;\n  case 0x56:\n  case 0x57:\n  case 0x76:\n    local_144 = (byte *)0x4;\n    break;\n  case 100:\n  case 0x75:\n    local_144 = (byte *)0x1;\n    break;\n  case 0x6c:\n    bVar1 = local_144[1];\n    uVar14 = (uint)bVar1;\n    if ((bVar1 != 100) && (bVar1 != 0x75)) goto LAB_00033f90;\n    local_144 = (byte *)0x2;\n    pbVar22 = pbVar11 + 2;\n    break;\n  case 0x70:\n    local_144 = (byte *)0x3;\n    if (((byte)(pbVar11[1] - 0x41) < 0x14) && ((0xe0103U >> (pbVar11[1] - 0x41 & 0x1f) & 1) != 0)) {\n      pbVar22 = pbVar11 + 2;\n    }\n    break;\n  case 0x73:\n    local_144 = (byte *)0x3;\n  }" switch (parenthesized_expression "(uVar14)" ( identifier )) (compound_statement "{\n  case 0:\n    pbVar22 = local_144;\n    goto LAB_00033f90;\n  default:\n    goto _L18;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    local_144 = (byte *)0x5;\n    break;\n  case 0x56:\n  case 0x57:\n  case 0x76:\n    local_144 = (byte *)0x4;\n    break;\n  case 100:\n  case 0x75:\n    local_144 = (byte *)0x1;\n    break;\n  case 0x6c:\n    bVar1 = local_144[1];\n    uVar14 = (uint)bVar1;\n    if ((bVar1 != 100) && (bVar1 != 0x75)) goto LAB_00033f90;\n    local_144 = (byte *)0x2;\n    pbVar22 = pbVar11 + 2;\n    break;\n  case 0x70:\n    local_144 = (byte *)0x3;\n    if (((byte)(pbVar11[1] - 0x41) < 0x14) && ((0xe0103U >> (pbVar11[1] - 0x41 & 0x1f) & 1) != 0)) {\n      pbVar22 = pbVar11 + 2;\n    }\n    break;\n  case 0x73:\n    local_144 = (byte *)0x3;\n  }" { (case_statement "case 0:\n    pbVar22 = local_144;\n    goto LAB_00033f90;" case number_literal : (expression_statement "pbVar22 = local_144;" (assignment_expression "pbVar22 = local_144" identifier = identifier) ;) (goto_statement "goto LAB_00033f90;" goto statement_identifier ;)) (case_statement "default:\n    goto _L18;" default : (goto_statement "goto _L18;" goto statement_identifier ;)) (case_statement "case 0x43:" case number_literal :) (case_statement "case 0x44:" case number_literal :) (case_statement "case 0x47:" case number_literal :) (case_statement "case 0x48:\n    local_144 = (byte *)0x5;\n    break;" case number_literal : (expression_statement "local_144 = (byte *)0x5;" (assignment_expression "local_144 = (byte *)0x5" identifier = (cast_expression "(byte *)0x5" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x56:" case number_literal :) (case_statement "case 0x57:" case number_literal :) (case_statement "case 0x76:\n    local_144 = (byte *)0x4;\n    break;" case number_literal : (expression_statement "local_144 = (byte *)0x4;" (assignment_expression "local_144 = (byte *)0x4" identifier = (cast_expression "(byte *)0x4" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 100:" case number_literal :) (case_statement "case 0x75:\n    local_144 = (byte *)0x1;\n    break;" case number_literal : (expression_statement "local_144 = (byte *)0x1;" (assignment_expression "local_144 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x6c:\n    bVar1 = local_144[1];\n    uVar14 = (uint)bVar1;\n    if ((bVar1 != 100) && (bVar1 != 0x75)) goto LAB_00033f90;\n    local_144 = (byte *)0x2;\n    pbVar22 = pbVar11 + 2;\n    break;" case number_literal : (expression_statement "bVar1 = local_144[1];" (assignment_expression "bVar1 = local_144[1]" identifier = (subscript_expression "local_144[1]" identifier [ number_literal ])) ;) (expression_statement "uVar14 = (uint)bVar1;" (assignment_expression "uVar14 = (uint)bVar1" identifier = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((bVar1 != 100) && (bVar1 != 0x75)) goto LAB_00033f90;" if (parenthesized_expression "((bVar1 != 100) && (bVar1 != 0x75))" ( (binary_expression "(bVar1 != 100) && (bVar1 != 0x75)" (parenthesized_expression "(bVar1 != 100)" ( (binary_expression "bVar1 != 100" identifier != number_literal) )) && (parenthesized_expression "(bVar1 != 0x75)" ( (binary_expression "bVar1 != 0x75" identifier != number_literal) ))) )) (goto_statement "goto LAB_00033f90;" goto statement_identifier ;)) (expression_statement "local_144 = (byte *)0x2;" (assignment_expression "local_144 = (byte *)0x2" identifier = (cast_expression "(byte *)0x2" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar22 = pbVar11 + 2;" (assignment_expression "pbVar22 = pbVar11 + 2" identifier = (binary_expression "pbVar11 + 2" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x70:\n    local_144 = (byte *)0x3;\n    if (((byte)(pbVar11[1] - 0x41) < 0x14) && ((0xe0103U >> (pbVar11[1] - 0x41 & 0x1f) & 1) != 0)) {\n      pbVar22 = pbVar11 + 2;\n    }\n    break;" case number_literal : (expression_statement "local_144 = (byte *)0x3;" (assignment_expression "local_144 = (byte *)0x3" identifier = (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (((byte)(pbVar11[1] - 0x41) < 0x14) && ((0xe0103U >> (pbVar11[1] - 0x41 & 0x1f) & 1) != 0)) {\n      pbVar22 = pbVar11 + 2;\n    }" if (parenthesized_expression "(((byte)(pbVar11[1] - 0x41) < 0x14) && ((0xe0103U >> (pbVar11[1] - 0x41 & 0x1f) & 1) != 0))" ( (binary_expression "((byte)(pbVar11[1] - 0x41) < 0x14) && ((0xe0103U >> (pbVar11[1] - 0x41 & 0x1f) & 1) != 0)" (parenthesized_expression "((byte)(pbVar11[1] - 0x41) < 0x14)" ( (binary_expression "(byte)(pbVar11[1] - 0x41) < 0x14" (call_expression "(byte)(pbVar11[1] - 0x41)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(pbVar11[1] - 0x41)" ( (binary_expression "pbVar11[1] - 0x41" (subscript_expression "pbVar11[1]" identifier [ number_literal ]) - number_literal) ))) < number_literal) )) && (parenthesized_expression "((0xe0103U >> (pbVar11[1] - 0x41 & 0x1f) & 1) != 0)" ( (binary_expression "(0xe0103U >> (pbVar11[1] - 0x41 & 0x1f) & 1) != 0" (parenthesized_expression "(0xe0103U >> (pbVar11[1] - 0x41 & 0x1f) & 1)" ( (binary_expression "0xe0103U >> (pbVar11[1] - 0x41 & 0x1f) & 1" (binary_expression "0xe0103U >> (pbVar11[1] - 0x41 & 0x1f)" number_literal >> (parenthesized_expression "(pbVar11[1] - 0x41 & 0x1f)" ( (binary_expression "pbVar11[1] - 0x41 & 0x1f" (binary_expression "pbVar11[1] - 0x41" (subscript_expression "pbVar11[1]" identifier [ number_literal ]) - number_literal) & number_literal) ))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n      pbVar22 = pbVar11 + 2;\n    }" { (expression_statement "pbVar22 = pbVar11 + 2;" (assignment_expression "pbVar22 = pbVar11 + 2" identifier = (binary_expression "pbVar11 + 2" identifier + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x73:\n    local_144 = (byte *)0x3;" case number_literal : (expression_statement "local_144 = (byte *)0x3;" (assignment_expression "local_144 = (byte *)0x3" identifier = (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) })) (if_statement "if (8 < local_140) {\n    local_148 = pvVar21;\n                    /* WARNING: Subroutine does not return */\n    ld_abort("../../ld/ldmisc.c",0xa9,"vfinfo");\n  }" if (parenthesized_expression "(8 < local_140)" ( (binary_expression "8 < local_140" number_literal < identifier) )) (compound_statement "{\n    local_148 = pvVar21;\n                    /* WARNING: Subroutine does not return */\n    ld_abort("../../ld/ldmisc.c",0xa9,"vfinfo");\n  }" { (expression_statement "local_148 = pvVar21;" (assignment_expression "local_148 = pvVar21" identifier = identifier) ;) comment (expression_statement "ld_abort("../../ld/ldmisc.c",0xa9,"vfinfo");" (call_expression "ld_abort("../../ld/ldmisc.c",0xa9,"vfinfo")" identifier (argument_list "("../../ld/ldmisc.c",0xa9,"vfinfo")" ( (string_literal ""../../ld/ldmisc.c"" " string_content ") , number_literal , (string_literal ""vfinfo"" " string_content ") ))) ;) })) (expression_statement "local_148 = (vfinfo_args *)((int)&local_148->reladdr + 1);" (assignment_expression "local_148 = (vfinfo_args *)((int)&local_148->reladdr + 1)" identifier = (cast_expression "(vfinfo_args *)((int)&local_148->reladdr + 1)" ( (type_descriptor "vfinfo_args *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_148->reladdr + 1)" ( (binary_expression "(int)&local_148->reladdr + 1" (cast_expression "(int)&local_148->reladdr" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_148->reladdr" & (field_expression "local_148->reladdr" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "args[(int)local_140].i = (int)local_144;" (assignment_expression "args[(int)local_140].i = (int)local_144" (field_expression "args[(int)local_140].i" (subscript_expression "args[(int)local_140]" identifier [ (cast_expression "(int)local_140" ( (type_descriptor "int" primitive_type) ) identifier) ]) . field_identifier) = (cast_expression "(int)local_144" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar14 = (uint)*pbVar22;" (assignment_expression "uVar14 = (uint)*pbVar22" identifier = (binary_expression "(uint)*pbVar22" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (goto_statement "goto LAB_00033f90;" goto statement_identifier ;) (labeled_statement "LAB_000340c2:\n  do {\n    pbVar28 = pbVar29;\n    bVar12 = *(byte *)((int)&pbVar28->filename + 1);\n    pbVar29 = (bfd *)((int)&pbVar28->filename + 1);\n    if (bVar12 == 0x25) break;\n  } while (bVar12 != 0);" statement_identifier : (do_statement "do {\n    pbVar28 = pbVar29;\n    bVar12 = *(byte *)((int)&pbVar28->filename + 1);\n    pbVar29 = (bfd *)((int)&pbVar28->filename + 1);\n    if (bVar12 == 0x25) break;\n  } while (bVar12 != 0);" do (compound_statement "{\n    pbVar28 = pbVar29;\n    bVar12 = *(byte *)((int)&pbVar28->filename + 1);\n    pbVar29 = (bfd *)((int)&pbVar28->filename + 1);\n    if (bVar12 == 0x25) break;\n  }" { (expression_statement "pbVar28 = pbVar29;" (assignment_expression "pbVar28 = pbVar29" identifier = identifier) ;) (expression_statement "bVar12 = *(byte *)((int)&pbVar28->filename + 1);" (assignment_expression "bVar12 = *(byte *)((int)&pbVar28->filename + 1)" identifier = (pointer_expression "*(byte *)((int)&pbVar28->filename + 1)" * (cast_expression "(byte *)((int)&pbVar28->filename + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar28->filename + 1)" ( (binary_expression "(int)&pbVar28->filename + 1" (cast_expression "(int)&pbVar28->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar28->filename" & (field_expression "pbVar28->filename" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "pbVar29 = (bfd *)((int)&pbVar28->filename + 1);" (assignment_expression "pbVar29 = (bfd *)((int)&pbVar28->filename + 1)" identifier = (cast_expression "(bfd *)((int)&pbVar28->filename + 1)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar28->filename + 1)" ( (binary_expression "(int)&pbVar28->filename + 1" (cast_expression "(int)&pbVar28->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar28->filename" & (field_expression "pbVar28->filename" identifier -> field_identifier))) + number_literal) )))) ;) (if_statement "if (bVar12 == 0x25) break;" if (parenthesized_expression "(bVar12 == 0x25)" ( (binary_expression "bVar12 == 0x25" identifier == number_literal) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "(bVar12 != 0)" ( (binary_expression "bVar12 != 0" identifier != number_literal) )) ;)) (if_statement "if ((bfd *)fmt != pbVar29) {\n    *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + 0x150);\n    *(int *)(puVar25 + -8) = (int)pbVar29 - (int)fmt;\n    *(undefined4 *)(puVar25 + -0xc) = 1;\n    *(char **)(puVar25 + -0x10) = fmt;\n    *(undefined4 *)(puVar25 + -0x14) = 0x340e9;\n    fwrite(*(void **)(puVar25 + -0x10),*(size_t *)(puVar25 + -0xc),*(size_t *)(puVar25 + -8),\n           *(FILE **)(puVar25 + -4));\n    bVar12 = *(byte *)((int)&pbVar28->filename + 1);\n  }" if (parenthesized_expression "((bfd *)fmt != pbVar29)" ( (binary_expression "(bfd *)fmt != pbVar29" (cast_expression "(bfd *)fmt" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) (compound_statement "{\n    *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + 0x150);\n    *(int *)(puVar25 + -8) = (int)pbVar29 - (int)fmt;\n    *(undefined4 *)(puVar25 + -0xc) = 1;\n    *(char **)(puVar25 + -0x10) = fmt;\n    *(undefined4 *)(puVar25 + -0x14) = 0x340e9;\n    fwrite(*(void **)(puVar25 + -0x10),*(size_t *)(puVar25 + -0xc),*(size_t *)(puVar25 + -8),\n           *(FILE **)(puVar25 + -4));\n    bVar12 = *(byte *)((int)&pbVar28->filename + 1);\n  }" { (expression_statement "*(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + 0x150);" (assignment_expression "*(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + 0x150)" (pointer_expression "*(undefined4 *)(puVar25 + -4)" * (cast_expression "(undefined4 *)(puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -4)" ( (binary_expression "puVar25 + -4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x150)" * (cast_expression "(undefined4 *)(puVar25 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x150)" ( (binary_expression "puVar25 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar25 + -8) = (int)pbVar29 - (int)fmt;" (assignment_expression "*(int *)(puVar25 + -8) = (int)pbVar29 - (int)fmt" (pointer_expression "*(int *)(puVar25 + -8)" * (cast_expression "(int *)(puVar25 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) = (binary_expression "(int)pbVar29 - (int)fmt" (cast_expression "(int)pbVar29" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)fmt" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar25 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar25 + -0xc)" * (cast_expression "(undefined4 *)(puVar25 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar25 + -0x10) = fmt;" (assignment_expression "*(char **)(puVar25 + -0x10) = fmt" (pointer_expression "*(char **)(puVar25 + -0x10)" * (cast_expression "(char **)(puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x340e9;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x340e9" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fwrite(*(void **)(puVar25 + -0x10),*(size_t *)(puVar25 + -0xc),*(size_t *)(puVar25 + -8),\n           *(FILE **)(puVar25 + -4));" (call_expression "fwrite(*(void **)(puVar25 + -0x10),*(size_t *)(puVar25 + -0xc),*(size_t *)(puVar25 + -8),\n           *(FILE **)(puVar25 + -4))" identifier (argument_list "(*(void **)(puVar25 + -0x10),*(size_t *)(puVar25 + -0xc),*(size_t *)(puVar25 + -8),\n           *(FILE **)(puVar25 + -4))" ( (pointer_expression "*(void **)(puVar25 + -0x10)" * (cast_expression "(void **)(puVar25 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar25 + -0xc)" * (cast_expression "(size_t *)(puVar25 + -0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar25 + -8)" * (cast_expression "(size_t *)(puVar25 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar25 + -4)" * (cast_expression "(FILE **)(puVar25 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -4)" ( (binary_expression "puVar25 + -4" identifier + number_literal) )))) ))) ;) (expression_statement "bVar12 = *(byte *)((int)&pbVar28->filename + 1);" (assignment_expression "bVar12 = *(byte *)((int)&pbVar28->filename + 1)" identifier = (pointer_expression "*(byte *)((int)&pbVar28->filename + 1)" * (cast_expression "(byte *)((int)&pbVar28->filename + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar28->filename + 1)" ( (binary_expression "(int)&pbVar28->filename + 1" (cast_expression "(int)&pbVar28->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar28->filename" & (field_expression "pbVar28->filename" identifier -> field_identifier))) + number_literal) ))))) ;) })) (expression_statement "fmt = (char *)pbVar29;" (assignment_expression "fmt = (char *)pbVar29" identifier = (cast_expression "(char *)pbVar29" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (bVar12 != 0x25) goto joined_r0x000340a6;" if (parenthesized_expression "(bVar12 != 0x25)" ( (binary_expression "bVar12 != 0x25" identifier != number_literal) )) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) (labeled_statement "LAB_00034170:\n  bVar12 = *(byte *)((int)&((bfd *)fmt)->filename + 1);" statement_identifier : (expression_statement "bVar12 = *(byte *)((int)&((bfd *)fmt)->filename + 1);" (assignment_expression "bVar12 = *(byte *)((int)&((bfd *)fmt)->filename + 1)" identifier = (pointer_expression "*(byte *)((int)&((bfd *)fmt)->filename + 1)" * (cast_expression "(byte *)((int)&((bfd *)fmt)->filename + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((bfd *)fmt)->filename + 1)" ( (binary_expression "(int)&((bfd *)fmt)->filename + 1" (cast_expression "(int)&((bfd *)fmt)->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((bfd *)fmt)->filename" & (field_expression "((bfd *)fmt)->filename" (parenthesized_expression "((bfd *)fmt)" ( (cast_expression "(bfd *)fmt" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) + number_literal) ))))) ;)) (expression_statement "pbVar30 = (bfd *)((int)&((bfd *)fmt)->filename + 1);" (assignment_expression "pbVar30 = (bfd *)((int)&((bfd *)fmt)->filename + 1)" identifier = (cast_expression "(bfd *)((int)&((bfd *)fmt)->filename + 1)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((bfd *)fmt)->filename + 1)" ( (binary_expression "(int)&((bfd *)fmt)->filename + 1" (cast_expression "(int)&((bfd *)fmt)->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((bfd *)fmt)->filename" & (field_expression "((bfd *)fmt)->filename" (parenthesized_expression "((bfd *)fmt)" ( (cast_expression "(bfd *)fmt" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) + number_literal) )))) ;) (expression_statement "*(int *)(puVar25 + 8) = (int)(char)bVar12;" (assignment_expression "*(int *)(puVar25 + 8) = (int)(char)bVar12" (pointer_expression "*(int *)(puVar25 + 8)" * (cast_expression "(int *)(puVar25 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 8)" ( (binary_expression "puVar25 + 8" identifier + number_literal) )))) = (cast_expression "(int)(char)bVar12" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar12" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (if_statement "if (bVar12 == 0x30) {\n    *(undefined4 *)(puVar25 + 8) = 0x30;\n    fmt = (char *)((int)&((bfd *)fmt)->filename + 2);\n    goto _L48;\n  }" if (parenthesized_expression "(bVar12 == 0x30)" ( (binary_expression "bVar12 == 0x30" identifier == number_literal) )) (compound_statement "{\n    *(undefined4 *)(puVar25 + 8) = 0x30;\n    fmt = (char *)((int)&((bfd *)fmt)->filename + 2);\n    goto _L48;\n  }" { (expression_statement "*(undefined4 *)(puVar25 + 8) = 0x30;" (assignment_expression "*(undefined4 *)(puVar25 + 8) = 0x30" (pointer_expression "*(undefined4 *)(puVar25 + 8)" * (cast_expression "(undefined4 *)(puVar25 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 8)" ( (binary_expression "puVar25 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fmt = (char *)((int)&((bfd *)fmt)->filename + 2);" (assignment_expression "fmt = (char *)((int)&((bfd *)fmt)->filename + 2)" identifier = (cast_expression "(char *)((int)&((bfd *)fmt)->filename + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((bfd *)fmt)->filename + 2)" ( (binary_expression "(int)&((bfd *)fmt)->filename + 2" (cast_expression "(int)&((bfd *)fmt)->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((bfd *)fmt)->filename" & (field_expression "((bfd *)fmt)->filename" (parenthesized_expression "((bfd *)fmt)" ( (cast_expression "(bfd *)fmt" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) + number_literal) )))) ;) (goto_statement "goto _L48;" goto statement_identifier ;) })) (expression_statement "pbVar28 = *(bfd **)(puVar25 + 0xc);" (assignment_expression "pbVar28 = *(bfd **)(puVar25 + 0xc)" identifier = (pointer_expression "*(bfd **)(puVar25 + 0xc)" * (cast_expression "(bfd **)(puVar25 + 0xc)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0xc)" ( (binary_expression "puVar25 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar23 = *(int *)(puVar25 + 4);" (assignment_expression "iVar23 = *(int *)(puVar25 + 4)" identifier = (pointer_expression "*(int *)(puVar25 + 4)" * (cast_expression "(int *)(puVar25 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 4)" ( (binary_expression "puVar25 + 4" identifier + number_literal) ))))) ;) (if_statement "if (((*(byte *)((int)&pbVar28->filename + (uint)bVar12 * 2) & 4) != 0) &&\n     (*(char *)((int)&((bfd *)fmt)->filename + 2) == '$')) {\n    bVar12 = *(byte *)((int)&((bfd *)fmt)->filename + 3);\n    iVar23 = *(int *)(puVar25 + 8);\n    pbVar30 = (bfd *)((int)&((bfd *)fmt)->filename + 3);\n    *(int *)(puVar25 + 8) = (int)(char)bVar12;\n    iVar23 = iVar23 + -0x31;\n  }" if (parenthesized_expression "(((*(byte *)((int)&pbVar28->filename + (uint)bVar12 * 2) & 4) != 0) &&\n     (*(char *)((int)&((bfd *)fmt)->filename + 2) == '$'))" ( (binary_expression "((*(byte *)((int)&pbVar28->filename + (uint)bVar12 * 2) & 4) != 0) &&\n     (*(char *)((int)&((bfd *)fmt)->filename + 2) == '$')" (parenthesized_expression "((*(byte *)((int)&pbVar28->filename + (uint)bVar12 * 2) & 4) != 0)" ( (binary_expression "(*(byte *)((int)&pbVar28->filename + (uint)bVar12 * 2) & 4) != 0" (parenthesized_expression "(*(byte *)((int)&pbVar28->filename + (uint)bVar12 * 2) & 4)" ( (binary_expression "*(byte *)((int)&pbVar28->filename + (uint)bVar12 * 2) & 4" (pointer_expression "*(byte *)((int)&pbVar28->filename + (uint)bVar12 * 2)" * (cast_expression "(byte *)((int)&pbVar28->filename + (uint)bVar12 * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar28->filename + (uint)bVar12 * 2)" ( (binary_expression "(int)&pbVar28->filename + (uint)bVar12 * 2" (cast_expression "(int)&pbVar28->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar28->filename" & (field_expression "pbVar28->filename" identifier -> field_identifier))) + (binary_expression "(uint)bVar12 * 2" (cast_expression "(uint)bVar12" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(*(char *)((int)&((bfd *)fmt)->filename + 2) == '$')" ( (binary_expression "*(char *)((int)&((bfd *)fmt)->filename + 2) == '$'" (pointer_expression "*(char *)((int)&((bfd *)fmt)->filename + 2)" * (cast_expression "(char *)((int)&((bfd *)fmt)->filename + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((bfd *)fmt)->filename + 2)" ( (binary_expression "(int)&((bfd *)fmt)->filename + 2" (cast_expression "(int)&((bfd *)fmt)->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((bfd *)fmt)->filename" & (field_expression "((bfd *)fmt)->filename" (parenthesized_expression "((bfd *)fmt)" ( (cast_expression "(bfd *)fmt" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) + number_literal) )))) == (char_literal "'$'" ' character ')) ))) )) (compound_statement "{\n    bVar12 = *(byte *)((int)&((bfd *)fmt)->filename + 3);\n    iVar23 = *(int *)(puVar25 + 8);\n    pbVar30 = (bfd *)((int)&((bfd *)fmt)->filename + 3);\n    *(int *)(puVar25 + 8) = (int)(char)bVar12;\n    iVar23 = iVar23 + -0x31;\n  }" { (expression_statement "bVar12 = *(byte *)((int)&((bfd *)fmt)->filename + 3);" (assignment_expression "bVar12 = *(byte *)((int)&((bfd *)fmt)->filename + 3)" identifier = (pointer_expression "*(byte *)((int)&((bfd *)fmt)->filename + 3)" * (cast_expression "(byte *)((int)&((bfd *)fmt)->filename + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((bfd *)fmt)->filename + 3)" ( (binary_expression "(int)&((bfd *)fmt)->filename + 3" (cast_expression "(int)&((bfd *)fmt)->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((bfd *)fmt)->filename" & (field_expression "((bfd *)fmt)->filename" (parenthesized_expression "((bfd *)fmt)" ( (cast_expression "(bfd *)fmt" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) + number_literal) ))))) ;) (expression_statement "iVar23 = *(int *)(puVar25 + 8);" (assignment_expression "iVar23 = *(int *)(puVar25 + 8)" identifier = (pointer_expression "*(int *)(puVar25 + 8)" * (cast_expression "(int *)(puVar25 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 8)" ( (binary_expression "puVar25 + 8" identifier + number_literal) ))))) ;) (expression_statement "pbVar30 = (bfd *)((int)&((bfd *)fmt)->filename + 3);" (assignment_expression "pbVar30 = (bfd *)((int)&((bfd *)fmt)->filename + 3)" identifier = (cast_expression "(bfd *)((int)&((bfd *)fmt)->filename + 3)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((bfd *)fmt)->filename + 3)" ( (binary_expression "(int)&((bfd *)fmt)->filename + 3" (cast_expression "(int)&((bfd *)fmt)->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((bfd *)fmt)->filename" & (field_expression "((bfd *)fmt)->filename" (parenthesized_expression "((bfd *)fmt)" ( (cast_expression "(bfd *)fmt" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) + number_literal) )))) ;) (expression_statement "*(int *)(puVar25 + 8) = (int)(char)bVar12;" (assignment_expression "*(int *)(puVar25 + 8) = (int)(char)bVar12" (pointer_expression "*(int *)(puVar25 + 8)" * (cast_expression "(int *)(puVar25 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 8)" ( (binary_expression "puVar25 + 8" identifier + number_literal) )))) = (cast_expression "(int)(char)bVar12" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar12" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "iVar23 = iVar23 + -0x31;" (assignment_expression "iVar23 = iVar23 + -0x31" identifier = (binary_expression "iVar23 + -0x31" identifier + number_literal)) ;) })) (expression_statement "fmt = (char *)((int)&pbVar30->filename + 1);" (assignment_expression "fmt = (char *)((int)&pbVar30->filename + 1)" identifier = (cast_expression "(char *)((int)&pbVar30->filename + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar30->filename + 1)" ( (binary_expression "(int)&pbVar30->filename + 1" (cast_expression "(int)&pbVar30->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar30->filename" & (field_expression "pbVar30->filename" identifier -> field_identifier))) + number_literal) )))) ;) (switch_statement "switch(bVar12) {\n  case 0:\n    fmt = (char *)pbVar30;\n  case 0x25:\n    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n    *(undefined4 *)(puVar25 + -0x10) = 0x25;\n    *(undefined4 *)(puVar25 + -0x14) = 0x34207;\n    putc(*(int *)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n    bVar12 = *(byte *)&((bfd *)fmt)->filename;\n    goto joined_r0x000340a6;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    iVar23 = iVar23 * 0x10;\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    pbVar28 = *(bfd **)(puVar25 + iVar23 + 0xa0);\n    *(undefined4 *)(puVar25 + 0x1c) = *(undefined4 *)(puVar25 + iVar23 + 0xa4);\n    uVar18 = *(undefined4 *)(puVar25 + iVar23 + 0xac);\n    *(undefined4 *)(puVar25 + 0x20) = *(undefined4 *)(puVar25 + iVar23 + 0xa8);\n    *(undefined4 *)(puVar25 + 0x24) = uVar18;\n    if (pbVar28 == (bfd *)0x0) {\nLAB_00034747:\n      *(bfd **)(puVar25 + -8) = pbVar28;\n      *(undefined **)(puVar25 + -0xc) = &DAT_0007d36d;\n      *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n      *(undefined4 *)(puVar25 + -0x14) = 0x3475e;\n      lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n      *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x24);\n      *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 0x20);\n      *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(puVar25 + 0x1c);\n      *(char **)(puVar25 + -0x1c) = "(%pA+0x%v)";\n      *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n      *(undefined4 *)(puVar25 + -0x24) = 0x3477e;\n      lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n    }\n    else {\n      *(bfd **)(puVar25 + -0x10) = pbVar28;\n      *(undefined4 *)(puVar25 + -0x14) = 0x34331;\n      iVar23 = bfd_generic_link_read_symbols();\n      if (iVar23 == 0) {\n        *(undefined4 *)(puVar25 + -8) = 5;\n        *(char **)(puVar25 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar25 + -0x10) = 0;\n        *(undefined4 *)(puVar25 + -0x14) = 0x349f8;\n        uVar18 = dcgettext();\n        *(bfd **)(puVar25 + -0xc) = pbVar28;\n        *(undefined4 *)(puVar25 + -0x10) = uVar18;\n        *(undefined4 *)(puVar25 + -0x14) = 0x34a01;\n        einfo(*(char **)(puVar25 + -0x10));\n      }\n      pbVar5 = pbVar28->xvec;\n      *(undefined4 *)(puVar25 + -0x10) = 0;\n      *(undefined1 **)(puVar25 + -0x14) = puVar25 + 0x3c;\n      *(undefined1 **)(puVar25 + -0x18) = puVar25 + 0x38;\n      *(undefined1 **)(puVar25 + -0x1c) = puVar25 + 0x34;\n      *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x24);\n      *(undefined4 *)(puVar25 + -0x24) = *(undefined4 *)(puVar25 + 0x20);\n      *(undefined4 *)(puVar25 + -0x28) = *(undefined4 *)(puVar25 + 0x1c);\n      *(bfd_symbol ***)(puVar25 + -0x2c) = pbVar28->outsymbols;\n      *(bfd **)(puVar25 + -0x30) = pbVar28;\n      p_Var6 = pbVar5->_bfd_find_nearest_line;\n      *(undefined4 *)(puVar25 + -0x34) = 0x34369;\n      bVar16 = (*p_Var6)(*(bfd **)(puVar25 + -0x30),*(bfd_symbol ***)(puVar25 + -0x2c),\n                         *(bfd_section **)(puVar25 + -0x28),*(bfd_vma *)(puVar25 + -0x24),\n                         *(char ***)(puVar25 + -0x1c),*(char ***)(puVar25 + -0x18),\n                         *(uint **)(puVar25 + -0x14),*(uint **)(puVar25 + -0x10));\n      if (bVar16 == 0) goto LAB_00034747;\n      iVar23 = *(int *)(puVar25 + 0x38);\n      *(int *)(puVar25 + 8) = iVar23;\n      if ((iVar23 == 0) ||\n         ((*(char *)&pbVar30->filename != 'C' && (*(char *)&pbVar30->filename != 'H')))) {\n        *(bfd **)(puVar25 + -8) = pbVar28;\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d36d;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x343aa;\n        lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        *(undefined4 *)(puVar25 + 0x18) = 1;\nLAB_000343b5:\n        if (*(int *)(puVar25 + 0x34) == 0) {\n          iVar23 = *(int *)(puVar25 + 0x38);\n          goto LAB_00034a0d;\n        }\n        *(int *)(puVar25 + -8) = *(int *)(puVar25 + 0x34);\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d779;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x343d8;\n        fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        iVar23 = *(int *)(puVar25 + 0x38);\n        if ((iVar23 != 0) && (*(char *)&pbVar30->filename == 'G')) goto LAB_00034a20;\n        if ((*(int *)(puVar25 + 0x34) == 0) || (iVar23 = *(int *)(puVar25 + 0x3c), iVar23 == 0))\n        goto LAB_00034902;\n        if (*(char *)&pbVar30->filename == 'H') {\n          *(undefined **)(puVar25 + -4) = &DAT_0007b12f;\n          *(int *)(puVar25 + -8) = iVar23;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d7d0;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x348ff;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n          goto LAB_00034902;\n        }\n        *(char **)(puVar25 + -4) = "";\n        *(int *)(puVar25 + -8) = iVar23;\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d7d0;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x3442b;\n        fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n      }\n      else {\n        if (((vfinfo::lexical_block_14::lexical_block_14_4::last_bfd == (bfd *)0x0) ||\n            (vfinfo::lexical_block_14::lexical_block_14_4::last_function == (char *)0x0)) ||\n           (vfinfo::lexical_block_14::lexical_block_14_4::last_bfd != pbVar28)) {\nLAB_00034800:\n          *(undefined4 *)(puVar25 + -8) = 5;\n          *(char **)(puVar25 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar25 + -0x10) = 0;\n          *(undefined4 *)(puVar25 + -0x14) = 0x34813;\n          uVar18 = dcgettext();\n          *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 8);\n          *(bfd **)(puVar25 + -0x18) = pbVar28;\n          *(undefined4 *)(puVar25 + -0x1c) = uVar18;\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x34825;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n          vfinfo::lexical_block_14::lexical_block_14_4::last_bfd = pbVar28;\n          if (vfinfo::lexical_block_14::lexical_block_14_4::last_file != (char *)0x0) {\n            *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34841;\n            free(*(void **)(puVar25 + -0x10));\n          }\n          vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)0x0;\n          if (*(int *)(puVar25 + 0x34) != 0) {\n            *(int *)(puVar25 + -0x10) = *(int *)(puVar25 + 0x34);\n            *(undefined4 *)(puVar25 + -0x14) = 0x3485f;\n            vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)xstrdup();\n          }\n          if (vfinfo::lexical_block_14::lexical_block_14_4::last_function != (char *)0x0) {\n            *(char **)(puVar25 + -0x10) =\n                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n            *(undefined4 *)(puVar25 + -0x14) = 0x3487b;\n            free(*(void **)(puVar25 + -0x10));\n          }\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x38);\n          *(undefined4 *)(puVar25 + -0x14) = 0x3488a;\n          vfinfo::lexical_block_14::lexical_block_14_4::last_function = (char *)xstrdup();\n          *(undefined4 *)(puVar25 + 0x18) = 0;\n          goto LAB_000343b5;\n        }\n        iVar20 = *(int *)(puVar25 + 0x34);\n        *(char **)(puVar25 + 0x18) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n        puVar25[0x28] = vfinfo::lexical_block_14::lexical_block_14_4::last_file == (char *)0x0;\n        puVar25[0x2f] = iVar20 == 0;\n        if (puVar25[0x28] != puVar25[0x2f]) goto LAB_00034800;\n        if (iVar20 != 0) {\n          *(int *)(puVar25 + -4) = iVar23;\n          *(int *)(puVar25 + -8) = iVar23;\n          *(int *)(puVar25 + -0xc) = iVar20;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x18);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34c8b;\n          uVar31 = filename_cmp();\n          uVar18 = (undefined4)((ulonglong)uVar31 >> 0x20);\n          *(undefined4 *)(puVar25 + 8) = *(undefined4 *)(puVar25 + 0x38);\n          if ((int)uVar31 == 0) {\n            *(undefined4 *)(puVar25 + -4) = uVar18;\n            *(undefined4 *)(puVar25 + -8) = uVar18;\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x38);\n            *(char **)(puVar25 + -0x10) =\n                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34cac;\n            iVar23 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n            *(int *)(puVar25 + 0x18) = iVar23;\n            if (iVar23 == 0) goto LAB_000343b5;\n          }\n          goto LAB_00034800;\n        }\n        *(int *)(puVar25 + 8) = iVar23;\n        *(undefined4 *)(puVar25 + -4) = 0;\n        *(undefined4 *)(puVar25 + -8) = 0;\n        *(int *)(puVar25 + -0xc) = iVar23;\n        *(int *)(puVar25 + 0x28) = iVar23;\n        *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n        *(undefined4 *)(puVar25 + -0x14) = 0x34cd6;\n        iVar20 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        iVar23 = *(int *)(puVar25 + 0x28);\n        *(int *)(puVar25 + 0x18) = iVar20;\n        if (iVar20 != 0) goto LAB_00034800;\nLAB_00034a0d:\n        if ((*(char *)&pbVar30->filename == 'G') && (iVar23 != 0)) {\nLAB_00034a20:\n          *(int *)(puVar25 + -8) = iVar23;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d77d;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34a37;\n          lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n        else {\nLAB_00034902:\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x24);\n          *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 0x20);\n          *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(puVar25 + 0x1c);\n          *(char **)(puVar25 + -0x1c) = "(%pA+0x%v)";\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x34924;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n        }\n      }\n      if (*(int *)(puVar25 + 0x18) == 0) goto LAB_0003443a;\n    }\n    vfinfo::lexical_block_14::lexical_block_14_4::last_bfd = (bfd *)0x0;\n    if (vfinfo::lexical_block_14::lexical_block_14_4::last_file != (char *)0x0) {\n      *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n      *(undefined4 *)(puVar25 + -0x14) = 0x3479e;\n      free(*(void **)(puVar25 + -0x10));\n      vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)0x0;\n    }\n    if (vfinfo::lexical_block_14::lexical_block_14_4::last_function != (char *)0x0) {\n      *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n      *(undefined4 *)(puVar25 + -0x14) = 0x347c2;\n      free(*(void **)(puVar25 + -0x10));\n      vfinfo::lexical_block_14::lexical_block_14_4::last_function = (char *)0x0;\n    }\nLAB_0003443a:\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  case 0x45:\n    *(undefined4 *)(puVar25 + -4) = 0x3444a;\n    uVar18 = bfd_get_error();\n    *(undefined4 *)(puVar25 + -0x10) = uVar18;\n    *(undefined4 *)(puVar25 + -0x14) = 0x34453;\n    uVar18 = bfd_errmsg();\n    pbVar28 = *(bfd **)(puVar25 + -0xc);\n    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n    *(undefined4 *)(puVar25 + -0x10) = uVar18;\n    *(undefined4 *)(puVar25 + -0x14) = 0x34462;\n    fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  case 0x46:\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    *(undefined4 *)(puVar25 + 0x10) = 1;\n    goto joined_r0x000340a6;\n  case 0x50:\n    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n    *(char **)(puVar25 + -0x10) = program_name;\n    *(undefined4 *)(puVar25 + -0x14) = 0x34695;\n    fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  case 0x56:\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    pcVar27 = "%016llx";\n    *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n    break;\n  case 0x57:\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n    *(char **)(puVar25 + -0xc) = "%016llx";\n    pcVar27 = puVar25 + 0x3c;\n    *(char **)(puVar25 + -0x10) = pcVar27;\n    *(undefined4 *)(puVar25 + -0x14) = 0x345d0;\n    sprintf(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n    cVar2 = puVar25[0x3c];\n    while (cVar2 == '0') {\n      pcVar27 = pcVar27 + 1;\n      cVar2 = *pcVar27;\n    }\n    pbVar28 = (bfd *)(pcVar27 + -(uint)(cVar2 == '\0'));\n    *(bfd **)(puVar25 + -0x10) = pbVar28;\n    *(undefined4 *)(puVar25 + -0x14) = 0x345f5;\n    sVar17 = strlen(*(char **)(puVar25 + -0x10));\n    if (sVar17 < 8) {\n      *(bfd **)(puVar25 + 8) = pbVar30;\n      uVar18 = *(undefined4 *)(puVar25 + 0x150);\n      *(char **)(puVar25 + 0x18) = fmt;\n      do {\n        sVar17 = sVar17 + 1;\n        *(undefined4 *)(puVar25 + -0xc) = uVar18;\n        *(undefined4 *)(puVar25 + -0x10) = 0x20;\n        *(undefined4 *)(puVar25 + -0x14) = 0x3461c;\n        putc(*(int *)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n      } while (sVar17 != 8);\n      pbVar30 = *(bfd **)(puVar25 + 8);\n      fmt = *(char **)(puVar25 + 0x18);\n    }\n    pcVar27 = "0x%s";\n    *(bfd **)(puVar25 + -8) = pbVar28;\n    break;\n  case 0x58:\n    config.make_executable = 0;\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  case 100:\n    puVar15 = &DAT_0006c013;\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n    goto LAB_000344af;\n  case 0x6c:\n    cVar2 = *(char *)((int)&pbVar30->filename + 1);\n    if (cVar2 == 'd') {\n      puVar15 = &DAT_0007d7c3;\n      *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\nLAB_000342cd:\n      *(undefined **)(puVar25 + -0xc) = puVar15;\n      *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n      *(undefined4 *)(puVar25 + -0x14) = 0x342dd;\n      fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n      *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n      bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n      fmt = (char *)((int)&pbVar30->filename + 2);\n      goto joined_r0x000340a6;\n    }\n    if (cVar2 == 'u') {\n      puVar15 = &DAT_0007d7c7;\n      *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n      goto LAB_000342cd;\n    }\n  default:\n_L48:\n    pcVar27 = "%%%c";\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + 8);\n    break;\n  case 0x70:\n    cVar2 = *(char *)((int)&pbVar30->filename + 1);\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    if (cVar2 == 'A') {\n      pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n      puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n      pbVar28 = (bfd *)puVar7[0x2b];\n      *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n      *(undefined4 *)(puVar25 + -0x10) = *puVar7;\n      *(undefined4 **)(puVar25 + 8) = puVar7;\n      *(undefined4 *)(puVar25 + -0x14) = 0x34a7f;\n      fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n      iVar23 = *(int *)(puVar25 + 8);\n      if (pbVar28 != (bfd *)0x0) {\n        bVar9 = pbVar28->xvec->flavour;\n        if (bVar9 == bfd_target_elf_flavour) {\n          pbVar28 = *(bfd **)(*(int *)(iVar23 + 0xa4) + 0x8c);\n          if ((pbVar28 == (bfd *)0x0) || ((*(byte *)(iVar23 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar23 = *(int *)(*(int *)(iVar23 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((bVar9 != bfd_target_coff_flavour) ||\n               (*(int *)(*(int *)(*(int *)(iVar23 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar23 + 0xa4) == 0)) ||\n             (piVar10 = *(int **)(*(int *)(iVar23 + 0xa4) + 0x2c), piVar10 == (int *)0x0))\n          goto LAB_000349da;\n          iVar23 = *piVar10;\n        }\n        if (iVar23 != 0) {\n          puVar26 = puVar25 + -8;\n          *(int *)(puVar25 + -8) = iVar23;\n          pcVar27 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }\n    }\n    else {\n      if (cVar2 == 'B') {\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        if (puVar7 == (undefined4 *)0x0) {\n          puVar26 = puVar25 + -8;\n          *(char **)(puVar25 + -8) = program_name;\n          pcVar27 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar7[0x23];\n          pcVar27 = (char *)*puVar7;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\nLAB_00034957:\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n            *(char **)(puVar25 + -0x10) = pcVar27;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34967;\n            fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n            fmt = (char *)((int)&pbVar30->filename + 2);\n            bVar12 = *(byte *)&((bfd *)fmt)->filename;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar25 + -4) = pcVar27;\n          puVar26 = puVar25 + -8;\n          *(undefined4 *)(puVar25 + -8) = *puVar8;\n          pcVar27 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar26 + -4) = pcVar27;\n        *(undefined4 *)(puVar26 + -8) = *(undefined4 *)(puVar26 + 0x158);\n        *(undefined4 *)(puVar26 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar26 + -8),*(char **)(puVar26 + -4));\n        bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n        puVar25 = puVar26 + 8;\n        fmt = (char *)pbVar29;\n        goto joined_r0x000340a6;\n      }\n      if (cVar2 == 'I') {\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        pbVar28 = *(bfd **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        pbVar19 = pbVar28->lru_prev->my_archive;\n        if ((pbVar19 != (bfd *)0x0) && ((pbVar19->field_0x2c & 1) == 0)) {\nLAB_00034be8:\n          *(char **)(puVar25 + -8) = pbVar19->filename;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n        *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n        *(bfd_iovec **)(puVar25 + -0x10) = pbVar28->iovec;\n        *(undefined4 *)(puVar25 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n        pbVar19 = pbVar28->lru_prev->my_archive;\n        if ((pbVar19 == (bfd *)0x0) || ((pbVar19->field_0x2c & 1) != 0)) {\n          *(void **)(puVar25 + -0xc) = pbVar28->iostream;\n          *(bfd_iovec **)(puVar25 + -0x10) = pbVar28->iovec;\n          *(undefined4 *)(puVar25 + -0x14) = 0x349cf;\n          iVar23 = filename_cmp();\n          if (iVar23 != 0) {\n            pcVar27 = " (%s)";\n            puVar26 = puVar25 + -8;\n            *(void **)(puVar25 + -8) = pbVar28->iostream;\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (cVar2 == 'R') {\n          puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar7[5] + 0x20);\n          *(undefined4 *)(puVar25 + -0x10) = puVar7[4];\n          *(undefined4 *)(puVar25 + -0x14) = puVar7[3];\n          *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(*(int *)*puVar7 + 4);\n          *(char **)(puVar25 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x348d6;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n          bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n          fmt = (char *)((int)&pbVar30->filename + 2);\n          goto joined_r0x000340a6;\n        }\n        if (cVar2 != 'S') {\n          if (cVar2 != 'T') {\n            pcVar27 = "%p";\n            *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n          pcVar27 = *(char **)(puVar25 + iVar23 * 0x10 + 0xa0);\n          if ((pcVar27 != (char *)0x0) && (*pcVar27 != '\0')) {\n            pbVar28 = (bfd *)**(undefined4 **)(puVar25 + 0x14);\n            if (pbVar28 != (bfd *)0x0) {\n              *(undefined4 *)(puVar25 + -8) = 3;\n              *(char **)(puVar25 + -0xc) = pcVar27;\n              *(char **)(puVar25 + 8) = pcVar27;\n              *(bfd **)(puVar25 + -0x10) = link_info.output_bfd;\n              *(undefined4 *)(puVar25 + -0x14) = 0x3454c;\n              pbVar28 = (bfd *)bfd_demangle();\n              pcVar27 = *(char **)(puVar25 + 8);\n              if (pbVar28 != (bfd *)0x0) {\n                *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x3456d;\n                fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x34575;\n                free(*(void **)(puVar25 + -0x10));\n                bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n                fmt = (char *)pbVar29;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto LAB_00034957;\n          }\n          *(undefined4 *)(puVar25 + -8) = 5;\n          *(char **)(puVar25 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar25 + -0x10) = 0;\n          *(undefined4 *)(puVar25 + -0x14) = 0x34b14;\n          pcVar27 = (char *)dcgettext();\n          puVar26 = puVar25 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        puVar24 = *(undefined1 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        if (puVar24 == (undefined1 *)0x0) {\n          *(undefined4 *)(puVar25 + -4) = 0x34c1e;\n          pcVar27 = ldlex_filename();\n          *(char **)(puVar25 + 0x44) = pcVar27;\n          *(uint *)(puVar25 + 0x40) = lineno;\n          puVar24 = puVar25 + 0x3c;\n        }\n        else {\n          pcVar27 = *(char **)(puVar24 + 8);\n        }\n        if (pcVar27 != (char *)0x0) {\n          *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar24 + 4);\n          *(char **)(puVar25 + -8) = pcVar27;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d7b0;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34b67;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n      }\n    }\nLAB_000349da:\n    bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n    fmt = (char *)pbVar29;\n    goto joined_r0x000340a6;\n  case 0x73:\n    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n    *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n    *(undefined4 *)(puVar25 + -0x14) = 0x34489;\n    fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  case 0x75:\n    puVar15 = &DAT_0007d7b3;\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\nLAB_000344af:\n    *(undefined **)(puVar25 + -0xc) = puVar15;\n    *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n    *(undefined4 *)(puVar25 + -0x14) = 0x344bc;\n    fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  case 0x76:\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n    *(char **)(puVar25 + -0xc) = "%016llx";\n    pcVar27 = puVar25 + 0x3c;\n    *(char **)(puVar25 + -0x10) = pcVar27;\n    *(undefined4 *)(puVar25 + -0x14) = 0x3426c;\n    sprintf(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n    cVar2 = puVar25[0x3c];\n    while (cVar2 == '0') {\n      pcVar27 = pcVar27 + 1;\n      cVar2 = *pcVar27;\n    }\n    pbVar28 = (bfd *)(pcVar27 + -(uint)(cVar2 == '\0'));\n    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n    *(bfd **)(puVar25 + -0x10) = pbVar28;\n    *(undefined4 *)(puVar25 + -0x14) = 0x34298;\n    fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  }" switch (parenthesized_expression "(bVar12)" ( identifier )) (compound_statement "{\n  case 0:\n    fmt = (char *)pbVar30;\n  case 0x25:\n    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n    *(undefined4 *)(puVar25 + -0x10) = 0x25;\n    *(undefined4 *)(puVar25 + -0x14) = 0x34207;\n    putc(*(int *)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n    bVar12 = *(byte *)&((bfd *)fmt)->filename;\n    goto joined_r0x000340a6;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    iVar23 = iVar23 * 0x10;\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    pbVar28 = *(bfd **)(puVar25 + iVar23 + 0xa0);\n    *(undefined4 *)(puVar25 + 0x1c) = *(undefined4 *)(puVar25 + iVar23 + 0xa4);\n    uVar18 = *(undefined4 *)(puVar25 + iVar23 + 0xac);\n    *(undefined4 *)(puVar25 + 0x20) = *(undefined4 *)(puVar25 + iVar23 + 0xa8);\n    *(undefined4 *)(puVar25 + 0x24) = uVar18;\n    if (pbVar28 == (bfd *)0x0) {\nLAB_00034747:\n      *(bfd **)(puVar25 + -8) = pbVar28;\n      *(undefined **)(puVar25 + -0xc) = &DAT_0007d36d;\n      *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n      *(undefined4 *)(puVar25 + -0x14) = 0x3475e;\n      lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n      *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x24);\n      *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 0x20);\n      *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(puVar25 + 0x1c);\n      *(char **)(puVar25 + -0x1c) = "(%pA+0x%v)";\n      *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n      *(undefined4 *)(puVar25 + -0x24) = 0x3477e;\n      lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n    }\n    else {\n      *(bfd **)(puVar25 + -0x10) = pbVar28;\n      *(undefined4 *)(puVar25 + -0x14) = 0x34331;\n      iVar23 = bfd_generic_link_read_symbols();\n      if (iVar23 == 0) {\n        *(undefined4 *)(puVar25 + -8) = 5;\n        *(char **)(puVar25 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar25 + -0x10) = 0;\n        *(undefined4 *)(puVar25 + -0x14) = 0x349f8;\n        uVar18 = dcgettext();\n        *(bfd **)(puVar25 + -0xc) = pbVar28;\n        *(undefined4 *)(puVar25 + -0x10) = uVar18;\n        *(undefined4 *)(puVar25 + -0x14) = 0x34a01;\n        einfo(*(char **)(puVar25 + -0x10));\n      }\n      pbVar5 = pbVar28->xvec;\n      *(undefined4 *)(puVar25 + -0x10) = 0;\n      *(undefined1 **)(puVar25 + -0x14) = puVar25 + 0x3c;\n      *(undefined1 **)(puVar25 + -0x18) = puVar25 + 0x38;\n      *(undefined1 **)(puVar25 + -0x1c) = puVar25 + 0x34;\n      *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x24);\n      *(undefined4 *)(puVar25 + -0x24) = *(undefined4 *)(puVar25 + 0x20);\n      *(undefined4 *)(puVar25 + -0x28) = *(undefined4 *)(puVar25 + 0x1c);\n      *(bfd_symbol ***)(puVar25 + -0x2c) = pbVar28->outsymbols;\n      *(bfd **)(puVar25 + -0x30) = pbVar28;\n      p_Var6 = pbVar5->_bfd_find_nearest_line;\n      *(undefined4 *)(puVar25 + -0x34) = 0x34369;\n      bVar16 = (*p_Var6)(*(bfd **)(puVar25 + -0x30),*(bfd_symbol ***)(puVar25 + -0x2c),\n                         *(bfd_section **)(puVar25 + -0x28),*(bfd_vma *)(puVar25 + -0x24),\n                         *(char ***)(puVar25 + -0x1c),*(char ***)(puVar25 + -0x18),\n                         *(uint **)(puVar25 + -0x14),*(uint **)(puVar25 + -0x10));\n      if (bVar16 == 0) goto LAB_00034747;\n      iVar23 = *(int *)(puVar25 + 0x38);\n      *(int *)(puVar25 + 8) = iVar23;\n      if ((iVar23 == 0) ||\n         ((*(char *)&pbVar30->filename != 'C' && (*(char *)&pbVar30->filename != 'H')))) {\n        *(bfd **)(puVar25 + -8) = pbVar28;\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d36d;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x343aa;\n        lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        *(undefined4 *)(puVar25 + 0x18) = 1;\nLAB_000343b5:\n        if (*(int *)(puVar25 + 0x34) == 0) {\n          iVar23 = *(int *)(puVar25 + 0x38);\n          goto LAB_00034a0d;\n        }\n        *(int *)(puVar25 + -8) = *(int *)(puVar25 + 0x34);\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d779;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x343d8;\n        fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        iVar23 = *(int *)(puVar25 + 0x38);\n        if ((iVar23 != 0) && (*(char *)&pbVar30->filename == 'G')) goto LAB_00034a20;\n        if ((*(int *)(puVar25 + 0x34) == 0) || (iVar23 = *(int *)(puVar25 + 0x3c), iVar23 == 0))\n        goto LAB_00034902;\n        if (*(char *)&pbVar30->filename == 'H') {\n          *(undefined **)(puVar25 + -4) = &DAT_0007b12f;\n          *(int *)(puVar25 + -8) = iVar23;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d7d0;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x348ff;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n          goto LAB_00034902;\n        }\n        *(char **)(puVar25 + -4) = "";\n        *(int *)(puVar25 + -8) = iVar23;\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d7d0;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x3442b;\n        fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n      }\n      else {\n        if (((vfinfo::lexical_block_14::lexical_block_14_4::last_bfd == (bfd *)0x0) ||\n            (vfinfo::lexical_block_14::lexical_block_14_4::last_function == (char *)0x0)) ||\n           (vfinfo::lexical_block_14::lexical_block_14_4::last_bfd != pbVar28)) {\nLAB_00034800:\n          *(undefined4 *)(puVar25 + -8) = 5;\n          *(char **)(puVar25 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar25 + -0x10) = 0;\n          *(undefined4 *)(puVar25 + -0x14) = 0x34813;\n          uVar18 = dcgettext();\n          *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 8);\n          *(bfd **)(puVar25 + -0x18) = pbVar28;\n          *(undefined4 *)(puVar25 + -0x1c) = uVar18;\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x34825;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n          vfinfo::lexical_block_14::lexical_block_14_4::last_bfd = pbVar28;\n          if (vfinfo::lexical_block_14::lexical_block_14_4::last_file != (char *)0x0) {\n            *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34841;\n            free(*(void **)(puVar25 + -0x10));\n          }\n          vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)0x0;\n          if (*(int *)(puVar25 + 0x34) != 0) {\n            *(int *)(puVar25 + -0x10) = *(int *)(puVar25 + 0x34);\n            *(undefined4 *)(puVar25 + -0x14) = 0x3485f;\n            vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)xstrdup();\n          }\n          if (vfinfo::lexical_block_14::lexical_block_14_4::last_function != (char *)0x0) {\n            *(char **)(puVar25 + -0x10) =\n                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n            *(undefined4 *)(puVar25 + -0x14) = 0x3487b;\n            free(*(void **)(puVar25 + -0x10));\n          }\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x38);\n          *(undefined4 *)(puVar25 + -0x14) = 0x3488a;\n          vfinfo::lexical_block_14::lexical_block_14_4::last_function = (char *)xstrdup();\n          *(undefined4 *)(puVar25 + 0x18) = 0;\n          goto LAB_000343b5;\n        }\n        iVar20 = *(int *)(puVar25 + 0x34);\n        *(char **)(puVar25 + 0x18) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n        puVar25[0x28] = vfinfo::lexical_block_14::lexical_block_14_4::last_file == (char *)0x0;\n        puVar25[0x2f] = iVar20 == 0;\n        if (puVar25[0x28] != puVar25[0x2f]) goto LAB_00034800;\n        if (iVar20 != 0) {\n          *(int *)(puVar25 + -4) = iVar23;\n          *(int *)(puVar25 + -8) = iVar23;\n          *(int *)(puVar25 + -0xc) = iVar20;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x18);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34c8b;\n          uVar31 = filename_cmp();\n          uVar18 = (undefined4)((ulonglong)uVar31 >> 0x20);\n          *(undefined4 *)(puVar25 + 8) = *(undefined4 *)(puVar25 + 0x38);\n          if ((int)uVar31 == 0) {\n            *(undefined4 *)(puVar25 + -4) = uVar18;\n            *(undefined4 *)(puVar25 + -8) = uVar18;\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x38);\n            *(char **)(puVar25 + -0x10) =\n                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34cac;\n            iVar23 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n            *(int *)(puVar25 + 0x18) = iVar23;\n            if (iVar23 == 0) goto LAB_000343b5;\n          }\n          goto LAB_00034800;\n        }\n        *(int *)(puVar25 + 8) = iVar23;\n        *(undefined4 *)(puVar25 + -4) = 0;\n        *(undefined4 *)(puVar25 + -8) = 0;\n        *(int *)(puVar25 + -0xc) = iVar23;\n        *(int *)(puVar25 + 0x28) = iVar23;\n        *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n        *(undefined4 *)(puVar25 + -0x14) = 0x34cd6;\n        iVar20 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        iVar23 = *(int *)(puVar25 + 0x28);\n        *(int *)(puVar25 + 0x18) = iVar20;\n        if (iVar20 != 0) goto LAB_00034800;\nLAB_00034a0d:\n        if ((*(char *)&pbVar30->filename == 'G') && (iVar23 != 0)) {\nLAB_00034a20:\n          *(int *)(puVar25 + -8) = iVar23;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d77d;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34a37;\n          lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n        else {\nLAB_00034902:\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x24);\n          *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 0x20);\n          *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(puVar25 + 0x1c);\n          *(char **)(puVar25 + -0x1c) = "(%pA+0x%v)";\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x34924;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n        }\n      }\n      if (*(int *)(puVar25 + 0x18) == 0) goto LAB_0003443a;\n    }\n    vfinfo::lexical_block_14::lexical_block_14_4::last_bfd = (bfd *)0x0;\n    if (vfinfo::lexical_block_14::lexical_block_14_4::last_file != (char *)0x0) {\n      *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n      *(undefined4 *)(puVar25 + -0x14) = 0x3479e;\n      free(*(void **)(puVar25 + -0x10));\n      vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)0x0;\n    }\n    if (vfinfo::lexical_block_14::lexical_block_14_4::last_function != (char *)0x0) {\n      *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n      *(undefined4 *)(puVar25 + -0x14) = 0x347c2;\n      free(*(void **)(puVar25 + -0x10));\n      vfinfo::lexical_block_14::lexical_block_14_4::last_function = (char *)0x0;\n    }\nLAB_0003443a:\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  case 0x45:\n    *(undefined4 *)(puVar25 + -4) = 0x3444a;\n    uVar18 = bfd_get_error();\n    *(undefined4 *)(puVar25 + -0x10) = uVar18;\n    *(undefined4 *)(puVar25 + -0x14) = 0x34453;\n    uVar18 = bfd_errmsg();\n    pbVar28 = *(bfd **)(puVar25 + -0xc);\n    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n    *(undefined4 *)(puVar25 + -0x10) = uVar18;\n    *(undefined4 *)(puVar25 + -0x14) = 0x34462;\n    fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  case 0x46:\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    *(undefined4 *)(puVar25 + 0x10) = 1;\n    goto joined_r0x000340a6;\n  case 0x50:\n    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n    *(char **)(puVar25 + -0x10) = program_name;\n    *(undefined4 *)(puVar25 + -0x14) = 0x34695;\n    fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  case 0x56:\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    pcVar27 = "%016llx";\n    *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n    break;\n  case 0x57:\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n    *(char **)(puVar25 + -0xc) = "%016llx";\n    pcVar27 = puVar25 + 0x3c;\n    *(char **)(puVar25 + -0x10) = pcVar27;\n    *(undefined4 *)(puVar25 + -0x14) = 0x345d0;\n    sprintf(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n    cVar2 = puVar25[0x3c];\n    while (cVar2 == '0') {\n      pcVar27 = pcVar27 + 1;\n      cVar2 = *pcVar27;\n    }\n    pbVar28 = (bfd *)(pcVar27 + -(uint)(cVar2 == '\0'));\n    *(bfd **)(puVar25 + -0x10) = pbVar28;\n    *(undefined4 *)(puVar25 + -0x14) = 0x345f5;\n    sVar17 = strlen(*(char **)(puVar25 + -0x10));\n    if (sVar17 < 8) {\n      *(bfd **)(puVar25 + 8) = pbVar30;\n      uVar18 = *(undefined4 *)(puVar25 + 0x150);\n      *(char **)(puVar25 + 0x18) = fmt;\n      do {\n        sVar17 = sVar17 + 1;\n        *(undefined4 *)(puVar25 + -0xc) = uVar18;\n        *(undefined4 *)(puVar25 + -0x10) = 0x20;\n        *(undefined4 *)(puVar25 + -0x14) = 0x3461c;\n        putc(*(int *)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n      } while (sVar17 != 8);\n      pbVar30 = *(bfd **)(puVar25 + 8);\n      fmt = *(char **)(puVar25 + 0x18);\n    }\n    pcVar27 = "0x%s";\n    *(bfd **)(puVar25 + -8) = pbVar28;\n    break;\n  case 0x58:\n    config.make_executable = 0;\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  case 100:\n    puVar15 = &DAT_0006c013;\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n    goto LAB_000344af;\n  case 0x6c:\n    cVar2 = *(char *)((int)&pbVar30->filename + 1);\n    if (cVar2 == 'd') {\n      puVar15 = &DAT_0007d7c3;\n      *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\nLAB_000342cd:\n      *(undefined **)(puVar25 + -0xc) = puVar15;\n      *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n      *(undefined4 *)(puVar25 + -0x14) = 0x342dd;\n      fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n      *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n      bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n      fmt = (char *)((int)&pbVar30->filename + 2);\n      goto joined_r0x000340a6;\n    }\n    if (cVar2 == 'u') {\n      puVar15 = &DAT_0007d7c7;\n      *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n      goto LAB_000342cd;\n    }\n  default:\n_L48:\n    pcVar27 = "%%%c";\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + 8);\n    break;\n  case 0x70:\n    cVar2 = *(char *)((int)&pbVar30->filename + 1);\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    if (cVar2 == 'A') {\n      pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n      puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n      pbVar28 = (bfd *)puVar7[0x2b];\n      *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n      *(undefined4 *)(puVar25 + -0x10) = *puVar7;\n      *(undefined4 **)(puVar25 + 8) = puVar7;\n      *(undefined4 *)(puVar25 + -0x14) = 0x34a7f;\n      fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n      iVar23 = *(int *)(puVar25 + 8);\n      if (pbVar28 != (bfd *)0x0) {\n        bVar9 = pbVar28->xvec->flavour;\n        if (bVar9 == bfd_target_elf_flavour) {\n          pbVar28 = *(bfd **)(*(int *)(iVar23 + 0xa4) + 0x8c);\n          if ((pbVar28 == (bfd *)0x0) || ((*(byte *)(iVar23 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar23 = *(int *)(*(int *)(iVar23 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((bVar9 != bfd_target_coff_flavour) ||\n               (*(int *)(*(int *)(*(int *)(iVar23 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar23 + 0xa4) == 0)) ||\n             (piVar10 = *(int **)(*(int *)(iVar23 + 0xa4) + 0x2c), piVar10 == (int *)0x0))\n          goto LAB_000349da;\n          iVar23 = *piVar10;\n        }\n        if (iVar23 != 0) {\n          puVar26 = puVar25 + -8;\n          *(int *)(puVar25 + -8) = iVar23;\n          pcVar27 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }\n    }\n    else {\n      if (cVar2 == 'B') {\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        if (puVar7 == (undefined4 *)0x0) {\n          puVar26 = puVar25 + -8;\n          *(char **)(puVar25 + -8) = program_name;\n          pcVar27 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar7[0x23];\n          pcVar27 = (char *)*puVar7;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\nLAB_00034957:\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n            *(char **)(puVar25 + -0x10) = pcVar27;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34967;\n            fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n            fmt = (char *)((int)&pbVar30->filename + 2);\n            bVar12 = *(byte *)&((bfd *)fmt)->filename;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar25 + -4) = pcVar27;\n          puVar26 = puVar25 + -8;\n          *(undefined4 *)(puVar25 + -8) = *puVar8;\n          pcVar27 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar26 + -4) = pcVar27;\n        *(undefined4 *)(puVar26 + -8) = *(undefined4 *)(puVar26 + 0x158);\n        *(undefined4 *)(puVar26 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar26 + -8),*(char **)(puVar26 + -4));\n        bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n        puVar25 = puVar26 + 8;\n        fmt = (char *)pbVar29;\n        goto joined_r0x000340a6;\n      }\n      if (cVar2 == 'I') {\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        pbVar28 = *(bfd **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        pbVar19 = pbVar28->lru_prev->my_archive;\n        if ((pbVar19 != (bfd *)0x0) && ((pbVar19->field_0x2c & 1) == 0)) {\nLAB_00034be8:\n          *(char **)(puVar25 + -8) = pbVar19->filename;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n        *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n        *(bfd_iovec **)(puVar25 + -0x10) = pbVar28->iovec;\n        *(undefined4 *)(puVar25 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n        pbVar19 = pbVar28->lru_prev->my_archive;\n        if ((pbVar19 == (bfd *)0x0) || ((pbVar19->field_0x2c & 1) != 0)) {\n          *(void **)(puVar25 + -0xc) = pbVar28->iostream;\n          *(bfd_iovec **)(puVar25 + -0x10) = pbVar28->iovec;\n          *(undefined4 *)(puVar25 + -0x14) = 0x349cf;\n          iVar23 = filename_cmp();\n          if (iVar23 != 0) {\n            pcVar27 = " (%s)";\n            puVar26 = puVar25 + -8;\n            *(void **)(puVar25 + -8) = pbVar28->iostream;\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (cVar2 == 'R') {\n          puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar7[5] + 0x20);\n          *(undefined4 *)(puVar25 + -0x10) = puVar7[4];\n          *(undefined4 *)(puVar25 + -0x14) = puVar7[3];\n          *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(*(int *)*puVar7 + 4);\n          *(char **)(puVar25 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x348d6;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n          bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n          fmt = (char *)((int)&pbVar30->filename + 2);\n          goto joined_r0x000340a6;\n        }\n        if (cVar2 != 'S') {\n          if (cVar2 != 'T') {\n            pcVar27 = "%p";\n            *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n          pcVar27 = *(char **)(puVar25 + iVar23 * 0x10 + 0xa0);\n          if ((pcVar27 != (char *)0x0) && (*pcVar27 != '\0')) {\n            pbVar28 = (bfd *)**(undefined4 **)(puVar25 + 0x14);\n            if (pbVar28 != (bfd *)0x0) {\n              *(undefined4 *)(puVar25 + -8) = 3;\n              *(char **)(puVar25 + -0xc) = pcVar27;\n              *(char **)(puVar25 + 8) = pcVar27;\n              *(bfd **)(puVar25 + -0x10) = link_info.output_bfd;\n              *(undefined4 *)(puVar25 + -0x14) = 0x3454c;\n              pbVar28 = (bfd *)bfd_demangle();\n              pcVar27 = *(char **)(puVar25 + 8);\n              if (pbVar28 != (bfd *)0x0) {\n                *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x3456d;\n                fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x34575;\n                free(*(void **)(puVar25 + -0x10));\n                bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n                fmt = (char *)pbVar29;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto LAB_00034957;\n          }\n          *(undefined4 *)(puVar25 + -8) = 5;\n          *(char **)(puVar25 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar25 + -0x10) = 0;\n          *(undefined4 *)(puVar25 + -0x14) = 0x34b14;\n          pcVar27 = (char *)dcgettext();\n          puVar26 = puVar25 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        puVar24 = *(undefined1 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        if (puVar24 == (undefined1 *)0x0) {\n          *(undefined4 *)(puVar25 + -4) = 0x34c1e;\n          pcVar27 = ldlex_filename();\n          *(char **)(puVar25 + 0x44) = pcVar27;\n          *(uint *)(puVar25 + 0x40) = lineno;\n          puVar24 = puVar25 + 0x3c;\n        }\n        else {\n          pcVar27 = *(char **)(puVar24 + 8);\n        }\n        if (pcVar27 != (char *)0x0) {\n          *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar24 + 4);\n          *(char **)(puVar25 + -8) = pcVar27;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d7b0;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34b67;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n      }\n    }\nLAB_000349da:\n    bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n    fmt = (char *)pbVar29;\n    goto joined_r0x000340a6;\n  case 0x73:\n    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n    *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n    *(undefined4 *)(puVar25 + -0x14) = 0x34489;\n    fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  case 0x75:\n    puVar15 = &DAT_0007d7b3;\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\nLAB_000344af:\n    *(undefined **)(puVar25 + -0xc) = puVar15;\n    *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n    *(undefined4 *)(puVar25 + -0x14) = 0x344bc;\n    fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  case 0x76:\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n    *(char **)(puVar25 + -0xc) = "%016llx";\n    pcVar27 = puVar25 + 0x3c;\n    *(char **)(puVar25 + -0x10) = pcVar27;\n    *(undefined4 *)(puVar25 + -0x14) = 0x3426c;\n    sprintf(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n    cVar2 = puVar25[0x3c];\n    while (cVar2 == '0') {\n      pcVar27 = pcVar27 + 1;\n      cVar2 = *pcVar27;\n    }\n    pbVar28 = (bfd *)(pcVar27 + -(uint)(cVar2 == '\0'));\n    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n    *(bfd **)(puVar25 + -0x10) = pbVar28;\n    *(undefined4 *)(puVar25 + -0x14) = 0x34298;\n    fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;\n  }" { (case_statement "case 0:\n    fmt = (char *)pbVar30;" case number_literal : (expression_statement "fmt = (char *)pbVar30;" (assignment_expression "fmt = (char *)pbVar30" identifier = (cast_expression "(char *)pbVar30" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (case_statement "case 0x25:\n    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n    *(undefined4 *)(puVar25 + -0x10) = 0x25;\n    *(undefined4 *)(puVar25 + -0x14) = 0x34207;\n    putc(*(int *)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n    bVar12 = *(byte *)&((bfd *)fmt)->filename;\n    goto joined_r0x000340a6;" case number_literal : (expression_statement "*(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);" (assignment_expression "*(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150)" (pointer_expression "*(undefined4 *)(puVar25 + -0xc)" * (cast_expression "(undefined4 *)(puVar25 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x150)" * (cast_expression "(undefined4 *)(puVar25 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x150)" ( (binary_expression "puVar25 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x10) = 0x25;" (assignment_expression "*(undefined4 *)(puVar25 + -0x10) = 0x25" (pointer_expression "*(undefined4 *)(puVar25 + -0x10)" * (cast_expression "(undefined4 *)(puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x34207;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x34207" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "putc(*(int *)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));" (call_expression "putc(*(int *)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc))" identifier (argument_list "(*(int *)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc))" ( (pointer_expression "*(int *)(puVar25 + -0x10)" * (cast_expression "(int *)(puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar25 + -0xc)" * (cast_expression "(FILE **)(puVar25 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "bVar12 = *(byte *)&((bfd *)fmt)->filename;" (assignment_expression "bVar12 = *(byte *)&((bfd *)fmt)->filename" identifier = (pointer_expression "*(byte *)&((bfd *)fmt)->filename" * (cast_expression "(byte *)&((bfd *)fmt)->filename" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((bfd *)fmt)->filename" & (field_expression "((bfd *)fmt)->filename" (parenthesized_expression "((bfd *)fmt)" ( (cast_expression "(bfd *)fmt" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))))) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) (case_statement "case 0x43:" case number_literal :) (case_statement "case 0x44:" case number_literal :) (case_statement "case 0x47:" case number_literal :) (case_statement "case 0x48:\n    iVar23 = iVar23 * 0x10;\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    pbVar28 = *(bfd **)(puVar25 + iVar23 + 0xa0);\n    *(undefined4 *)(puVar25 + 0x1c) = *(undefined4 *)(puVar25 + iVar23 + 0xa4);\n    uVar18 = *(undefined4 *)(puVar25 + iVar23 + 0xac);\n    *(undefined4 *)(puVar25 + 0x20) = *(undefined4 *)(puVar25 + iVar23 + 0xa8);\n    *(undefined4 *)(puVar25 + 0x24) = uVar18;\n    if (pbVar28 == (bfd *)0x0) {\nLAB_00034747:\n      *(bfd **)(puVar25 + -8) = pbVar28;\n      *(undefined **)(puVar25 + -0xc) = &DAT_0007d36d;\n      *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n      *(undefined4 *)(puVar25 + -0x14) = 0x3475e;\n      lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n      *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x24);\n      *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 0x20);\n      *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(puVar25 + 0x1c);\n      *(char **)(puVar25 + -0x1c) = "(%pA+0x%v)";\n      *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n      *(undefined4 *)(puVar25 + -0x24) = 0x3477e;\n      lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n    }\n    else {\n      *(bfd **)(puVar25 + -0x10) = pbVar28;\n      *(undefined4 *)(puVar25 + -0x14) = 0x34331;\n      iVar23 = bfd_generic_link_read_symbols();\n      if (iVar23 == 0) {\n        *(undefined4 *)(puVar25 + -8) = 5;\n        *(char **)(puVar25 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar25 + -0x10) = 0;\n        *(undefined4 *)(puVar25 + -0x14) = 0x349f8;\n        uVar18 = dcgettext();\n        *(bfd **)(puVar25 + -0xc) = pbVar28;\n        *(undefined4 *)(puVar25 + -0x10) = uVar18;\n        *(undefined4 *)(puVar25 + -0x14) = 0x34a01;\n        einfo(*(char **)(puVar25 + -0x10));\n      }\n      pbVar5 = pbVar28->xvec;\n      *(undefined4 *)(puVar25 + -0x10) = 0;\n      *(undefined1 **)(puVar25 + -0x14) = puVar25 + 0x3c;\n      *(undefined1 **)(puVar25 + -0x18) = puVar25 + 0x38;\n      *(undefined1 **)(puVar25 + -0x1c) = puVar25 + 0x34;\n      *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x24);\n      *(undefined4 *)(puVar25 + -0x24) = *(undefined4 *)(puVar25 + 0x20);\n      *(undefined4 *)(puVar25 + -0x28) = *(undefined4 *)(puVar25 + 0x1c);\n      *(bfd_symbol ***)(puVar25 + -0x2c) = pbVar28->outsymbols;\n      *(bfd **)(puVar25 + -0x30) = pbVar28;\n      p_Var6 = pbVar5->_bfd_find_nearest_line;\n      *(undefined4 *)(puVar25 + -0x34) = 0x34369;\n      bVar16 = (*p_Var6)(*(bfd **)(puVar25 + -0x30),*(bfd_symbol ***)(puVar25 + -0x2c),\n                         *(bfd_section **)(puVar25 + -0x28),*(bfd_vma *)(puVar25 + -0x24),\n                         *(char ***)(puVar25 + -0x1c),*(char ***)(puVar25 + -0x18),\n                         *(uint **)(puVar25 + -0x14),*(uint **)(puVar25 + -0x10));\n      if (bVar16 == 0) goto LAB_00034747;\n      iVar23 = *(int *)(puVar25 + 0x38);\n      *(int *)(puVar25 + 8) = iVar23;\n      if ((iVar23 == 0) ||\n         ((*(char *)&pbVar30->filename != 'C' && (*(char *)&pbVar30->filename != 'H')))) {\n        *(bfd **)(puVar25 + -8) = pbVar28;\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d36d;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x343aa;\n        lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        *(undefined4 *)(puVar25 + 0x18) = 1;\nLAB_000343b5:\n        if (*(int *)(puVar25 + 0x34) == 0) {\n          iVar23 = *(int *)(puVar25 + 0x38);\n          goto LAB_00034a0d;\n        }\n        *(int *)(puVar25 + -8) = *(int *)(puVar25 + 0x34);\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d779;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x343d8;\n        fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        iVar23 = *(int *)(puVar25 + 0x38);\n        if ((iVar23 != 0) && (*(char *)&pbVar30->filename == 'G')) goto LAB_00034a20;\n        if ((*(int *)(puVar25 + 0x34) == 0) || (iVar23 = *(int *)(puVar25 + 0x3c), iVar23 == 0))\n        goto LAB_00034902;\n        if (*(char *)&pbVar30->filename == 'H') {\n          *(undefined **)(puVar25 + -4) = &DAT_0007b12f;\n          *(int *)(puVar25 + -8) = iVar23;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d7d0;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x348ff;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n          goto LAB_00034902;\n        }\n        *(char **)(puVar25 + -4) = "";\n        *(int *)(puVar25 + -8) = iVar23;\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d7d0;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x3442b;\n        fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n      }\n      else {\n        if (((vfinfo::lexical_block_14::lexical_block_14_4::last_bfd == (bfd *)0x0) ||\n            (vfinfo::lexical_block_14::lexical_block_14_4::last_function == (char *)0x0)) ||\n           (vfinfo::lexical_block_14::lexical_block_14_4::last_bfd != pbVar28)) {\nLAB_00034800:\n          *(undefined4 *)(puVar25 + -8) = 5;\n          *(char **)(puVar25 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar25 + -0x10) = 0;\n          *(undefined4 *)(puVar25 + -0x14) = 0x34813;\n          uVar18 = dcgettext();\n          *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 8);\n          *(bfd **)(puVar25 + -0x18) = pbVar28;\n          *(undefined4 *)(puVar25 + -0x1c) = uVar18;\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x34825;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n          vfinfo::lexical_block_14::lexical_block_14_4::last_bfd = pbVar28;\n          if (vfinfo::lexical_block_14::lexical_block_14_4::last_file != (char *)0x0) {\n            *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34841;\n            free(*(void **)(puVar25 + -0x10));\n          }\n          vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)0x0;\n          if (*(int *)(puVar25 + 0x34) != 0) {\n            *(int *)(puVar25 + -0x10) = *(int *)(puVar25 + 0x34);\n            *(undefined4 *)(puVar25 + -0x14) = 0x3485f;\n            vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)xstrdup();\n          }\n          if (vfinfo::lexical_block_14::lexical_block_14_4::last_function != (char *)0x0) {\n            *(char **)(puVar25 + -0x10) =\n                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n            *(undefined4 *)(puVar25 + -0x14) = 0x3487b;\n            free(*(void **)(puVar25 + -0x10));\n          }\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x38);\n          *(undefined4 *)(puVar25 + -0x14) = 0x3488a;\n          vfinfo::lexical_block_14::lexical_block_14_4::last_function = (char *)xstrdup();\n          *(undefined4 *)(puVar25 + 0x18) = 0;\n          goto LAB_000343b5;\n        }\n        iVar20 = *(int *)(puVar25 + 0x34);\n        *(char **)(puVar25 + 0x18) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n        puVar25[0x28] = vfinfo::lexical_block_14::lexical_block_14_4::last_file == (char *)0x0;\n        puVar25[0x2f] = iVar20 == 0;\n        if (puVar25[0x28] != puVar25[0x2f]) goto LAB_00034800;\n        if (iVar20 != 0) {\n          *(int *)(puVar25 + -4) = iVar23;\n          *(int *)(puVar25 + -8) = iVar23;\n          *(int *)(puVar25 + -0xc) = iVar20;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x18);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34c8b;\n          uVar31 = filename_cmp();\n          uVar18 = (undefined4)((ulonglong)uVar31 >> 0x20);\n          *(undefined4 *)(puVar25 + 8) = *(undefined4 *)(puVar25 + 0x38);\n          if ((int)uVar31 == 0) {\n            *(undefined4 *)(puVar25 + -4) = uVar18;\n            *(undefined4 *)(puVar25 + -8) = uVar18;\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x38);\n            *(char **)(puVar25 + -0x10) =\n                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34cac;\n            iVar23 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n            *(int *)(puVar25 + 0x18) = iVar23;\n            if (iVar23 == 0) goto LAB_000343b5;\n          }\n          goto LAB_00034800;\n        }\n        *(int *)(puVar25 + 8) = iVar23;\n        *(undefined4 *)(puVar25 + -4) = 0;\n        *(undefined4 *)(puVar25 + -8) = 0;\n        *(int *)(puVar25 + -0xc) = iVar23;\n        *(int *)(puVar25 + 0x28) = iVar23;\n        *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n        *(undefined4 *)(puVar25 + -0x14) = 0x34cd6;\n        iVar20 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        iVar23 = *(int *)(puVar25 + 0x28);\n        *(int *)(puVar25 + 0x18) = iVar20;\n        if (iVar20 != 0) goto LAB_00034800;\nLAB_00034a0d:\n        if ((*(char *)&pbVar30->filename == 'G') && (iVar23 != 0)) {\nLAB_00034a20:\n          *(int *)(puVar25 + -8) = iVar23;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d77d;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34a37;\n          lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n        else {\nLAB_00034902:\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x24);\n          *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 0x20);\n          *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(puVar25 + 0x1c);\n          *(char **)(puVar25 + -0x1c) = "(%pA+0x%v)";\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x34924;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n        }\n      }\n      if (*(int *)(puVar25 + 0x18) == 0) goto LAB_0003443a;\n    }\n    vfinfo::lexical_block_14::lexical_block_14_4::last_bfd = (bfd *)0x0;\n    if (vfinfo::lexical_block_14::lexical_block_14_4::last_file != (char *)0x0) {\n      *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n      *(undefined4 *)(puVar25 + -0x14) = 0x3479e;\n      free(*(void **)(puVar25 + -0x10));\n      vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)0x0;\n    }\n    if (vfinfo::lexical_block_14::lexical_block_14_4::last_function != (char *)0x0) {\n      *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n      *(undefined4 *)(puVar25 + -0x14) = 0x347c2;\n      free(*(void **)(puVar25 + -0x10));\n      vfinfo::lexical_block_14::lexical_block_14_4::last_function = (char *)0x0;\n    }\nLAB_0003443a:\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;" case number_literal : (expression_statement "iVar23 = iVar23 * 0x10;" (assignment_expression "iVar23 = iVar23 * 0x10" identifier = (binary_expression "iVar23 * 0x10" identifier * number_literal)) ;) (expression_statement "*(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;" (assignment_expression "*(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1" (pointer_expression "*(int *)(puVar25 + 4)" * (cast_expression "(int *)(puVar25 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 4)" ( (binary_expression "puVar25 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar25 + 4) + 1" (pointer_expression "*(int *)(puVar25 + 4)" * (cast_expression "(int *)(puVar25 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 4)" ( (binary_expression "puVar25 + 4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pbVar28 = *(bfd **)(puVar25 + iVar23 + 0xa0);" (assignment_expression "pbVar28 = *(bfd **)(puVar25 + iVar23 + 0xa0)" identifier = (pointer_expression "*(bfd **)(puVar25 + iVar23 + 0xa0)" * (cast_expression "(bfd **)(puVar25 + iVar23 + 0xa0)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + iVar23 + 0xa0)" ( (binary_expression "puVar25 + iVar23 + 0xa0" (binary_expression "puVar25 + iVar23" identifier + identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + 0x1c) = *(undefined4 *)(puVar25 + iVar23 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar25 + 0x1c) = *(undefined4 *)(puVar25 + iVar23 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar25 + 0x1c)" * (cast_expression "(undefined4 *)(puVar25 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x1c)" ( (binary_expression "puVar25 + 0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + iVar23 + 0xa4)" * (cast_expression "(undefined4 *)(puVar25 + iVar23 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + iVar23 + 0xa4)" ( (binary_expression "puVar25 + iVar23 + 0xa4" (binary_expression "puVar25 + iVar23" identifier + identifier) + number_literal) ))))) ;) (expression_statement "uVar18 = *(undefined4 *)(puVar25 + iVar23 + 0xac);" (assignment_expression "uVar18 = *(undefined4 *)(puVar25 + iVar23 + 0xac)" identifier = (pointer_expression "*(undefined4 *)(puVar25 + iVar23 + 0xac)" * (cast_expression "(undefined4 *)(puVar25 + iVar23 + 0xac)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + iVar23 + 0xac)" ( (binary_expression "puVar25 + iVar23 + 0xac" (binary_expression "puVar25 + iVar23" identifier + identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + 0x20) = *(undefined4 *)(puVar25 + iVar23 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar25 + 0x20) = *(undefined4 *)(puVar25 + iVar23 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar25 + 0x20)" * (cast_expression "(undefined4 *)(puVar25 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x20)" ( (binary_expression "puVar25 + 0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + iVar23 + 0xa8)" * (cast_expression "(undefined4 *)(puVar25 + iVar23 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + iVar23 + 0xa8)" ( (binary_expression "puVar25 + iVar23 + 0xa8" (binary_expression "puVar25 + iVar23" identifier + identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + 0x24) = uVar18;" (assignment_expression "*(undefined4 *)(puVar25 + 0x24) = uVar18" (pointer_expression "*(undefined4 *)(puVar25 + 0x24)" * (cast_expression "(undefined4 *)(puVar25 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x24)" ( (binary_expression "puVar25 + 0x24" identifier + number_literal) )))) = identifier) ;) (if_statement "if (pbVar28 == (bfd *)0x0) {\nLAB_00034747:\n      *(bfd **)(puVar25 + -8) = pbVar28;\n      *(undefined **)(puVar25 + -0xc) = &DAT_0007d36d;\n      *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n      *(undefined4 *)(puVar25 + -0x14) = 0x3475e;\n      lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n      *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x24);\n      *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 0x20);\n      *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(puVar25 + 0x1c);\n      *(char **)(puVar25 + -0x1c) = "(%pA+0x%v)";\n      *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n      *(undefined4 *)(puVar25 + -0x24) = 0x3477e;\n      lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n    }\n    else {\n      *(bfd **)(puVar25 + -0x10) = pbVar28;\n      *(undefined4 *)(puVar25 + -0x14) = 0x34331;\n      iVar23 = bfd_generic_link_read_symbols();\n      if (iVar23 == 0) {\n        *(undefined4 *)(puVar25 + -8) = 5;\n        *(char **)(puVar25 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar25 + -0x10) = 0;\n        *(undefined4 *)(puVar25 + -0x14) = 0x349f8;\n        uVar18 = dcgettext();\n        *(bfd **)(puVar25 + -0xc) = pbVar28;\n        *(undefined4 *)(puVar25 + -0x10) = uVar18;\n        *(undefined4 *)(puVar25 + -0x14) = 0x34a01;\n        einfo(*(char **)(puVar25 + -0x10));\n      }\n      pbVar5 = pbVar28->xvec;\n      *(undefined4 *)(puVar25 + -0x10) = 0;\n      *(undefined1 **)(puVar25 + -0x14) = puVar25 + 0x3c;\n      *(undefined1 **)(puVar25 + -0x18) = puVar25 + 0x38;\n      *(undefined1 **)(puVar25 + -0x1c) = puVar25 + 0x34;\n      *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x24);\n      *(undefined4 *)(puVar25 + -0x24) = *(undefined4 *)(puVar25 + 0x20);\n      *(undefined4 *)(puVar25 + -0x28) = *(undefined4 *)(puVar25 + 0x1c);\n      *(bfd_symbol ***)(puVar25 + -0x2c) = pbVar28->outsymbols;\n      *(bfd **)(puVar25 + -0x30) = pbVar28;\n      p_Var6 = pbVar5->_bfd_find_nearest_line;\n      *(undefined4 *)(puVar25 + -0x34) = 0x34369;\n      bVar16 = (*p_Var6)(*(bfd **)(puVar25 + -0x30),*(bfd_symbol ***)(puVar25 + -0x2c),\n                         *(bfd_section **)(puVar25 + -0x28),*(bfd_vma *)(puVar25 + -0x24),\n                         *(char ***)(puVar25 + -0x1c),*(char ***)(puVar25 + -0x18),\n                         *(uint **)(puVar25 + -0x14),*(uint **)(puVar25 + -0x10));\n      if (bVar16 == 0) goto LAB_00034747;\n      iVar23 = *(int *)(puVar25 + 0x38);\n      *(int *)(puVar25 + 8) = iVar23;\n      if ((iVar23 == 0) ||\n         ((*(char *)&pbVar30->filename != 'C' && (*(char *)&pbVar30->filename != 'H')))) {\n        *(bfd **)(puVar25 + -8) = pbVar28;\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d36d;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x343aa;\n        lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        *(undefined4 *)(puVar25 + 0x18) = 1;\nLAB_000343b5:\n        if (*(int *)(puVar25 + 0x34) == 0) {\n          iVar23 = *(int *)(puVar25 + 0x38);\n          goto LAB_00034a0d;\n        }\n        *(int *)(puVar25 + -8) = *(int *)(puVar25 + 0x34);\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d779;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x343d8;\n        fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        iVar23 = *(int *)(puVar25 + 0x38);\n        if ((iVar23 != 0) && (*(char *)&pbVar30->filename == 'G')) goto LAB_00034a20;\n        if ((*(int *)(puVar25 + 0x34) == 0) || (iVar23 = *(int *)(puVar25 + 0x3c), iVar23 == 0))\n        goto LAB_00034902;\n        if (*(char *)&pbVar30->filename == 'H') {\n          *(undefined **)(puVar25 + -4) = &DAT_0007b12f;\n          *(int *)(puVar25 + -8) = iVar23;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d7d0;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x348ff;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n          goto LAB_00034902;\n        }\n        *(char **)(puVar25 + -4) = "";\n        *(int *)(puVar25 + -8) = iVar23;\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d7d0;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x3442b;\n        fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n      }\n      else {\n        if (((vfinfo::lexical_block_14::lexical_block_14_4::last_bfd == (bfd *)0x0) ||\n            (vfinfo::lexical_block_14::lexical_block_14_4::last_function == (char *)0x0)) ||\n           (vfinfo::lexical_block_14::lexical_block_14_4::last_bfd != pbVar28)) {\nLAB_00034800:\n          *(undefined4 *)(puVar25 + -8) = 5;\n          *(char **)(puVar25 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar25 + -0x10) = 0;\n          *(undefined4 *)(puVar25 + -0x14) = 0x34813;\n          uVar18 = dcgettext();\n          *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 8);\n          *(bfd **)(puVar25 + -0x18) = pbVar28;\n          *(undefined4 *)(puVar25 + -0x1c) = uVar18;\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x34825;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n          vfinfo::lexical_block_14::lexical_block_14_4::last_bfd = pbVar28;\n          if (vfinfo::lexical_block_14::lexical_block_14_4::last_file != (char *)0x0) {\n            *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34841;\n            free(*(void **)(puVar25 + -0x10));\n          }\n          vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)0x0;\n          if (*(int *)(puVar25 + 0x34) != 0) {\n            *(int *)(puVar25 + -0x10) = *(int *)(puVar25 + 0x34);\n            *(undefined4 *)(puVar25 + -0x14) = 0x3485f;\n            vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)xstrdup();\n          }\n          if (vfinfo::lexical_block_14::lexical_block_14_4::last_function != (char *)0x0) {\n            *(char **)(puVar25 + -0x10) =\n                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n            *(undefined4 *)(puVar25 + -0x14) = 0x3487b;\n            free(*(void **)(puVar25 + -0x10));\n          }\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x38);\n          *(undefined4 *)(puVar25 + -0x14) = 0x3488a;\n          vfinfo::lexical_block_14::lexical_block_14_4::last_function = (char *)xstrdup();\n          *(undefined4 *)(puVar25 + 0x18) = 0;\n          goto LAB_000343b5;\n        }\n        iVar20 = *(int *)(puVar25 + 0x34);\n        *(char **)(puVar25 + 0x18) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n        puVar25[0x28] = vfinfo::lexical_block_14::lexical_block_14_4::last_file == (char *)0x0;\n        puVar25[0x2f] = iVar20 == 0;\n        if (puVar25[0x28] != puVar25[0x2f]) goto LAB_00034800;\n        if (iVar20 != 0) {\n          *(int *)(puVar25 + -4) = iVar23;\n          *(int *)(puVar25 + -8) = iVar23;\n          *(int *)(puVar25 + -0xc) = iVar20;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x18);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34c8b;\n          uVar31 = filename_cmp();\n          uVar18 = (undefined4)((ulonglong)uVar31 >> 0x20);\n          *(undefined4 *)(puVar25 + 8) = *(undefined4 *)(puVar25 + 0x38);\n          if ((int)uVar31 == 0) {\n            *(undefined4 *)(puVar25 + -4) = uVar18;\n            *(undefined4 *)(puVar25 + -8) = uVar18;\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x38);\n            *(char **)(puVar25 + -0x10) =\n                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34cac;\n            iVar23 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n            *(int *)(puVar25 + 0x18) = iVar23;\n            if (iVar23 == 0) goto LAB_000343b5;\n          }\n          goto LAB_00034800;\n        }\n        *(int *)(puVar25 + 8) = iVar23;\n        *(undefined4 *)(puVar25 + -4) = 0;\n        *(undefined4 *)(puVar25 + -8) = 0;\n        *(int *)(puVar25 + -0xc) = iVar23;\n        *(int *)(puVar25 + 0x28) = iVar23;\n        *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n        *(undefined4 *)(puVar25 + -0x14) = 0x34cd6;\n        iVar20 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        iVar23 = *(int *)(puVar25 + 0x28);\n        *(int *)(puVar25 + 0x18) = iVar20;\n        if (iVar20 != 0) goto LAB_00034800;\nLAB_00034a0d:\n        if ((*(char *)&pbVar30->filename == 'G') && (iVar23 != 0)) {\nLAB_00034a20:\n          *(int *)(puVar25 + -8) = iVar23;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d77d;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34a37;\n          lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n        else {\nLAB_00034902:\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x24);\n          *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 0x20);\n          *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(puVar25 + 0x1c);\n          *(char **)(puVar25 + -0x1c) = "(%pA+0x%v)";\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x34924;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n        }\n      }\n      if (*(int *)(puVar25 + 0x18) == 0) goto LAB_0003443a;\n    }" if (parenthesized_expression "(pbVar28 == (bfd *)0x0)" ( (binary_expression "pbVar28 == (bfd *)0x0" identifier == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00034747:\n      *(bfd **)(puVar25 + -8) = pbVar28;\n      *(undefined **)(puVar25 + -0xc) = &DAT_0007d36d;\n      *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n      *(undefined4 *)(puVar25 + -0x14) = 0x3475e;\n      lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n      *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x24);\n      *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 0x20);\n      *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(puVar25 + 0x1c);\n      *(char **)(puVar25 + -0x1c) = "(%pA+0x%v)";\n      *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n      *(undefined4 *)(puVar25 + -0x24) = 0x3477e;\n      lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n    }" { (labeled_statement "LAB_00034747:\n      *(bfd **)(puVar25 + -8) = pbVar28;" statement_identifier : (expression_statement "*(bfd **)(puVar25 + -8) = pbVar28;" (assignment_expression "*(bfd **)(puVar25 + -8) = pbVar28" (pointer_expression "*(bfd **)(puVar25 + -8)" * (cast_expression "(bfd **)(puVar25 + -8)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined **)(puVar25 + -0xc) = &DAT_0007d36d;" (assignment_expression "*(undefined **)(puVar25 + -0xc) = &DAT_0007d36d" (pointer_expression "*(undefined **)(puVar25 + -0xc)" * (cast_expression "(undefined **)(puVar25 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_0007d36d" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);" (assignment_expression "*(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150)" (pointer_expression "*(undefined4 *)(puVar25 + -0x10)" * (cast_expression "(undefined4 *)(puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x150)" * (cast_expression "(undefined4 *)(puVar25 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x150)" ( (binary_expression "puVar25 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x3475e;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x3475e" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));" (call_expression "lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc))" identifier (argument_list "(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc))" ( (pointer_expression "*(FILE **)(puVar25 + -0x10)" * (cast_expression "(FILE **)(puVar25 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar25 + -0xc)" * (cast_expression "(char **)(puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x24);" (assignment_expression "*(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x24)" (pointer_expression "*(undefined4 *)(puVar25 + -0x10)" * (cast_expression "(undefined4 *)(puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x24)" * (cast_expression "(undefined4 *)(puVar25 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x24)" ( (binary_expression "puVar25 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 0x20);" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 0x20)" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x20)" * (cast_expression "(undefined4 *)(puVar25 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x20)" ( (binary_expression "puVar25 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(puVar25 + 0x1c);" (assignment_expression "*(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(puVar25 + 0x1c)" (pointer_expression "*(undefined4 *)(puVar25 + -0x18)" * (cast_expression "(undefined4 *)(puVar25 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x18)" ( (binary_expression "puVar25 + -0x18" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x1c)" * (cast_expression "(undefined4 *)(puVar25 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x1c)" ( (binary_expression "puVar25 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(char **)(puVar25 + -0x1c) = "(%pA+0x%v)";" (assignment_expression "*(char **)(puVar25 + -0x1c) = "(%pA+0x%v)"" (pointer_expression "*(char **)(puVar25 + -0x1c)" * (cast_expression "(char **)(puVar25 + -0x1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x1c)" ( (binary_expression "puVar25 + -0x1c" identifier + number_literal) )))) = (string_literal ""(%pA+0x%v)"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);" (assignment_expression "*(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150)" (pointer_expression "*(undefined4 *)(puVar25 + -0x20)" * (cast_expression "(undefined4 *)(puVar25 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x20)" ( (binary_expression "puVar25 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x150)" * (cast_expression "(undefined4 *)(puVar25 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x150)" ( (binary_expression "puVar25 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x24) = 0x3477e;" (assignment_expression "*(undefined4 *)(puVar25 + -0x24) = 0x3477e" (pointer_expression "*(undefined4 *)(puVar25 + -0x24)" * (cast_expression "(undefined4 *)(puVar25 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x24)" ( (binary_expression "puVar25 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));" (call_expression "lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c))" identifier (argument_list "(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c))" ( (pointer_expression "*(FILE **)(puVar25 + -0x20)" * (cast_expression "(FILE **)(puVar25 + -0x20)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x20)" ( (binary_expression "puVar25 + -0x20" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar25 + -0x1c)" * (cast_expression "(char **)(puVar25 + -0x1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x1c)" ( (binary_expression "puVar25 + -0x1c" identifier + number_literal) )))) ))) ;) }) (else_clause "else {\n      *(bfd **)(puVar25 + -0x10) = pbVar28;\n      *(undefined4 *)(puVar25 + -0x14) = 0x34331;\n      iVar23 = bfd_generic_link_read_symbols();\n      if (iVar23 == 0) {\n        *(undefined4 *)(puVar25 + -8) = 5;\n        *(char **)(puVar25 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar25 + -0x10) = 0;\n        *(undefined4 *)(puVar25 + -0x14) = 0x349f8;\n        uVar18 = dcgettext();\n        *(bfd **)(puVar25 + -0xc) = pbVar28;\n        *(undefined4 *)(puVar25 + -0x10) = uVar18;\n        *(undefined4 *)(puVar25 + -0x14) = 0x34a01;\n        einfo(*(char **)(puVar25 + -0x10));\n      }\n      pbVar5 = pbVar28->xvec;\n      *(undefined4 *)(puVar25 + -0x10) = 0;\n      *(undefined1 **)(puVar25 + -0x14) = puVar25 + 0x3c;\n      *(undefined1 **)(puVar25 + -0x18) = puVar25 + 0x38;\n      *(undefined1 **)(puVar25 + -0x1c) = puVar25 + 0x34;\n      *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x24);\n      *(undefined4 *)(puVar25 + -0x24) = *(undefined4 *)(puVar25 + 0x20);\n      *(undefined4 *)(puVar25 + -0x28) = *(undefined4 *)(puVar25 + 0x1c);\n      *(bfd_symbol ***)(puVar25 + -0x2c) = pbVar28->outsymbols;\n      *(bfd **)(puVar25 + -0x30) = pbVar28;\n      p_Var6 = pbVar5->_bfd_find_nearest_line;\n      *(undefined4 *)(puVar25 + -0x34) = 0x34369;\n      bVar16 = (*p_Var6)(*(bfd **)(puVar25 + -0x30),*(bfd_symbol ***)(puVar25 + -0x2c),\n                         *(bfd_section **)(puVar25 + -0x28),*(bfd_vma *)(puVar25 + -0x24),\n                         *(char ***)(puVar25 + -0x1c),*(char ***)(puVar25 + -0x18),\n                         *(uint **)(puVar25 + -0x14),*(uint **)(puVar25 + -0x10));\n      if (bVar16 == 0) goto LAB_00034747;\n      iVar23 = *(int *)(puVar25 + 0x38);\n      *(int *)(puVar25 + 8) = iVar23;\n      if ((iVar23 == 0) ||\n         ((*(char *)&pbVar30->filename != 'C' && (*(char *)&pbVar30->filename != 'H')))) {\n        *(bfd **)(puVar25 + -8) = pbVar28;\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d36d;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x343aa;\n        lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        *(undefined4 *)(puVar25 + 0x18) = 1;\nLAB_000343b5:\n        if (*(int *)(puVar25 + 0x34) == 0) {\n          iVar23 = *(int *)(puVar25 + 0x38);\n          goto LAB_00034a0d;\n        }\n        *(int *)(puVar25 + -8) = *(int *)(puVar25 + 0x34);\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d779;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x343d8;\n        fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        iVar23 = *(int *)(puVar25 + 0x38);\n        if ((iVar23 != 0) && (*(char *)&pbVar30->filename == 'G')) goto LAB_00034a20;\n        if ((*(int *)(puVar25 + 0x34) == 0) || (iVar23 = *(int *)(puVar25 + 0x3c), iVar23 == 0))\n        goto LAB_00034902;\n        if (*(char *)&pbVar30->filename == 'H') {\n          *(undefined **)(puVar25 + -4) = &DAT_0007b12f;\n          *(int *)(puVar25 + -8) = iVar23;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d7d0;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x348ff;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n          goto LAB_00034902;\n        }\n        *(char **)(puVar25 + -4) = "";\n        *(int *)(puVar25 + -8) = iVar23;\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d7d0;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x3442b;\n        fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n      }\n      else {\n        if (((vfinfo::lexical_block_14::lexical_block_14_4::last_bfd == (bfd *)0x0) ||\n            (vfinfo::lexical_block_14::lexical_block_14_4::last_function == (char *)0x0)) ||\n           (vfinfo::lexical_block_14::lexical_block_14_4::last_bfd != pbVar28)) {\nLAB_00034800:\n          *(undefined4 *)(puVar25 + -8) = 5;\n          *(char **)(puVar25 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar25 + -0x10) = 0;\n          *(undefined4 *)(puVar25 + -0x14) = 0x34813;\n          uVar18 = dcgettext();\n          *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 8);\n          *(bfd **)(puVar25 + -0x18) = pbVar28;\n          *(undefined4 *)(puVar25 + -0x1c) = uVar18;\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x34825;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n          vfinfo::lexical_block_14::lexical_block_14_4::last_bfd = pbVar28;\n          if (vfinfo::lexical_block_14::lexical_block_14_4::last_file != (char *)0x0) {\n            *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34841;\n            free(*(void **)(puVar25 + -0x10));\n          }\n          vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)0x0;\n          if (*(int *)(puVar25 + 0x34) != 0) {\n            *(int *)(puVar25 + -0x10) = *(int *)(puVar25 + 0x34);\n            *(undefined4 *)(puVar25 + -0x14) = 0x3485f;\n            vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)xstrdup();\n          }\n          if (vfinfo::lexical_block_14::lexical_block_14_4::last_function != (char *)0x0) {\n            *(char **)(puVar25 + -0x10) =\n                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n            *(undefined4 *)(puVar25 + -0x14) = 0x3487b;\n            free(*(void **)(puVar25 + -0x10));\n          }\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x38);\n          *(undefined4 *)(puVar25 + -0x14) = 0x3488a;\n          vfinfo::lexical_block_14::lexical_block_14_4::last_function = (char *)xstrdup();\n          *(undefined4 *)(puVar25 + 0x18) = 0;\n          goto LAB_000343b5;\n        }\n        iVar20 = *(int *)(puVar25 + 0x34);\n        *(char **)(puVar25 + 0x18) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n        puVar25[0x28] = vfinfo::lexical_block_14::lexical_block_14_4::last_file == (char *)0x0;\n        puVar25[0x2f] = iVar20 == 0;\n        if (puVar25[0x28] != puVar25[0x2f]) goto LAB_00034800;\n        if (iVar20 != 0) {\n          *(int *)(puVar25 + -4) = iVar23;\n          *(int *)(puVar25 + -8) = iVar23;\n          *(int *)(puVar25 + -0xc) = iVar20;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x18);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34c8b;\n          uVar31 = filename_cmp();\n          uVar18 = (undefined4)((ulonglong)uVar31 >> 0x20);\n          *(undefined4 *)(puVar25 + 8) = *(undefined4 *)(puVar25 + 0x38);\n          if ((int)uVar31 == 0) {\n            *(undefined4 *)(puVar25 + -4) = uVar18;\n            *(undefined4 *)(puVar25 + -8) = uVar18;\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x38);\n            *(char **)(puVar25 + -0x10) =\n                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34cac;\n            iVar23 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n            *(int *)(puVar25 + 0x18) = iVar23;\n            if (iVar23 == 0) goto LAB_000343b5;\n          }\n          goto LAB_00034800;\n        }\n        *(int *)(puVar25 + 8) = iVar23;\n        *(undefined4 *)(puVar25 + -4) = 0;\n        *(undefined4 *)(puVar25 + -8) = 0;\n        *(int *)(puVar25 + -0xc) = iVar23;\n        *(int *)(puVar25 + 0x28) = iVar23;\n        *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n        *(undefined4 *)(puVar25 + -0x14) = 0x34cd6;\n        iVar20 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        iVar23 = *(int *)(puVar25 + 0x28);\n        *(int *)(puVar25 + 0x18) = iVar20;\n        if (iVar20 != 0) goto LAB_00034800;\nLAB_00034a0d:\n        if ((*(char *)&pbVar30->filename == 'G') && (iVar23 != 0)) {\nLAB_00034a20:\n          *(int *)(puVar25 + -8) = iVar23;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d77d;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34a37;\n          lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n        else {\nLAB_00034902:\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x24);\n          *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 0x20);\n          *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(puVar25 + 0x1c);\n          *(char **)(puVar25 + -0x1c) = "(%pA+0x%v)";\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x34924;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n        }\n      }\n      if (*(int *)(puVar25 + 0x18) == 0) goto LAB_0003443a;\n    }" else (compound_statement "{\n      *(bfd **)(puVar25 + -0x10) = pbVar28;\n      *(undefined4 *)(puVar25 + -0x14) = 0x34331;\n      iVar23 = bfd_generic_link_read_symbols();\n      if (iVar23 == 0) {\n        *(undefined4 *)(puVar25 + -8) = 5;\n        *(char **)(puVar25 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar25 + -0x10) = 0;\n        *(undefined4 *)(puVar25 + -0x14) = 0x349f8;\n        uVar18 = dcgettext();\n        *(bfd **)(puVar25 + -0xc) = pbVar28;\n        *(undefined4 *)(puVar25 + -0x10) = uVar18;\n        *(undefined4 *)(puVar25 + -0x14) = 0x34a01;\n        einfo(*(char **)(puVar25 + -0x10));\n      }\n      pbVar5 = pbVar28->xvec;\n      *(undefined4 *)(puVar25 + -0x10) = 0;\n      *(undefined1 **)(puVar25 + -0x14) = puVar25 + 0x3c;\n      *(undefined1 **)(puVar25 + -0x18) = puVar25 + 0x38;\n      *(undefined1 **)(puVar25 + -0x1c) = puVar25 + 0x34;\n      *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x24);\n      *(undefined4 *)(puVar25 + -0x24) = *(undefined4 *)(puVar25 + 0x20);\n      *(undefined4 *)(puVar25 + -0x28) = *(undefined4 *)(puVar25 + 0x1c);\n      *(bfd_symbol ***)(puVar25 + -0x2c) = pbVar28->outsymbols;\n      *(bfd **)(puVar25 + -0x30) = pbVar28;\n      p_Var6 = pbVar5->_bfd_find_nearest_line;\n      *(undefined4 *)(puVar25 + -0x34) = 0x34369;\n      bVar16 = (*p_Var6)(*(bfd **)(puVar25 + -0x30),*(bfd_symbol ***)(puVar25 + -0x2c),\n                         *(bfd_section **)(puVar25 + -0x28),*(bfd_vma *)(puVar25 + -0x24),\n                         *(char ***)(puVar25 + -0x1c),*(char ***)(puVar25 + -0x18),\n                         *(uint **)(puVar25 + -0x14),*(uint **)(puVar25 + -0x10));\n      if (bVar16 == 0) goto LAB_00034747;\n      iVar23 = *(int *)(puVar25 + 0x38);\n      *(int *)(puVar25 + 8) = iVar23;\n      if ((iVar23 == 0) ||\n         ((*(char *)&pbVar30->filename != 'C' && (*(char *)&pbVar30->filename != 'H')))) {\n        *(bfd **)(puVar25 + -8) = pbVar28;\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d36d;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x343aa;\n        lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        *(undefined4 *)(puVar25 + 0x18) = 1;\nLAB_000343b5:\n        if (*(int *)(puVar25 + 0x34) == 0) {\n          iVar23 = *(int *)(puVar25 + 0x38);\n          goto LAB_00034a0d;\n        }\n        *(int *)(puVar25 + -8) = *(int *)(puVar25 + 0x34);\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d779;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x343d8;\n        fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        iVar23 = *(int *)(puVar25 + 0x38);\n        if ((iVar23 != 0) && (*(char *)&pbVar30->filename == 'G')) goto LAB_00034a20;\n        if ((*(int *)(puVar25 + 0x34) == 0) || (iVar23 = *(int *)(puVar25 + 0x3c), iVar23 == 0))\n        goto LAB_00034902;\n        if (*(char *)&pbVar30->filename == 'H') {\n          *(undefined **)(puVar25 + -4) = &DAT_0007b12f;\n          *(int *)(puVar25 + -8) = iVar23;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d7d0;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x348ff;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n          goto LAB_00034902;\n        }\n        *(char **)(puVar25 + -4) = "";\n        *(int *)(puVar25 + -8) = iVar23;\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d7d0;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x3442b;\n        fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n      }\n      else {\n        if (((vfinfo::lexical_block_14::lexical_block_14_4::last_bfd == (bfd *)0x0) ||\n            (vfinfo::lexical_block_14::lexical_block_14_4::last_function == (char *)0x0)) ||\n           (vfinfo::lexical_block_14::lexical_block_14_4::last_bfd != pbVar28)) {\nLAB_00034800:\n          *(undefined4 *)(puVar25 + -8) = 5;\n          *(char **)(puVar25 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar25 + -0x10) = 0;\n          *(undefined4 *)(puVar25 + -0x14) = 0x34813;\n          uVar18 = dcgettext();\n          *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 8);\n          *(bfd **)(puVar25 + -0x18) = pbVar28;\n          *(undefined4 *)(puVar25 + -0x1c) = uVar18;\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x34825;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n          vfinfo::lexical_block_14::lexical_block_14_4::last_bfd = pbVar28;\n          if (vfinfo::lexical_block_14::lexical_block_14_4::last_file != (char *)0x0) {\n            *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34841;\n            free(*(void **)(puVar25 + -0x10));\n          }\n          vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)0x0;\n          if (*(int *)(puVar25 + 0x34) != 0) {\n            *(int *)(puVar25 + -0x10) = *(int *)(puVar25 + 0x34);\n            *(undefined4 *)(puVar25 + -0x14) = 0x3485f;\n            vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)xstrdup();\n          }\n          if (vfinfo::lexical_block_14::lexical_block_14_4::last_function != (char *)0x0) {\n            *(char **)(puVar25 + -0x10) =\n                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n            *(undefined4 *)(puVar25 + -0x14) = 0x3487b;\n            free(*(void **)(puVar25 + -0x10));\n          }\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x38);\n          *(undefined4 *)(puVar25 + -0x14) = 0x3488a;\n          vfinfo::lexical_block_14::lexical_block_14_4::last_function = (char *)xstrdup();\n          *(undefined4 *)(puVar25 + 0x18) = 0;\n          goto LAB_000343b5;\n        }\n        iVar20 = *(int *)(puVar25 + 0x34);\n        *(char **)(puVar25 + 0x18) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n        puVar25[0x28] = vfinfo::lexical_block_14::lexical_block_14_4::last_file == (char *)0x0;\n        puVar25[0x2f] = iVar20 == 0;\n        if (puVar25[0x28] != puVar25[0x2f]) goto LAB_00034800;\n        if (iVar20 != 0) {\n          *(int *)(puVar25 + -4) = iVar23;\n          *(int *)(puVar25 + -8) = iVar23;\n          *(int *)(puVar25 + -0xc) = iVar20;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x18);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34c8b;\n          uVar31 = filename_cmp();\n          uVar18 = (undefined4)((ulonglong)uVar31 >> 0x20);\n          *(undefined4 *)(puVar25 + 8) = *(undefined4 *)(puVar25 + 0x38);\n          if ((int)uVar31 == 0) {\n            *(undefined4 *)(puVar25 + -4) = uVar18;\n            *(undefined4 *)(puVar25 + -8) = uVar18;\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x38);\n            *(char **)(puVar25 + -0x10) =\n                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34cac;\n            iVar23 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n            *(int *)(puVar25 + 0x18) = iVar23;\n            if (iVar23 == 0) goto LAB_000343b5;\n          }\n          goto LAB_00034800;\n        }\n        *(int *)(puVar25 + 8) = iVar23;\n        *(undefined4 *)(puVar25 + -4) = 0;\n        *(undefined4 *)(puVar25 + -8) = 0;\n        *(int *)(puVar25 + -0xc) = iVar23;\n        *(int *)(puVar25 + 0x28) = iVar23;\n        *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n        *(undefined4 *)(puVar25 + -0x14) = 0x34cd6;\n        iVar20 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        iVar23 = *(int *)(puVar25 + 0x28);\n        *(int *)(puVar25 + 0x18) = iVar20;\n        if (iVar20 != 0) goto LAB_00034800;\nLAB_00034a0d:\n        if ((*(char *)&pbVar30->filename == 'G') && (iVar23 != 0)) {\nLAB_00034a20:\n          *(int *)(puVar25 + -8) = iVar23;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d77d;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34a37;\n          lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n        else {\nLAB_00034902:\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x24);\n          *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 0x20);\n          *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(puVar25 + 0x1c);\n          *(char **)(puVar25 + -0x1c) = "(%pA+0x%v)";\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x34924;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n        }\n      }\n      if (*(int *)(puVar25 + 0x18) == 0) goto LAB_0003443a;\n    }" { (expression_statement "*(bfd **)(puVar25 + -0x10) = pbVar28;" (assignment_expression "*(bfd **)(puVar25 + -0x10) = pbVar28" (pointer_expression "*(bfd **)(puVar25 + -0x10)" * (cast_expression "(bfd **)(puVar25 + -0x10)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x34331;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x34331" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar23 = bfd_generic_link_read_symbols();" (assignment_expression "iVar23 = bfd_generic_link_read_symbols()" identifier = (call_expression "bfd_generic_link_read_symbols()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar23 == 0) {\n        *(undefined4 *)(puVar25 + -8) = 5;\n        *(char **)(puVar25 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar25 + -0x10) = 0;\n        *(undefined4 *)(puVar25 + -0x14) = 0x349f8;\n        uVar18 = dcgettext();\n        *(bfd **)(puVar25 + -0xc) = pbVar28;\n        *(undefined4 *)(puVar25 + -0x10) = uVar18;\n        *(undefined4 *)(puVar25 + -0x14) = 0x34a01;\n        einfo(*(char **)(puVar25 + -0x10));\n      }" if (parenthesized_expression "(iVar23 == 0)" ( (binary_expression "iVar23 == 0" identifier == number_literal) )) (compound_statement "{\n        *(undefined4 *)(puVar25 + -8) = 5;\n        *(char **)(puVar25 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar25 + -0x10) = 0;\n        *(undefined4 *)(puVar25 + -0x14) = 0x349f8;\n        uVar18 = dcgettext();\n        *(bfd **)(puVar25 + -0xc) = pbVar28;\n        *(undefined4 *)(puVar25 + -0x10) = uVar18;\n        *(undefined4 *)(puVar25 + -0x14) = 0x34a01;\n        einfo(*(char **)(puVar25 + -0x10));\n      }" { (expression_statement "*(undefined4 *)(puVar25 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar25 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar25 + -8)" * (cast_expression "(undefined4 *)(puVar25 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar25 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";" (assignment_expression "*(char **)(puVar25 + -0xc) = "%F%P: %pB: could not read symbols: %E\n"" (pointer_expression "*(char **)(puVar25 + -0xc)" * (cast_expression "(char **)(puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = (string_literal ""%F%P: %pB: could not read symbols: %E\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar25 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar25 + -0x10)" * (cast_expression "(undefined4 *)(puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x349f8;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x349f8" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar18 = dcgettext();" (assignment_expression "uVar18 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(bfd **)(puVar25 + -0xc) = pbVar28;" (assignment_expression "*(bfd **)(puVar25 + -0xc) = pbVar28" (pointer_expression "*(bfd **)(puVar25 + -0xc)" * (cast_expression "(bfd **)(puVar25 + -0xc)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x10) = uVar18;" (assignment_expression "*(undefined4 *)(puVar25 + -0x10) = uVar18" (pointer_expression "*(undefined4 *)(puVar25 + -0x10)" * (cast_expression "(undefined4 *)(puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x34a01;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x34a01" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "einfo(*(char **)(puVar25 + -0x10));" (call_expression "einfo(*(char **)(puVar25 + -0x10))" identifier (argument_list "(*(char **)(puVar25 + -0x10))" ( (pointer_expression "*(char **)(puVar25 + -0x10)" * (cast_expression "(char **)(puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) ))) ;) })) (expression_statement "pbVar5 = pbVar28->xvec;" (assignment_expression "pbVar5 = pbVar28->xvec" identifier = (field_expression "pbVar28->xvec" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar25 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar25 + -0x10)" * (cast_expression "(undefined4 *)(puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar25 + -0x14) = puVar25 + 0x3c;" (assignment_expression "*(undefined1 **)(puVar25 + -0x14) = puVar25 + 0x3c" (pointer_expression "*(undefined1 **)(puVar25 + -0x14)" * (cast_expression "(undefined1 **)(puVar25 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = (binary_expression "puVar25 + 0x3c" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar25 + -0x18) = puVar25 + 0x38;" (assignment_expression "*(undefined1 **)(puVar25 + -0x18) = puVar25 + 0x38" (pointer_expression "*(undefined1 **)(puVar25 + -0x18)" * (cast_expression "(undefined1 **)(puVar25 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x18)" ( (binary_expression "puVar25 + -0x18" identifier + number_literal) )))) = (binary_expression "puVar25 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar25 + -0x1c) = puVar25 + 0x34;" (assignment_expression "*(undefined1 **)(puVar25 + -0x1c) = puVar25 + 0x34" (pointer_expression "*(undefined1 **)(puVar25 + -0x1c)" * (cast_expression "(undefined1 **)(puVar25 + -0x1c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x1c)" ( (binary_expression "puVar25 + -0x1c" identifier + number_literal) )))) = (binary_expression "puVar25 + 0x34" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x24);" (assignment_expression "*(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x24)" (pointer_expression "*(undefined4 *)(puVar25 + -0x20)" * (cast_expression "(undefined4 *)(puVar25 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x20)" ( (binary_expression "puVar25 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x24)" * (cast_expression "(undefined4 *)(puVar25 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x24)" ( (binary_expression "puVar25 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x24) = *(undefined4 *)(puVar25 + 0x20);" (assignment_expression "*(undefined4 *)(puVar25 + -0x24) = *(undefined4 *)(puVar25 + 0x20)" (pointer_expression "*(undefined4 *)(puVar25 + -0x24)" * (cast_expression "(undefined4 *)(puVar25 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x24)" ( (binary_expression "puVar25 + -0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x20)" * (cast_expression "(undefined4 *)(puVar25 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x20)" ( (binary_expression "puVar25 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x28) = *(undefined4 *)(puVar25 + 0x1c);" (assignment_expression "*(undefined4 *)(puVar25 + -0x28) = *(undefined4 *)(puVar25 + 0x1c)" (pointer_expression "*(undefined4 *)(puVar25 + -0x28)" * (cast_expression "(undefined4 *)(puVar25 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x28)" ( (binary_expression "puVar25 + -0x28" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x1c)" * (cast_expression "(undefined4 *)(puVar25 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x1c)" ( (binary_expression "puVar25 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(bfd_symbol ***)(puVar25 + -0x2c) = pbVar28->outsymbols;" (assignment_expression "*(bfd_symbol ***)(puVar25 + -0x2c) = pbVar28->outsymbols" (pointer_expression "*(bfd_symbol ***)(puVar25 + -0x2c)" * (cast_expression "(bfd_symbol ***)(puVar25 + -0x2c)" ( (type_descriptor "bfd_symbol ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar25 + -0x2c)" ( (binary_expression "puVar25 + -0x2c" identifier + number_literal) )))) = (field_expression "pbVar28->outsymbols" identifier -> field_identifier)) ;) (expression_statement "*(bfd **)(puVar25 + -0x30) = pbVar28;" (assignment_expression "*(bfd **)(puVar25 + -0x30) = pbVar28" (pointer_expression "*(bfd **)(puVar25 + -0x30)" * (cast_expression "(bfd **)(puVar25 + -0x30)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x30)" ( (binary_expression "puVar25 + -0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "p_Var6 = pbVar5->_bfd_find_nearest_line;" (assignment_expression "p_Var6 = pbVar5->_bfd_find_nearest_line" identifier = (field_expression "pbVar5->_bfd_find_nearest_line" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x34) = 0x34369;" (assignment_expression "*(undefined4 *)(puVar25 + -0x34) = 0x34369" (pointer_expression "*(undefined4 *)(puVar25 + -0x34)" * (cast_expression "(undefined4 *)(puVar25 + -0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x34)" ( (binary_expression "puVar25 + -0x34" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bVar16 = (*p_Var6)(*(bfd **)(puVar25 + -0x30),*(bfd_symbol ***)(puVar25 + -0x2c),\n                         *(bfd_section **)(puVar25 + -0x28),*(bfd_vma *)(puVar25 + -0x24),\n                         *(char ***)(puVar25 + -0x1c),*(char ***)(puVar25 + -0x18),\n                         *(uint **)(puVar25 + -0x14),*(uint **)(puVar25 + -0x10));" (assignment_expression "bVar16 = (*p_Var6)(*(bfd **)(puVar25 + -0x30),*(bfd_symbol ***)(puVar25 + -0x2c),\n                         *(bfd_section **)(puVar25 + -0x28),*(bfd_vma *)(puVar25 + -0x24),\n                         *(char ***)(puVar25 + -0x1c),*(char ***)(puVar25 + -0x18),\n                         *(uint **)(puVar25 + -0x14),*(uint **)(puVar25 + -0x10))" identifier = (call_expression "(*p_Var6)(*(bfd **)(puVar25 + -0x30),*(bfd_symbol ***)(puVar25 + -0x2c),\n                         *(bfd_section **)(puVar25 + -0x28),*(bfd_vma *)(puVar25 + -0x24),\n                         *(char ***)(puVar25 + -0x1c),*(char ***)(puVar25 + -0x18),\n                         *(uint **)(puVar25 + -0x14),*(uint **)(puVar25 + -0x10))" (parenthesized_expression "(*p_Var6)" ( (pointer_expression "*p_Var6" * identifier) )) (argument_list "(*(bfd **)(puVar25 + -0x30),*(bfd_symbol ***)(puVar25 + -0x2c),\n                         *(bfd_section **)(puVar25 + -0x28),*(bfd_vma *)(puVar25 + -0x24),\n                         *(char ***)(puVar25 + -0x1c),*(char ***)(puVar25 + -0x18),\n                         *(uint **)(puVar25 + -0x14),*(uint **)(puVar25 + -0x10))" ( (pointer_expression "*(bfd **)(puVar25 + -0x30)" * (cast_expression "(bfd **)(puVar25 + -0x30)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x30)" ( (binary_expression "puVar25 + -0x30" identifier + number_literal) )))) , (pointer_expression "*(bfd_symbol ***)(puVar25 + -0x2c)" * (cast_expression "(bfd_symbol ***)(puVar25 + -0x2c)" ( (type_descriptor "bfd_symbol ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar25 + -0x2c)" ( (binary_expression "puVar25 + -0x2c" identifier + number_literal) )))) , (pointer_expression "*(bfd_section **)(puVar25 + -0x28)" * (cast_expression "(bfd_section **)(puVar25 + -0x28)" ( (type_descriptor "bfd_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x28)" ( (binary_expression "puVar25 + -0x28" identifier + number_literal) )))) , (pointer_expression "*(bfd_vma *)(puVar25 + -0x24)" * (cast_expression "(bfd_vma *)(puVar25 + -0x24)" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x24)" ( (binary_expression "puVar25 + -0x24" identifier + number_literal) )))) , (pointer_expression "*(char ***)(puVar25 + -0x1c)" * (cast_expression "(char ***)(puVar25 + -0x1c)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar25 + -0x1c)" ( (binary_expression "puVar25 + -0x1c" identifier + number_literal) )))) , (pointer_expression "*(char ***)(puVar25 + -0x18)" * (cast_expression "(char ***)(puVar25 + -0x18)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar25 + -0x18)" ( (binary_expression "puVar25 + -0x18" identifier + number_literal) )))) , (pointer_expression "*(uint **)(puVar25 + -0x14)" * (cast_expression "(uint **)(puVar25 + -0x14)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) , (pointer_expression "*(uint **)(puVar25 + -0x10)" * (cast_expression "(uint **)(puVar25 + -0x10)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (bVar16 == 0) goto LAB_00034747;" if (parenthesized_expression "(bVar16 == 0)" ( (binary_expression "bVar16 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00034747;" goto statement_identifier ;)) (expression_statement "iVar23 = *(int *)(puVar25 + 0x38);" (assignment_expression "iVar23 = *(int *)(puVar25 + 0x38)" identifier = (pointer_expression "*(int *)(puVar25 + 0x38)" * (cast_expression "(int *)(puVar25 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x38)" ( (binary_expression "puVar25 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar25 + 8) = iVar23;" (assignment_expression "*(int *)(puVar25 + 8) = iVar23" (pointer_expression "*(int *)(puVar25 + 8)" * (cast_expression "(int *)(puVar25 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 8)" ( (binary_expression "puVar25 + 8" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((iVar23 == 0) ||\n         ((*(char *)&pbVar30->filename != 'C' && (*(char *)&pbVar30->filename != 'H')))) {\n        *(bfd **)(puVar25 + -8) = pbVar28;\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d36d;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x343aa;\n        lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        *(undefined4 *)(puVar25 + 0x18) = 1;\nLAB_000343b5:\n        if (*(int *)(puVar25 + 0x34) == 0) {\n          iVar23 = *(int *)(puVar25 + 0x38);\n          goto LAB_00034a0d;\n        }\n        *(int *)(puVar25 + -8) = *(int *)(puVar25 + 0x34);\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d779;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x343d8;\n        fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        iVar23 = *(int *)(puVar25 + 0x38);\n        if ((iVar23 != 0) && (*(char *)&pbVar30->filename == 'G')) goto LAB_00034a20;\n        if ((*(int *)(puVar25 + 0x34) == 0) || (iVar23 = *(int *)(puVar25 + 0x3c), iVar23 == 0))\n        goto LAB_00034902;\n        if (*(char *)&pbVar30->filename == 'H') {\n          *(undefined **)(puVar25 + -4) = &DAT_0007b12f;\n          *(int *)(puVar25 + -8) = iVar23;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d7d0;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x348ff;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n          goto LAB_00034902;\n        }\n        *(char **)(puVar25 + -4) = "";\n        *(int *)(puVar25 + -8) = iVar23;\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d7d0;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x3442b;\n        fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n      }\n      else {\n        if (((vfinfo::lexical_block_14::lexical_block_14_4::last_bfd == (bfd *)0x0) ||\n            (vfinfo::lexical_block_14::lexical_block_14_4::last_function == (char *)0x0)) ||\n           (vfinfo::lexical_block_14::lexical_block_14_4::last_bfd != pbVar28)) {\nLAB_00034800:\n          *(undefined4 *)(puVar25 + -8) = 5;\n          *(char **)(puVar25 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar25 + -0x10) = 0;\n          *(undefined4 *)(puVar25 + -0x14) = 0x34813;\n          uVar18 = dcgettext();\n          *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 8);\n          *(bfd **)(puVar25 + -0x18) = pbVar28;\n          *(undefined4 *)(puVar25 + -0x1c) = uVar18;\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x34825;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n          vfinfo::lexical_block_14::lexical_block_14_4::last_bfd = pbVar28;\n          if (vfinfo::lexical_block_14::lexical_block_14_4::last_file != (char *)0x0) {\n            *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34841;\n            free(*(void **)(puVar25 + -0x10));\n          }\n          vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)0x0;\n          if (*(int *)(puVar25 + 0x34) != 0) {\n            *(int *)(puVar25 + -0x10) = *(int *)(puVar25 + 0x34);\n            *(undefined4 *)(puVar25 + -0x14) = 0x3485f;\n            vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)xstrdup();\n          }\n          if (vfinfo::lexical_block_14::lexical_block_14_4::last_function != (char *)0x0) {\n            *(char **)(puVar25 + -0x10) =\n                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n            *(undefined4 *)(puVar25 + -0x14) = 0x3487b;\n            free(*(void **)(puVar25 + -0x10));\n          }\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x38);\n          *(undefined4 *)(puVar25 + -0x14) = 0x3488a;\n          vfinfo::lexical_block_14::lexical_block_14_4::last_function = (char *)xstrdup();\n          *(undefined4 *)(puVar25 + 0x18) = 0;\n          goto LAB_000343b5;\n        }\n        iVar20 = *(int *)(puVar25 + 0x34);\n        *(char **)(puVar25 + 0x18) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n        puVar25[0x28] = vfinfo::lexical_block_14::lexical_block_14_4::last_file == (char *)0x0;\n        puVar25[0x2f] = iVar20 == 0;\n        if (puVar25[0x28] != puVar25[0x2f]) goto LAB_00034800;\n        if (iVar20 != 0) {\n          *(int *)(puVar25 + -4) = iVar23;\n          *(int *)(puVar25 + -8) = iVar23;\n          *(int *)(puVar25 + -0xc) = iVar20;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x18);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34c8b;\n          uVar31 = filename_cmp();\n          uVar18 = (undefined4)((ulonglong)uVar31 >> 0x20);\n          *(undefined4 *)(puVar25 + 8) = *(undefined4 *)(puVar25 + 0x38);\n          if ((int)uVar31 == 0) {\n            *(undefined4 *)(puVar25 + -4) = uVar18;\n            *(undefined4 *)(puVar25 + -8) = uVar18;\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x38);\n            *(char **)(puVar25 + -0x10) =\n                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34cac;\n            iVar23 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n            *(int *)(puVar25 + 0x18) = iVar23;\n            if (iVar23 == 0) goto LAB_000343b5;\n          }\n          goto LAB_00034800;\n        }\n        *(int *)(puVar25 + 8) = iVar23;\n        *(undefined4 *)(puVar25 + -4) = 0;\n        *(undefined4 *)(puVar25 + -8) = 0;\n        *(int *)(puVar25 + -0xc) = iVar23;\n        *(int *)(puVar25 + 0x28) = iVar23;\n        *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n        *(undefined4 *)(puVar25 + -0x14) = 0x34cd6;\n        iVar20 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        iVar23 = *(int *)(puVar25 + 0x28);\n        *(int *)(puVar25 + 0x18) = iVar20;\n        if (iVar20 != 0) goto LAB_00034800;\nLAB_00034a0d:\n        if ((*(char *)&pbVar30->filename == 'G') && (iVar23 != 0)) {\nLAB_00034a20:\n          *(int *)(puVar25 + -8) = iVar23;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d77d;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34a37;\n          lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n        else {\nLAB_00034902:\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x24);\n          *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 0x20);\n          *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(puVar25 + 0x1c);\n          *(char **)(puVar25 + -0x1c) = "(%pA+0x%v)";\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x34924;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n        }\n      }" if (parenthesized_expression "((iVar23 == 0) ||\n         ((*(char *)&pbVar30->filename != 'C' && (*(char *)&pbVar30->filename != 'H'))))" ( (binary_expression "(iVar23 == 0) ||\n         ((*(char *)&pbVar30->filename != 'C' && (*(char *)&pbVar30->filename != 'H')))" (parenthesized_expression "(iVar23 == 0)" ( (binary_expression "iVar23 == 0" identifier == number_literal) )) || (parenthesized_expression "((*(char *)&pbVar30->filename != 'C' && (*(char *)&pbVar30->filename != 'H')))" ( (parenthesized_expression "(*(char *)&pbVar30->filename != 'C' && (*(char *)&pbVar30->filename != 'H'))" ( (binary_expression "*(char *)&pbVar30->filename != 'C' && (*(char *)&pbVar30->filename != 'H')" (binary_expression "*(char *)&pbVar30->filename != 'C'" (pointer_expression "*(char *)&pbVar30->filename" * (cast_expression "(char *)&pbVar30->filename" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pbVar30->filename" & (field_expression "pbVar30->filename" identifier -> field_identifier)))) != (char_literal "'C'" ' character ')) && (parenthesized_expression "(*(char *)&pbVar30->filename != 'H')" ( (binary_expression "*(char *)&pbVar30->filename != 'H'" (pointer_expression "*(char *)&pbVar30->filename" * (cast_expression "(char *)&pbVar30->filename" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pbVar30->filename" & (field_expression "pbVar30->filename" identifier -> field_identifier)))) != (char_literal "'H'" ' character ')) ))) )) ))) )) (compound_statement "{\n        *(bfd **)(puVar25 + -8) = pbVar28;\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d36d;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x343aa;\n        lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        *(undefined4 *)(puVar25 + 0x18) = 1;\nLAB_000343b5:\n        if (*(int *)(puVar25 + 0x34) == 0) {\n          iVar23 = *(int *)(puVar25 + 0x38);\n          goto LAB_00034a0d;\n        }\n        *(int *)(puVar25 + -8) = *(int *)(puVar25 + 0x34);\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d779;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x343d8;\n        fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        iVar23 = *(int *)(puVar25 + 0x38);\n        if ((iVar23 != 0) && (*(char *)&pbVar30->filename == 'G')) goto LAB_00034a20;\n        if ((*(int *)(puVar25 + 0x34) == 0) || (iVar23 = *(int *)(puVar25 + 0x3c), iVar23 == 0))\n        goto LAB_00034902;\n        if (*(char *)&pbVar30->filename == 'H') {\n          *(undefined **)(puVar25 + -4) = &DAT_0007b12f;\n          *(int *)(puVar25 + -8) = iVar23;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d7d0;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x348ff;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n          goto LAB_00034902;\n        }\n        *(char **)(puVar25 + -4) = "";\n        *(int *)(puVar25 + -8) = iVar23;\n        *(undefined **)(puVar25 + -0xc) = &DAT_0007d7d0;\n        *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n        *(undefined4 *)(puVar25 + -0x14) = 0x3442b;\n        fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n      }" { (expression_statement "*(bfd **)(puVar25 + -8) = pbVar28;" (assignment_expression "*(bfd **)(puVar25 + -8) = pbVar28" (pointer_expression "*(bfd **)(puVar25 + -8)" * (cast_expression "(bfd **)(puVar25 + -8)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar25 + -0xc) = &DAT_0007d36d;" (assignment_expression "*(undefined **)(puVar25 + -0xc) = &DAT_0007d36d" (pointer_expression "*(undefined **)(puVar25 + -0xc)" * (cast_expression "(undefined **)(puVar25 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_0007d36d" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);" (assignment_expression "*(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150)" (pointer_expression "*(undefined4 *)(puVar25 + -0x10)" * (cast_expression "(undefined4 *)(puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x150)" * (cast_expression "(undefined4 *)(puVar25 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x150)" ( (binary_expression "puVar25 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x343aa;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x343aa" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));" (call_expression "lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc))" identifier (argument_list "(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc))" ( (pointer_expression "*(FILE **)(puVar25 + -0x10)" * (cast_expression "(FILE **)(puVar25 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar25 + -0xc)" * (cast_expression "(char **)(puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(puVar25 + 0x18) = 1;" (assignment_expression "*(undefined4 *)(puVar25 + 0x18) = 1" (pointer_expression "*(undefined4 *)(puVar25 + 0x18)" * (cast_expression "(undefined4 *)(puVar25 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x18)" ( (binary_expression "puVar25 + 0x18" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "LAB_000343b5:\n        if (*(int *)(puVar25 + 0x34) == 0) {\n          iVar23 = *(int *)(puVar25 + 0x38);\n          goto LAB_00034a0d;\n        }" statement_identifier : (if_statement "if (*(int *)(puVar25 + 0x34) == 0) {\n          iVar23 = *(int *)(puVar25 + 0x38);\n          goto LAB_00034a0d;\n        }" if (parenthesized_expression "(*(int *)(puVar25 + 0x34) == 0)" ( (binary_expression "*(int *)(puVar25 + 0x34) == 0" (pointer_expression "*(int *)(puVar25 + 0x34)" * (cast_expression "(int *)(puVar25 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x34)" ( (binary_expression "puVar25 + 0x34" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          iVar23 = *(int *)(puVar25 + 0x38);\n          goto LAB_00034a0d;\n        }" { (expression_statement "iVar23 = *(int *)(puVar25 + 0x38);" (assignment_expression "iVar23 = *(int *)(puVar25 + 0x38)" identifier = (pointer_expression "*(int *)(puVar25 + 0x38)" * (cast_expression "(int *)(puVar25 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x38)" ( (binary_expression "puVar25 + 0x38" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00034a0d;" goto statement_identifier ;) }))) (expression_statement "*(int *)(puVar25 + -8) = *(int *)(puVar25 + 0x34);" (assignment_expression "*(int *)(puVar25 + -8) = *(int *)(puVar25 + 0x34)" (pointer_expression "*(int *)(puVar25 + -8)" * (cast_expression "(int *)(puVar25 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) = (pointer_expression "*(int *)(puVar25 + 0x34)" * (cast_expression "(int *)(puVar25 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x34)" ( (binary_expression "puVar25 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar25 + -0xc) = &DAT_0007d779;" (assignment_expression "*(undefined **)(puVar25 + -0xc) = &DAT_0007d779" (pointer_expression "*(undefined **)(puVar25 + -0xc)" * (cast_expression "(undefined **)(puVar25 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_0007d779" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);" (assignment_expression "*(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150)" (pointer_expression "*(undefined4 *)(puVar25 + -0x10)" * (cast_expression "(undefined4 *)(puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x150)" * (cast_expression "(undefined4 *)(puVar25 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x150)" ( (binary_expression "puVar25 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x343d8;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x343d8" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));" (call_expression "fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc))" identifier (argument_list "(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc))" ( (pointer_expression "*(FILE **)(puVar25 + -0x10)" * (cast_expression "(FILE **)(puVar25 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar25 + -0xc)" * (cast_expression "(char **)(puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "iVar23 = *(int *)(puVar25 + 0x38);" (assignment_expression "iVar23 = *(int *)(puVar25 + 0x38)" identifier = (pointer_expression "*(int *)(puVar25 + 0x38)" * (cast_expression "(int *)(puVar25 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x38)" ( (binary_expression "puVar25 + 0x38" identifier + number_literal) ))))) ;) (if_statement "if ((iVar23 != 0) && (*(char *)&pbVar30->filename == 'G')) goto LAB_00034a20;" if (parenthesized_expression "((iVar23 != 0) && (*(char *)&pbVar30->filename == 'G'))" ( (binary_expression "(iVar23 != 0) && (*(char *)&pbVar30->filename == 'G')" (parenthesized_expression "(iVar23 != 0)" ( (binary_expression "iVar23 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(char *)&pbVar30->filename == 'G')" ( (binary_expression "*(char *)&pbVar30->filename == 'G'" (pointer_expression "*(char *)&pbVar30->filename" * (cast_expression "(char *)&pbVar30->filename" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pbVar30->filename" & (field_expression "pbVar30->filename" identifier -> field_identifier)))) == (char_literal "'G'" ' character ')) ))) )) (goto_statement "goto LAB_00034a20;" goto statement_identifier ;)) (if_statement "if ((*(int *)(puVar25 + 0x34) == 0) || (iVar23 = *(int *)(puVar25 + 0x3c), iVar23 == 0))\n        goto LAB_00034902;" if (parenthesized_expression "((*(int *)(puVar25 + 0x34) == 0) || (iVar23 = *(int *)(puVar25 + 0x3c), iVar23 == 0))" ( (binary_expression "(*(int *)(puVar25 + 0x34) == 0) || (iVar23 = *(int *)(puVar25 + 0x3c), iVar23 == 0)" (parenthesized_expression "(*(int *)(puVar25 + 0x34) == 0)" ( (binary_expression "*(int *)(puVar25 + 0x34) == 0" (pointer_expression "*(int *)(puVar25 + 0x34)" * (cast_expression "(int *)(puVar25 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x34)" ( (binary_expression "puVar25 + 0x34" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(iVar23 = *(int *)(puVar25 + 0x3c), iVar23 == 0)" ( (comma_expression "iVar23 = *(int *)(puVar25 + 0x3c), iVar23 == 0" (assignment_expression "iVar23 = *(int *)(puVar25 + 0x3c)" identifier = (pointer_expression "*(int *)(puVar25 + 0x3c)" * (cast_expression "(int *)(puVar25 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x3c)" ( (binary_expression "puVar25 + 0x3c" identifier + number_literal) ))))) , (binary_expression "iVar23 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_00034902;" goto statement_identifier ;)) (if_statement "if (*(char *)&pbVar30->filename == 'H') {\n          *(undefined **)(puVar25 + -4) = &DAT_0007b12f;\n          *(int *)(puVar25 + -8) = iVar23;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d7d0;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x348ff;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n          goto LAB_00034902;\n        }" if (parenthesized_expression "(*(char *)&pbVar30->filename == 'H')" ( (binary_expression "*(char *)&pbVar30->filename == 'H'" (pointer_expression "*(char *)&pbVar30->filename" * (cast_expression "(char *)&pbVar30->filename" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pbVar30->filename" & (field_expression "pbVar30->filename" identifier -> field_identifier)))) == (char_literal "'H'" ' character ')) )) (compound_statement "{\n          *(undefined **)(puVar25 + -4) = &DAT_0007b12f;\n          *(int *)(puVar25 + -8) = iVar23;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d7d0;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x348ff;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n          goto LAB_00034902;\n        }" { (expression_statement "*(undefined **)(puVar25 + -4) = &DAT_0007b12f;" (assignment_expression "*(undefined **)(puVar25 + -4) = &DAT_0007b12f" (pointer_expression "*(undefined **)(puVar25 + -4)" * (cast_expression "(undefined **)(puVar25 + -4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -4)" ( (binary_expression "puVar25 + -4" identifier + number_literal) )))) = (pointer_expression "&DAT_0007b12f" & identifier)) ;) (expression_statement "*(int *)(puVar25 + -8) = iVar23;" (assignment_expression "*(int *)(puVar25 + -8) = iVar23" (pointer_expression "*(int *)(puVar25 + -8)" * (cast_expression "(int *)(puVar25 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar25 + -0xc) = &DAT_0007d7d0;" (assignment_expression "*(undefined **)(puVar25 + -0xc) = &DAT_0007d7d0" (pointer_expression "*(undefined **)(puVar25 + -0xc)" * (cast_expression "(undefined **)(puVar25 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_0007d7d0" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);" (assignment_expression "*(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150)" (pointer_expression "*(undefined4 *)(puVar25 + -0x10)" * (cast_expression "(undefined4 *)(puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x150)" * (cast_expression "(undefined4 *)(puVar25 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x150)" ( (binary_expression "puVar25 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x348ff;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x348ff" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));" (call_expression "fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc))" identifier (argument_list "(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc))" ( (pointer_expression "*(FILE **)(puVar25 + -0x10)" * (cast_expression "(FILE **)(puVar25 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar25 + -0xc)" * (cast_expression "(char **)(puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) ))) ;) (goto_statement "goto LAB_00034902;" goto statement_identifier ;) })) (expression_statement "*(char **)(puVar25 + -4) = "";" (assignment_expression "*(char **)(puVar25 + -4) = """ (pointer_expression "*(char **)(puVar25 + -4)" * (cast_expression "(char **)(puVar25 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -4)" ( (binary_expression "puVar25 + -4" identifier + number_literal) )))) = (string_literal """" " ")) ;) (expression_statement "*(int *)(puVar25 + -8) = iVar23;" (assignment_expression "*(int *)(puVar25 + -8) = iVar23" (pointer_expression "*(int *)(puVar25 + -8)" * (cast_expression "(int *)(puVar25 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar25 + -0xc) = &DAT_0007d7d0;" (assignment_expression "*(undefined **)(puVar25 + -0xc) = &DAT_0007d7d0" (pointer_expression "*(undefined **)(puVar25 + -0xc)" * (cast_expression "(undefined **)(puVar25 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_0007d7d0" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);" (assignment_expression "*(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150)" (pointer_expression "*(undefined4 *)(puVar25 + -0x10)" * (cast_expression "(undefined4 *)(puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x150)" * (cast_expression "(undefined4 *)(puVar25 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x150)" ( (binary_expression "puVar25 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x3442b;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x3442b" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));" (call_expression "fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc))" identifier (argument_list "(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc))" ( (pointer_expression "*(FILE **)(puVar25 + -0x10)" * (cast_expression "(FILE **)(puVar25 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar25 + -0xc)" * (cast_expression "(char **)(puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) ))) ;) }) (else_clause "else {\n        if (((vfinfo::lexical_block_14::lexical_block_14_4::last_bfd == (bfd *)0x0) ||\n            (vfinfo::lexical_block_14::lexical_block_14_4::last_function == (char *)0x0)) ||\n           (vfinfo::lexical_block_14::lexical_block_14_4::last_bfd != pbVar28)) {\nLAB_00034800:\n          *(undefined4 *)(puVar25 + -8) = 5;\n          *(char **)(puVar25 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar25 + -0x10) = 0;\n          *(undefined4 *)(puVar25 + -0x14) = 0x34813;\n          uVar18 = dcgettext();\n          *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 8);\n          *(bfd **)(puVar25 + -0x18) = pbVar28;\n          *(undefined4 *)(puVar25 + -0x1c) = uVar18;\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x34825;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n          vfinfo::lexical_block_14::lexical_block_14_4::last_bfd = pbVar28;\n          if (vfinfo::lexical_block_14::lexical_block_14_4::last_file != (char *)0x0) {\n            *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34841;\n            free(*(void **)(puVar25 + -0x10));\n          }\n          vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)0x0;\n          if (*(int *)(puVar25 + 0x34) != 0) {\n            *(int *)(puVar25 + -0x10) = *(int *)(puVar25 + 0x34);\n            *(undefined4 *)(puVar25 + -0x14) = 0x3485f;\n            vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)xstrdup();\n          }\n          if (vfinfo::lexical_block_14::lexical_block_14_4::last_function != (char *)0x0) {\n            *(char **)(puVar25 + -0x10) =\n                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n            *(undefined4 *)(puVar25 + -0x14) = 0x3487b;\n            free(*(void **)(puVar25 + -0x10));\n          }\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x38);\n          *(undefined4 *)(puVar25 + -0x14) = 0x3488a;\n          vfinfo::lexical_block_14::lexical_block_14_4::last_function = (char *)xstrdup();\n          *(undefined4 *)(puVar25 + 0x18) = 0;\n          goto LAB_000343b5;\n        }\n        iVar20 = *(int *)(puVar25 + 0x34);\n        *(char **)(puVar25 + 0x18) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n        puVar25[0x28] = vfinfo::lexical_block_14::lexical_block_14_4::last_file == (char *)0x0;\n        puVar25[0x2f] = iVar20 == 0;\n        if (puVar25[0x28] != puVar25[0x2f]) goto LAB_00034800;\n        if (iVar20 != 0) {\n          *(int *)(puVar25 + -4) = iVar23;\n          *(int *)(puVar25 + -8) = iVar23;\n          *(int *)(puVar25 + -0xc) = iVar20;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x18);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34c8b;\n          uVar31 = filename_cmp();\n          uVar18 = (undefined4)((ulonglong)uVar31 >> 0x20);\n          *(undefined4 *)(puVar25 + 8) = *(undefined4 *)(puVar25 + 0x38);\n          if ((int)uVar31 == 0) {\n            *(undefined4 *)(puVar25 + -4) = uVar18;\n            *(undefined4 *)(puVar25 + -8) = uVar18;\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x38);\n            *(char **)(puVar25 + -0x10) =\n                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34cac;\n            iVar23 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n            *(int *)(puVar25 + 0x18) = iVar23;\n            if (iVar23 == 0) goto LAB_000343b5;\n          }\n          goto LAB_00034800;\n        }\n        *(int *)(puVar25 + 8) = iVar23;\n        *(undefined4 *)(puVar25 + -4) = 0;\n        *(undefined4 *)(puVar25 + -8) = 0;\n        *(int *)(puVar25 + -0xc) = iVar23;\n        *(int *)(puVar25 + 0x28) = iVar23;\n        *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n        *(undefined4 *)(puVar25 + -0x14) = 0x34cd6;\n        iVar20 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        iVar23 = *(int *)(puVar25 + 0x28);\n        *(int *)(puVar25 + 0x18) = iVar20;\n        if (iVar20 != 0) goto LAB_00034800;\nLAB_00034a0d:\n        if ((*(char *)&pbVar30->filename == 'G') && (iVar23 != 0)) {\nLAB_00034a20:\n          *(int *)(puVar25 + -8) = iVar23;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d77d;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34a37;\n          lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n        else {\nLAB_00034902:\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x24);\n          *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 0x20);\n          *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(puVar25 + 0x1c);\n          *(char **)(puVar25 + -0x1c) = "(%pA+0x%v)";\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x34924;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n        }\n      }" else (compound_statement "{\n        if (((vfinfo::lexical_block_14::lexical_block_14_4::last_bfd == (bfd *)0x0) ||\n            (vfinfo::lexical_block_14::lexical_block_14_4::last_function == (char *)0x0)) ||\n           (vfinfo::lexical_block_14::lexical_block_14_4::last_bfd != pbVar28)) {\nLAB_00034800:\n          *(undefined4 *)(puVar25 + -8) = 5;\n          *(char **)(puVar25 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar25 + -0x10) = 0;\n          *(undefined4 *)(puVar25 + -0x14) = 0x34813;\n          uVar18 = dcgettext();\n          *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 8);\n          *(bfd **)(puVar25 + -0x18) = pbVar28;\n          *(undefined4 *)(puVar25 + -0x1c) = uVar18;\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x34825;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n          vfinfo::lexical_block_14::lexical_block_14_4::last_bfd = pbVar28;\n          if (vfinfo::lexical_block_14::lexical_block_14_4::last_file != (char *)0x0) {\n            *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34841;\n            free(*(void **)(puVar25 + -0x10));\n          }\n          vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)0x0;\n          if (*(int *)(puVar25 + 0x34) != 0) {\n            *(int *)(puVar25 + -0x10) = *(int *)(puVar25 + 0x34);\n            *(undefined4 *)(puVar25 + -0x14) = 0x3485f;\n            vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)xstrdup();\n          }\n          if (vfinfo::lexical_block_14::lexical_block_14_4::last_function != (char *)0x0) {\n            *(char **)(puVar25 + -0x10) =\n                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n            *(undefined4 *)(puVar25 + -0x14) = 0x3487b;\n            free(*(void **)(puVar25 + -0x10));\n          }\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x38);\n          *(undefined4 *)(puVar25 + -0x14) = 0x3488a;\n          vfinfo::lexical_block_14::lexical_block_14_4::last_function = (char *)xstrdup();\n          *(undefined4 *)(puVar25 + 0x18) = 0;\n          goto LAB_000343b5;\n        }\n        iVar20 = *(int *)(puVar25 + 0x34);\n        *(char **)(puVar25 + 0x18) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n        puVar25[0x28] = vfinfo::lexical_block_14::lexical_block_14_4::last_file == (char *)0x0;\n        puVar25[0x2f] = iVar20 == 0;\n        if (puVar25[0x28] != puVar25[0x2f]) goto LAB_00034800;\n        if (iVar20 != 0) {\n          *(int *)(puVar25 + -4) = iVar23;\n          *(int *)(puVar25 + -8) = iVar23;\n          *(int *)(puVar25 + -0xc) = iVar20;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x18);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34c8b;\n          uVar31 = filename_cmp();\n          uVar18 = (undefined4)((ulonglong)uVar31 >> 0x20);\n          *(undefined4 *)(puVar25 + 8) = *(undefined4 *)(puVar25 + 0x38);\n          if ((int)uVar31 == 0) {\n            *(undefined4 *)(puVar25 + -4) = uVar18;\n            *(undefined4 *)(puVar25 + -8) = uVar18;\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x38);\n            *(char **)(puVar25 + -0x10) =\n                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34cac;\n            iVar23 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n            *(int *)(puVar25 + 0x18) = iVar23;\n            if (iVar23 == 0) goto LAB_000343b5;\n          }\n          goto LAB_00034800;\n        }\n        *(int *)(puVar25 + 8) = iVar23;\n        *(undefined4 *)(puVar25 + -4) = 0;\n        *(undefined4 *)(puVar25 + -8) = 0;\n        *(int *)(puVar25 + -0xc) = iVar23;\n        *(int *)(puVar25 + 0x28) = iVar23;\n        *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n        *(undefined4 *)(puVar25 + -0x14) = 0x34cd6;\n        iVar20 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        iVar23 = *(int *)(puVar25 + 0x28);\n        *(int *)(puVar25 + 0x18) = iVar20;\n        if (iVar20 != 0) goto LAB_00034800;\nLAB_00034a0d:\n        if ((*(char *)&pbVar30->filename == 'G') && (iVar23 != 0)) {\nLAB_00034a20:\n          *(int *)(puVar25 + -8) = iVar23;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d77d;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34a37;\n          lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n        else {\nLAB_00034902:\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x24);\n          *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 0x20);\n          *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(puVar25 + 0x1c);\n          *(char **)(puVar25 + -0x1c) = "(%pA+0x%v)";\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x34924;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n        }\n      }" { (if_statement "if (((vfinfo::lexical_block_14::lexical_block_14_4::last_bfd == (bfd *)0x0) ||\n            (vfinfo::lexical_block_14::lexical_block_14_4::last_function == (char *)0x0)) ||\n           (vfinfo::lexical_block_14::lexical_block_14_4::last_bfd != pbVar28)) {\nLAB_00034800:\n          *(undefined4 *)(puVar25 + -8) = 5;\n          *(char **)(puVar25 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar25 + -0x10) = 0;\n          *(undefined4 *)(puVar25 + -0x14) = 0x34813;\n          uVar18 = dcgettext();\n          *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 8);\n          *(bfd **)(puVar25 + -0x18) = pbVar28;\n          *(undefined4 *)(puVar25 + -0x1c) = uVar18;\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x34825;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n          vfinfo::lexical_block_14::lexical_block_14_4::last_bfd = pbVar28;\n          if (vfinfo::lexical_block_14::lexical_block_14_4::last_file != (char *)0x0) {\n            *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34841;\n            free(*(void **)(puVar25 + -0x10));\n          }\n          vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)0x0;\n          if (*(int *)(puVar25 + 0x34) != 0) {\n            *(int *)(puVar25 + -0x10) = *(int *)(puVar25 + 0x34);\n            *(undefined4 *)(puVar25 + -0x14) = 0x3485f;\n            vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)xstrdup();\n          }\n          if (vfinfo::lexical_block_14::lexical_block_14_4::last_function != (char *)0x0) {\n            *(char **)(puVar25 + -0x10) =\n                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n            *(undefined4 *)(puVar25 + -0x14) = 0x3487b;\n            free(*(void **)(puVar25 + -0x10));\n          }\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x38);\n          *(undefined4 *)(puVar25 + -0x14) = 0x3488a;\n          vfinfo::lexical_block_14::lexical_block_14_4::last_function = (char *)xstrdup();\n          *(undefined4 *)(puVar25 + 0x18) = 0;\n          goto LAB_000343b5;\n        }" if (parenthesized_expression "(((vfinfo::lexical_block_14::lexical_block_14_4::last_bfd == (bfd *)0x0) ||\n            (vfinfo::lexical_block_14::lexical_block_14_4::last_function == (char *)0x0)) ||\n           (vfinfo::lexical_block_14::lexical_block_14_4::last_bfd != pbVar28))" ( (binary_expression "((vfinfo::lexical_block_14::lexical_block_14_4::last_bfd == (bfd *)0x0) ||\n            (vfinfo::lexical_block_14::lexical_block_14_4::last_function == (char *)0x0)) ||\n           (vfinfo::lexical_block_14::lexical_block_14_4::last_bfd != pbVar28)" (parenthesized_expression "((vfinfo::lexical_block_14::lexical_block_14_4::last_bfd == (bfd *)0x0) ||\n            (vfinfo::lexical_block_14::lexical_block_14_4::last_function == (char *)0x0))" ( (binary_expression "(vfinfo::lexical_block_14::lexical_block_14_4::last_bfd == (bfd *)0x0) ||\n            (vfinfo::lexical_block_14::lexical_block_14_4::last_function == (char *)0x0)" (parenthesized_expression "(vfinfo::lexical_block_14::lexical_block_14_4::last_bfd == (bfd *)0x0)" ( (ERROR "vfinfo::lexical_block_14::lexical_block_14_4::" identifier : : identifier : : identifier : :) (binary_expression "last_bfd == (bfd *)0x0" identifier == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(vfinfo::lexical_block_14::lexical_block_14_4::last_function == (char *)0x0)" ( (ERROR "vfinfo::lexical_block_14::lexical_block_14_4::" identifier : : identifier : : identifier : :) (binary_expression "last_function == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) || (parenthesized_expression "(vfinfo::lexical_block_14::lexical_block_14_4::last_bfd != pbVar28)" ( (ERROR "vfinfo::lexical_block_14::lexical_block_14_4::" identifier : : identifier : : identifier : :) (binary_expression "last_bfd != pbVar28" identifier != identifier) ))) )) (compound_statement "{\nLAB_00034800:\n          *(undefined4 *)(puVar25 + -8) = 5;\n          *(char **)(puVar25 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar25 + -0x10) = 0;\n          *(undefined4 *)(puVar25 + -0x14) = 0x34813;\n          uVar18 = dcgettext();\n          *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 8);\n          *(bfd **)(puVar25 + -0x18) = pbVar28;\n          *(undefined4 *)(puVar25 + -0x1c) = uVar18;\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x34825;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n          vfinfo::lexical_block_14::lexical_block_14_4::last_bfd = pbVar28;\n          if (vfinfo::lexical_block_14::lexical_block_14_4::last_file != (char *)0x0) {\n            *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34841;\n            free(*(void **)(puVar25 + -0x10));\n          }\n          vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)0x0;\n          if (*(int *)(puVar25 + 0x34) != 0) {\n            *(int *)(puVar25 + -0x10) = *(int *)(puVar25 + 0x34);\n            *(undefined4 *)(puVar25 + -0x14) = 0x3485f;\n            vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)xstrdup();\n          }\n          if (vfinfo::lexical_block_14::lexical_block_14_4::last_function != (char *)0x0) {\n            *(char **)(puVar25 + -0x10) =\n                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n            *(undefined4 *)(puVar25 + -0x14) = 0x3487b;\n            free(*(void **)(puVar25 + -0x10));\n          }\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x38);\n          *(undefined4 *)(puVar25 + -0x14) = 0x3488a;\n          vfinfo::lexical_block_14::lexical_block_14_4::last_function = (char *)xstrdup();\n          *(undefined4 *)(puVar25 + 0x18) = 0;\n          goto LAB_000343b5;\n        }" { (labeled_statement "LAB_00034800:\n          *(undefined4 *)(puVar25 + -8) = 5;" statement_identifier : (expression_statement "*(undefined4 *)(puVar25 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar25 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar25 + -8)" * (cast_expression "(undefined4 *)(puVar25 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(char **)(puVar25 + -0xc) = "%pB: in function `%pT\':\n";" (assignment_expression "*(char **)(puVar25 + -0xc) = "%pB: in function `%pT\':\n"" (pointer_expression "*(char **)(puVar25 + -0xc)" * (cast_expression "(char **)(puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = (string_literal ""%pB: in function `%pT\':\n"" " string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar25 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar25 + -0x10)" * (cast_expression "(undefined4 *)(puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x34813;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x34813" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar18 = dcgettext();" (assignment_expression "uVar18 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 8);" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 8)" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 8)" * (cast_expression "(undefined4 *)(puVar25 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 8)" ( (binary_expression "puVar25 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(bfd **)(puVar25 + -0x18) = pbVar28;" (assignment_expression "*(bfd **)(puVar25 + -0x18) = pbVar28" (pointer_expression "*(bfd **)(puVar25 + -0x18)" * (cast_expression "(bfd **)(puVar25 + -0x18)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x18)" ( (binary_expression "puVar25 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x1c) = uVar18;" (assignment_expression "*(undefined4 *)(puVar25 + -0x1c) = uVar18" (pointer_expression "*(undefined4 *)(puVar25 + -0x1c)" * (cast_expression "(undefined4 *)(puVar25 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x1c)" ( (binary_expression "puVar25 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);" (assignment_expression "*(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150)" (pointer_expression "*(undefined4 *)(puVar25 + -0x20)" * (cast_expression "(undefined4 *)(puVar25 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x20)" ( (binary_expression "puVar25 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x150)" * (cast_expression "(undefined4 *)(puVar25 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x150)" ( (binary_expression "puVar25 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x24) = 0x34825;" (assignment_expression "*(undefined4 *)(puVar25 + -0x24) = 0x34825" (pointer_expression "*(undefined4 *)(puVar25 + -0x24)" * (cast_expression "(undefined4 *)(puVar25 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x24)" ( (binary_expression "puVar25 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));" (call_expression "lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c))" identifier (argument_list "(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c))" ( (pointer_expression "*(FILE **)(puVar25 + -0x20)" * (cast_expression "(FILE **)(puVar25 + -0x20)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x20)" ( (binary_expression "puVar25 + -0x20" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar25 + -0x1c)" * (cast_expression "(char **)(puVar25 + -0x1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x1c)" ( (binary_expression "puVar25 + -0x1c" identifier + number_literal) )))) ))) ;) (labeled_statement "vfinfo::lexical_block_14::lexical_block_14_4::last_bfd = pbVar28;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_14::lexical_block_14_4::last_bfd = pbVar28;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_14_4::last_bfd = pbVar28;" statement_identifier : (ERROR ":" :) (expression_statement "last_bfd = pbVar28;" (assignment_expression "last_bfd = pbVar28" identifier = identifier) ;)))) (if_statement "if (vfinfo::lexical_block_14::lexical_block_14_4::last_file != (char *)0x0) {\n            *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34841;\n            free(*(void **)(puVar25 + -0x10));\n          }" if (parenthesized_expression "(vfinfo::lexical_block_14::lexical_block_14_4::last_file != (char *)0x0)" ( (ERROR "vfinfo::lexical_block_14::lexical_block_14_4::" identifier : : identifier : : identifier : :) (binary_expression "last_file != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34841;\n            free(*(void **)(puVar25 + -0x10));\n          }" { (ERROR "*(char **)(puVar25 + -0x10) = vfinfo::" (assignment_expression "*(char **)(puVar25 + -0x10) = vfinfo" (pointer_expression "*(char **)(puVar25 + -0x10)" * (cast_expression "(char **)(puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = identifier) : :) (labeled_statement "lexical_block_14::lexical_block_14_4::last_file;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_14_4::last_file;" statement_identifier : (ERROR ":" :) (expression_statement "last_file;" identifier ;))) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x34841;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x34841" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar25 + -0x10));" (call_expression "free(*(void **)(puVar25 + -0x10))" identifier (argument_list "(*(void **)(puVar25 + -0x10))" ( (pointer_expression "*(void **)(puVar25 + -0x10)" * (cast_expression "(void **)(puVar25 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) ))) ;) })) (labeled_statement "vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)0x0;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_14::lexical_block_14_4::last_file = (char *)0x0;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_14_4::last_file = (char *)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "last_file = (char *)0x0;" (assignment_expression "last_file = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)))) (if_statement "if (*(int *)(puVar25 + 0x34) != 0) {\n            *(int *)(puVar25 + -0x10) = *(int *)(puVar25 + 0x34);\n            *(undefined4 *)(puVar25 + -0x14) = 0x3485f;\n            vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)xstrdup();\n          }" if (parenthesized_expression "(*(int *)(puVar25 + 0x34) != 0)" ( (binary_expression "*(int *)(puVar25 + 0x34) != 0" (pointer_expression "*(int *)(puVar25 + 0x34)" * (cast_expression "(int *)(puVar25 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x34)" ( (binary_expression "puVar25 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n            *(int *)(puVar25 + -0x10) = *(int *)(puVar25 + 0x34);\n            *(undefined4 *)(puVar25 + -0x14) = 0x3485f;\n            vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)xstrdup();\n          }" { (expression_statement "*(int *)(puVar25 + -0x10) = *(int *)(puVar25 + 0x34);" (assignment_expression "*(int *)(puVar25 + -0x10) = *(int *)(puVar25 + 0x34)" (pointer_expression "*(int *)(puVar25 + -0x10)" * (cast_expression "(int *)(puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(int *)(puVar25 + 0x34)" * (cast_expression "(int *)(puVar25 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x34)" ( (binary_expression "puVar25 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x3485f;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x3485f" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)xstrdup();" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_14::lexical_block_14_4::last_file = (char *)xstrdup();" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_14_4::last_file = (char *)xstrdup();" statement_identifier : (ERROR ":" :) (expression_statement "last_file = (char *)xstrdup();" (assignment_expression "last_file = (char *)xstrdup()" identifier = (cast_expression "(char *)xstrdup()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xstrdup()" identifier (argument_list "()" ( ))))) ;)))) })) (if_statement "if (vfinfo::lexical_block_14::lexical_block_14_4::last_function != (char *)0x0) {\n            *(char **)(puVar25 + -0x10) =\n                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n            *(undefined4 *)(puVar25 + -0x14) = 0x3487b;\n            free(*(void **)(puVar25 + -0x10));\n          }" if (parenthesized_expression "(vfinfo::lexical_block_14::lexical_block_14_4::last_function != (char *)0x0)" ( (ERROR "vfinfo::lexical_block_14::lexical_block_14_4::" identifier : : identifier : : identifier : :) (binary_expression "last_function != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            *(char **)(puVar25 + -0x10) =\n                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n            *(undefined4 *)(puVar25 + -0x14) = 0x3487b;\n            free(*(void **)(puVar25 + -0x10));\n          }" { (ERROR "*(char **)(puVar25 + -0x10) =\n                 vfinfo::" (assignment_expression "*(char **)(puVar25 + -0x10) =\n                 vfinfo" (pointer_expression "*(char **)(puVar25 + -0x10)" * (cast_expression "(char **)(puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = identifier) : :) (labeled_statement "lexical_block_14::lexical_block_14_4::last_function;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_14_4::last_function;" statement_identifier : (ERROR ":" :) (expression_statement "last_function;" identifier ;))) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x3487b;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x3487b" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar25 + -0x10));" (call_expression "free(*(void **)(puVar25 + -0x10))" identifier (argument_list "(*(void **)(puVar25 + -0x10))" ( (pointer_expression "*(void **)(puVar25 + -0x10)" * (cast_expression "(void **)(puVar25 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) ))) ;) })) (expression_statement "*(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x38);" (assignment_expression "*(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x38)" (pointer_expression "*(undefined4 *)(puVar25 + -0x10)" * (cast_expression "(undefined4 *)(puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x38)" * (cast_expression "(undefined4 *)(puVar25 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x38)" ( (binary_expression "puVar25 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x3488a;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x3488a" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "vfinfo::lexical_block_14::lexical_block_14_4::last_function = (char *)xstrdup();" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_14::lexical_block_14_4::last_function = (char *)xstrdup();" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_14_4::last_function = (char *)xstrdup();" statement_identifier : (ERROR ":" :) (expression_statement "last_function = (char *)xstrdup();" (assignment_expression "last_function = (char *)xstrdup()" identifier = (cast_expression "(char *)xstrdup()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xstrdup()" identifier (argument_list "()" ( ))))) ;)))) (expression_statement "*(undefined4 *)(puVar25 + 0x18) = 0;" (assignment_expression "*(undefined4 *)(puVar25 + 0x18) = 0" (pointer_expression "*(undefined4 *)(puVar25 + 0x18)" * (cast_expression "(undefined4 *)(puVar25 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x18)" ( (binary_expression "puVar25 + 0x18" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_000343b5;" goto statement_identifier ;) })) (expression_statement "iVar20 = *(int *)(puVar25 + 0x34);" (assignment_expression "iVar20 = *(int *)(puVar25 + 0x34)" identifier = (pointer_expression "*(int *)(puVar25 + 0x34)" * (cast_expression "(int *)(puVar25 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x34)" ( (binary_expression "puVar25 + 0x34" identifier + number_literal) ))))) ;) (ERROR "*(char **)(puVar25 + 0x18) = vfinfo::" (assignment_expression "*(char **)(puVar25 + 0x18) = vfinfo" (pointer_expression "*(char **)(puVar25 + 0x18)" * (cast_expression "(char **)(puVar25 + 0x18)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x18)" ( (binary_expression "puVar25 + 0x18" identifier + number_literal) )))) = identifier) : :) (labeled_statement "lexical_block_14::lexical_block_14_4::last_file;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_14_4::last_file;" statement_identifier : (ERROR ":" :) (expression_statement "last_file;" identifier ;))) (ERROR "puVar25[0x28] = vfinfo::" (assignment_expression "puVar25[0x28] = vfinfo" (subscript_expression "puVar25[0x28]" identifier [ number_literal ]) = identifier) : :) (labeled_statement "lexical_block_14::lexical_block_14_4::last_file == (char *)0x0;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_14_4::last_file == (char *)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "last_file == (char *)0x0;" (binary_expression "last_file == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;))) (expression_statement "puVar25[0x2f] = iVar20 == 0;" (assignment_expression "puVar25[0x2f] = iVar20 == 0" (subscript_expression "puVar25[0x2f]" identifier [ number_literal ]) = (binary_expression "iVar20 == 0" identifier == number_literal)) ;) (if_statement "if (puVar25[0x28] != puVar25[0x2f]) goto LAB_00034800;" if (parenthesized_expression "(puVar25[0x28] != puVar25[0x2f])" ( (binary_expression "puVar25[0x28] != puVar25[0x2f]" (subscript_expression "puVar25[0x28]" identifier [ number_literal ]) != (subscript_expression "puVar25[0x2f]" identifier [ number_literal ])) )) (goto_statement "goto LAB_00034800;" goto statement_identifier ;)) (if_statement "if (iVar20 != 0) {\n          *(int *)(puVar25 + -4) = iVar23;\n          *(int *)(puVar25 + -8) = iVar23;\n          *(int *)(puVar25 + -0xc) = iVar20;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x18);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34c8b;\n          uVar31 = filename_cmp();\n          uVar18 = (undefined4)((ulonglong)uVar31 >> 0x20);\n          *(undefined4 *)(puVar25 + 8) = *(undefined4 *)(puVar25 + 0x38);\n          if ((int)uVar31 == 0) {\n            *(undefined4 *)(puVar25 + -4) = uVar18;\n            *(undefined4 *)(puVar25 + -8) = uVar18;\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x38);\n            *(char **)(puVar25 + -0x10) =\n                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34cac;\n            iVar23 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n            *(int *)(puVar25 + 0x18) = iVar23;\n            if (iVar23 == 0) goto LAB_000343b5;\n          }\n          goto LAB_00034800;\n        }" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (compound_statement "{\n          *(int *)(puVar25 + -4) = iVar23;\n          *(int *)(puVar25 + -8) = iVar23;\n          *(int *)(puVar25 + -0xc) = iVar20;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x18);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34c8b;\n          uVar31 = filename_cmp();\n          uVar18 = (undefined4)((ulonglong)uVar31 >> 0x20);\n          *(undefined4 *)(puVar25 + 8) = *(undefined4 *)(puVar25 + 0x38);\n          if ((int)uVar31 == 0) {\n            *(undefined4 *)(puVar25 + -4) = uVar18;\n            *(undefined4 *)(puVar25 + -8) = uVar18;\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x38);\n            *(char **)(puVar25 + -0x10) =\n                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34cac;\n            iVar23 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n            *(int *)(puVar25 + 0x18) = iVar23;\n            if (iVar23 == 0) goto LAB_000343b5;\n          }\n          goto LAB_00034800;\n        }" { (expression_statement "*(int *)(puVar25 + -4) = iVar23;" (assignment_expression "*(int *)(puVar25 + -4) = iVar23" (pointer_expression "*(int *)(puVar25 + -4)" * (cast_expression "(int *)(puVar25 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -4)" ( (binary_expression "puVar25 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar25 + -8) = iVar23;" (assignment_expression "*(int *)(puVar25 + -8) = iVar23" (pointer_expression "*(int *)(puVar25 + -8)" * (cast_expression "(int *)(puVar25 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar25 + -0xc) = iVar20;" (assignment_expression "*(int *)(puVar25 + -0xc) = iVar20" (pointer_expression "*(int *)(puVar25 + -0xc)" * (cast_expression "(int *)(puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x18);" (assignment_expression "*(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x18)" (pointer_expression "*(undefined4 *)(puVar25 + -0x10)" * (cast_expression "(undefined4 *)(puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x18)" * (cast_expression "(undefined4 *)(puVar25 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x18)" ( (binary_expression "puVar25 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x34c8b;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x34c8b" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar31 = filename_cmp();" (assignment_expression "uVar31 = filename_cmp()" identifier = (call_expression "filename_cmp()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar18 = (undefined4)((ulonglong)uVar31 >> 0x20);" (assignment_expression "uVar18 = (undefined4)((ulonglong)uVar31 >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)uVar31 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)uVar31 >> 0x20)" ( (binary_expression "(ulonglong)uVar31 >> 0x20" (cast_expression "(ulonglong)uVar31" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar25 + 8) = *(undefined4 *)(puVar25 + 0x38);" (assignment_expression "*(undefined4 *)(puVar25 + 8) = *(undefined4 *)(puVar25 + 0x38)" (pointer_expression "*(undefined4 *)(puVar25 + 8)" * (cast_expression "(undefined4 *)(puVar25 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 8)" ( (binary_expression "puVar25 + 8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x38)" * (cast_expression "(undefined4 *)(puVar25 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x38)" ( (binary_expression "puVar25 + 0x38" identifier + number_literal) ))))) ;) (if_statement "if ((int)uVar31 == 0) {\n            *(undefined4 *)(puVar25 + -4) = uVar18;\n            *(undefined4 *)(puVar25 + -8) = uVar18;\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x38);\n            *(char **)(puVar25 + -0x10) =\n                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34cac;\n            iVar23 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n            *(int *)(puVar25 + 0x18) = iVar23;\n            if (iVar23 == 0) goto LAB_000343b5;\n          }" if (parenthesized_expression "((int)uVar31 == 0)" ( (binary_expression "(int)uVar31 == 0" (cast_expression "(int)uVar31" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n            *(undefined4 *)(puVar25 + -4) = uVar18;\n            *(undefined4 *)(puVar25 + -8) = uVar18;\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x38);\n            *(char **)(puVar25 + -0x10) =\n                 vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34cac;\n            iVar23 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n            *(int *)(puVar25 + 0x18) = iVar23;\n            if (iVar23 == 0) goto LAB_000343b5;\n          }" { (expression_statement "*(undefined4 *)(puVar25 + -4) = uVar18;" (assignment_expression "*(undefined4 *)(puVar25 + -4) = uVar18" (pointer_expression "*(undefined4 *)(puVar25 + -4)" * (cast_expression "(undefined4 *)(puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -4)" ( (binary_expression "puVar25 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar25 + -8) = uVar18;" (assignment_expression "*(undefined4 *)(puVar25 + -8) = uVar18" (pointer_expression "*(undefined4 *)(puVar25 + -8)" * (cast_expression "(undefined4 *)(puVar25 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x38);" (assignment_expression "*(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x38)" (pointer_expression "*(undefined4 *)(puVar25 + -0xc)" * (cast_expression "(undefined4 *)(puVar25 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x38)" * (cast_expression "(undefined4 *)(puVar25 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x38)" ( (binary_expression "puVar25 + 0x38" identifier + number_literal) ))))) ;) (ERROR "*(char **)(puVar25 + -0x10) =\n                 vfinfo::" (assignment_expression "*(char **)(puVar25 + -0x10) =\n                 vfinfo" (pointer_expression "*(char **)(puVar25 + -0x10)" * (cast_expression "(char **)(puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = identifier) : :) (labeled_statement "lexical_block_14::lexical_block_14_4::last_function;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_14_4::last_function;" statement_identifier : (ERROR ":" :) (expression_statement "last_function;" identifier ;))) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x34cac;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x34cac" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar23 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));" (assignment_expression "iVar23 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc))" identifier (argument_list "(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc))" ( (pointer_expression "*(char **)(puVar25 + -0x10)" * (cast_expression "(char **)(puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar25 + -0xc)" * (cast_expression "(char **)(puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "*(int *)(puVar25 + 0x18) = iVar23;" (assignment_expression "*(int *)(puVar25 + 0x18) = iVar23" (pointer_expression "*(int *)(puVar25 + 0x18)" * (cast_expression "(int *)(puVar25 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x18)" ( (binary_expression "puVar25 + 0x18" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar23 == 0) goto LAB_000343b5;" if (parenthesized_expression "(iVar23 == 0)" ( (binary_expression "iVar23 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000343b5;" goto statement_identifier ;)) })) (goto_statement "goto LAB_00034800;" goto statement_identifier ;) })) (expression_statement "*(int *)(puVar25 + 8) = iVar23;" (assignment_expression "*(int *)(puVar25 + 8) = iVar23" (pointer_expression "*(int *)(puVar25 + 8)" * (cast_expression "(int *)(puVar25 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 8)" ( (binary_expression "puVar25 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar25 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar25 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar25 + -4)" * (cast_expression "(undefined4 *)(puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -4)" ( (binary_expression "puVar25 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar25 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar25 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar25 + -8)" * (cast_expression "(undefined4 *)(puVar25 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar25 + -0xc) = iVar23;" (assignment_expression "*(int *)(puVar25 + -0xc) = iVar23" (pointer_expression "*(int *)(puVar25 + -0xc)" * (cast_expression "(int *)(puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar25 + 0x28) = iVar23;" (assignment_expression "*(int *)(puVar25 + 0x28) = iVar23" (pointer_expression "*(int *)(puVar25 + 0x28)" * (cast_expression "(int *)(puVar25 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x28)" ( (binary_expression "puVar25 + 0x28" identifier + number_literal) )))) = identifier) ;) (ERROR "*(char **)(puVar25 + -0x10) = vfinfo::" (assignment_expression "*(char **)(puVar25 + -0x10) = vfinfo" (pointer_expression "*(char **)(puVar25 + -0x10)" * (cast_expression "(char **)(puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = identifier) : :) (labeled_statement "lexical_block_14::lexical_block_14_4::last_function;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_14_4::last_function;" statement_identifier : (ERROR ":" :) (expression_statement "last_function;" identifier ;))) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x34cd6;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x34cd6" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar20 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));" (assignment_expression "iVar20 = strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc))" identifier (argument_list "(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc))" ( (pointer_expression "*(char **)(puVar25 + -0x10)" * (cast_expression "(char **)(puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar25 + -0xc)" * (cast_expression "(char **)(puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "iVar23 = *(int *)(puVar25 + 0x28);" (assignment_expression "iVar23 = *(int *)(puVar25 + 0x28)" identifier = (pointer_expression "*(int *)(puVar25 + 0x28)" * (cast_expression "(int *)(puVar25 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x28)" ( (binary_expression "puVar25 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar25 + 0x18) = iVar20;" (assignment_expression "*(int *)(puVar25 + 0x18) = iVar20" (pointer_expression "*(int *)(puVar25 + 0x18)" * (cast_expression "(int *)(puVar25 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x18)" ( (binary_expression "puVar25 + 0x18" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar20 != 0) goto LAB_00034800;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00034800;" goto statement_identifier ;)) (labeled_statement "LAB_00034a0d:\n        if ((*(char *)&pbVar30->filename == 'G') && (iVar23 != 0)) {\nLAB_00034a20:\n          *(int *)(puVar25 + -8) = iVar23;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d77d;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34a37;\n          lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n        else {\nLAB_00034902:\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x24);\n          *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 0x20);\n          *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(puVar25 + 0x1c);\n          *(char **)(puVar25 + -0x1c) = "(%pA+0x%v)";\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x34924;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n        }" statement_identifier : (if_statement "if ((*(char *)&pbVar30->filename == 'G') && (iVar23 != 0)) {\nLAB_00034a20:\n          *(int *)(puVar25 + -8) = iVar23;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d77d;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34a37;\n          lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n        else {\nLAB_00034902:\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x24);\n          *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 0x20);\n          *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(puVar25 + 0x1c);\n          *(char **)(puVar25 + -0x1c) = "(%pA+0x%v)";\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x34924;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n        }" if (parenthesized_expression "((*(char *)&pbVar30->filename == 'G') && (iVar23 != 0))" ( (binary_expression "(*(char *)&pbVar30->filename == 'G') && (iVar23 != 0)" (parenthesized_expression "(*(char *)&pbVar30->filename == 'G')" ( (binary_expression "*(char *)&pbVar30->filename == 'G'" (pointer_expression "*(char *)&pbVar30->filename" * (cast_expression "(char *)&pbVar30->filename" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pbVar30->filename" & (field_expression "pbVar30->filename" identifier -> field_identifier)))) == (char_literal "'G'" ' character ')) )) && (parenthesized_expression "(iVar23 != 0)" ( (binary_expression "iVar23 != 0" identifier != number_literal) ))) )) (compound_statement "{\nLAB_00034a20:\n          *(int *)(puVar25 + -8) = iVar23;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d77d;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34a37;\n          lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }" { (labeled_statement "LAB_00034a20:\n          *(int *)(puVar25 + -8) = iVar23;" statement_identifier : (expression_statement "*(int *)(puVar25 + -8) = iVar23;" (assignment_expression "*(int *)(puVar25 + -8) = iVar23" (pointer_expression "*(int *)(puVar25 + -8)" * (cast_expression "(int *)(puVar25 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined **)(puVar25 + -0xc) = &DAT_0007d77d;" (assignment_expression "*(undefined **)(puVar25 + -0xc) = &DAT_0007d77d" (pointer_expression "*(undefined **)(puVar25 + -0xc)" * (cast_expression "(undefined **)(puVar25 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_0007d77d" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);" (assignment_expression "*(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150)" (pointer_expression "*(undefined4 *)(puVar25 + -0x10)" * (cast_expression "(undefined4 *)(puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x150)" * (cast_expression "(undefined4 *)(puVar25 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x150)" ( (binary_expression "puVar25 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x34a37;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x34a37" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));" (call_expression "lfinfo(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc))" identifier (argument_list "(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc))" ( (pointer_expression "*(FILE **)(puVar25 + -0x10)" * (cast_expression "(FILE **)(puVar25 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar25 + -0xc)" * (cast_expression "(char **)(puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) ))) ;) }) (else_clause "else {\nLAB_00034902:\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x24);\n          *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 0x20);\n          *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(puVar25 + 0x1c);\n          *(char **)(puVar25 + -0x1c) = "(%pA+0x%v)";\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x34924;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n        }" else (compound_statement "{\nLAB_00034902:\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x24);\n          *(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 0x20);\n          *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(puVar25 + 0x1c);\n          *(char **)(puVar25 + -0x1c) = "(%pA+0x%v)";\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x34924;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n        }" { (labeled_statement "LAB_00034902:\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x24);" statement_identifier : (expression_statement "*(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x24);" (assignment_expression "*(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x24)" (pointer_expression "*(undefined4 *)(puVar25 + -0x10)" * (cast_expression "(undefined4 *)(puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x24)" * (cast_expression "(undefined4 *)(puVar25 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x24)" ( (binary_expression "puVar25 + 0x24" identifier + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 0x20);" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = *(undefined4 *)(puVar25 + 0x20)" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x20)" * (cast_expression "(undefined4 *)(puVar25 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x20)" ( (binary_expression "puVar25 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(puVar25 + 0x1c);" (assignment_expression "*(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(puVar25 + 0x1c)" (pointer_expression "*(undefined4 *)(puVar25 + -0x18)" * (cast_expression "(undefined4 *)(puVar25 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x18)" ( (binary_expression "puVar25 + -0x18" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x1c)" * (cast_expression "(undefined4 *)(puVar25 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x1c)" ( (binary_expression "puVar25 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(char **)(puVar25 + -0x1c) = "(%pA+0x%v)";" (assignment_expression "*(char **)(puVar25 + -0x1c) = "(%pA+0x%v)"" (pointer_expression "*(char **)(puVar25 + -0x1c)" * (cast_expression "(char **)(puVar25 + -0x1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x1c)" ( (binary_expression "puVar25 + -0x1c" identifier + number_literal) )))) = (string_literal ""(%pA+0x%v)"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);" (assignment_expression "*(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150)" (pointer_expression "*(undefined4 *)(puVar25 + -0x20)" * (cast_expression "(undefined4 *)(puVar25 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x20)" ( (binary_expression "puVar25 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x150)" * (cast_expression "(undefined4 *)(puVar25 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x150)" ( (binary_expression "puVar25 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x24) = 0x34924;" (assignment_expression "*(undefined4 *)(puVar25 + -0x24) = 0x34924" (pointer_expression "*(undefined4 *)(puVar25 + -0x24)" * (cast_expression "(undefined4 *)(puVar25 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x24)" ( (binary_expression "puVar25 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));" (call_expression "lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c))" identifier (argument_list "(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c))" ( (pointer_expression "*(FILE **)(puVar25 + -0x20)" * (cast_expression "(FILE **)(puVar25 + -0x20)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x20)" ( (binary_expression "puVar25 + -0x20" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar25 + -0x1c)" * (cast_expression "(char **)(puVar25 + -0x1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x1c)" ( (binary_expression "puVar25 + -0x1c" identifier + number_literal) )))) ))) ;) })))) }))) (if_statement "if (*(int *)(puVar25 + 0x18) == 0) goto LAB_0003443a;" if (parenthesized_expression "(*(int *)(puVar25 + 0x18) == 0)" ( (binary_expression "*(int *)(puVar25 + 0x18) == 0" (pointer_expression "*(int *)(puVar25 + 0x18)" * (cast_expression "(int *)(puVar25 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x18)" ( (binary_expression "puVar25 + 0x18" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0003443a;" goto statement_identifier ;)) }))) (labeled_statement "vfinfo::lexical_block_14::lexical_block_14_4::last_bfd = (bfd *)0x0;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_14::lexical_block_14_4::last_bfd = (bfd *)0x0;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_14_4::last_bfd = (bfd *)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "last_bfd = (bfd *)0x0;" (assignment_expression "last_bfd = (bfd *)0x0" identifier = (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)))) (if_statement "if (vfinfo::lexical_block_14::lexical_block_14_4::last_file != (char *)0x0) {\n      *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n      *(undefined4 *)(puVar25 + -0x14) = 0x3479e;\n      free(*(void **)(puVar25 + -0x10));\n      vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)0x0;\n    }" if (parenthesized_expression "(vfinfo::lexical_block_14::lexical_block_14_4::last_file != (char *)0x0)" ( (ERROR "vfinfo::lexical_block_14::lexical_block_14_4::" identifier : : identifier : : identifier : :) (binary_expression "last_file != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_file;\n      *(undefined4 *)(puVar25 + -0x14) = 0x3479e;\n      free(*(void **)(puVar25 + -0x10));\n      vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)0x0;\n    }" { (ERROR "*(char **)(puVar25 + -0x10) = vfinfo::" (assignment_expression "*(char **)(puVar25 + -0x10) = vfinfo" (pointer_expression "*(char **)(puVar25 + -0x10)" * (cast_expression "(char **)(puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = identifier) : :) (labeled_statement "lexical_block_14::lexical_block_14_4::last_file;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_14_4::last_file;" statement_identifier : (ERROR ":" :) (expression_statement "last_file;" identifier ;))) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x3479e;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x3479e" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar25 + -0x10));" (call_expression "free(*(void **)(puVar25 + -0x10))" identifier (argument_list "(*(void **)(puVar25 + -0x10))" ( (pointer_expression "*(void **)(puVar25 + -0x10)" * (cast_expression "(void **)(puVar25 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) ))) ;) (labeled_statement "vfinfo::lexical_block_14::lexical_block_14_4::last_file = (char *)0x0;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_14::lexical_block_14_4::last_file = (char *)0x0;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_14_4::last_file = (char *)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "last_file = (char *)0x0;" (assignment_expression "last_file = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)))) })) (if_statement "if (vfinfo::lexical_block_14::lexical_block_14_4::last_function != (char *)0x0) {\n      *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n      *(undefined4 *)(puVar25 + -0x14) = 0x347c2;\n      free(*(void **)(puVar25 + -0x10));\n      vfinfo::lexical_block_14::lexical_block_14_4::last_function = (char *)0x0;\n    }" if (parenthesized_expression "(vfinfo::lexical_block_14::lexical_block_14_4::last_function != (char *)0x0)" ( (ERROR "vfinfo::lexical_block_14::lexical_block_14_4::" identifier : : identifier : : identifier : :) (binary_expression "last_function != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(char **)(puVar25 + -0x10) = vfinfo::lexical_block_14::lexical_block_14_4::last_function;\n      *(undefined4 *)(puVar25 + -0x14) = 0x347c2;\n      free(*(void **)(puVar25 + -0x10));\n      vfinfo::lexical_block_14::lexical_block_14_4::last_function = (char *)0x0;\n    }" { (ERROR "*(char **)(puVar25 + -0x10) = vfinfo::" (assignment_expression "*(char **)(puVar25 + -0x10) = vfinfo" (pointer_expression "*(char **)(puVar25 + -0x10)" * (cast_expression "(char **)(puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = identifier) : :) (labeled_statement "lexical_block_14::lexical_block_14_4::last_function;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_14_4::last_function;" statement_identifier : (ERROR ":" :) (expression_statement "last_function;" identifier ;))) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x347c2;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x347c2" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar25 + -0x10));" (call_expression "free(*(void **)(puVar25 + -0x10))" identifier (argument_list "(*(void **)(puVar25 + -0x10))" ( (pointer_expression "*(void **)(puVar25 + -0x10)" * (cast_expression "(void **)(puVar25 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) ))) ;) (labeled_statement "vfinfo::lexical_block_14::lexical_block_14_4::last_function = (char *)0x0;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_14::lexical_block_14_4::last_function = (char *)0x0;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_14_4::last_function = (char *)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "last_function = (char *)0x0;" (assignment_expression "last_function = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)))) })) (labeled_statement "LAB_0003443a:\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);" statement_identifier : (expression_statement "bVar12 = *(byte *)((int)&pbVar30->filename + 1);" (assignment_expression "bVar12 = *(byte *)((int)&pbVar30->filename + 1)" identifier = (pointer_expression "*(byte *)((int)&pbVar30->filename + 1)" * (cast_expression "(byte *)((int)&pbVar30->filename + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar30->filename + 1)" ( (binary_expression "(int)&pbVar30->filename + 1" (cast_expression "(int)&pbVar30->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar30->filename" & (field_expression "pbVar30->filename" identifier -> field_identifier))) + number_literal) ))))) ;)) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) (case_statement "case 0x45:\n    *(undefined4 *)(puVar25 + -4) = 0x3444a;\n    uVar18 = bfd_get_error();\n    *(undefined4 *)(puVar25 + -0x10) = uVar18;\n    *(undefined4 *)(puVar25 + -0x14) = 0x34453;\n    uVar18 = bfd_errmsg();\n    pbVar28 = *(bfd **)(puVar25 + -0xc);\n    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n    *(undefined4 *)(puVar25 + -0x10) = uVar18;\n    *(undefined4 *)(puVar25 + -0x14) = 0x34462;\n    fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;" case number_literal : (expression_statement "*(undefined4 *)(puVar25 + -4) = 0x3444a;" (assignment_expression "*(undefined4 *)(puVar25 + -4) = 0x3444a" (pointer_expression "*(undefined4 *)(puVar25 + -4)" * (cast_expression "(undefined4 *)(puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -4)" ( (binary_expression "puVar25 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar18 = bfd_get_error();" (assignment_expression "uVar18 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x10) = uVar18;" (assignment_expression "*(undefined4 *)(puVar25 + -0x10) = uVar18" (pointer_expression "*(undefined4 *)(puVar25 + -0x10)" * (cast_expression "(undefined4 *)(puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x34453;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x34453" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar18 = bfd_errmsg();" (assignment_expression "uVar18 = bfd_errmsg()" identifier = (call_expression "bfd_errmsg()" identifier (argument_list "()" ( )))) ;) (expression_statement "pbVar28 = *(bfd **)(puVar25 + -0xc);" (assignment_expression "pbVar28 = *(bfd **)(puVar25 + -0xc)" identifier = (pointer_expression "*(bfd **)(puVar25 + -0xc)" * (cast_expression "(bfd **)(puVar25 + -0xc)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);" (assignment_expression "*(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150)" (pointer_expression "*(undefined4 *)(puVar25 + -0xc)" * (cast_expression "(undefined4 *)(puVar25 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x150)" * (cast_expression "(undefined4 *)(puVar25 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x150)" ( (binary_expression "puVar25 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x10) = uVar18;" (assignment_expression "*(undefined4 *)(puVar25 + -0x10) = uVar18" (pointer_expression "*(undefined4 *)(puVar25 + -0x10)" * (cast_expression "(undefined4 *)(puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x34462;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x34462" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));" (call_expression "fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc))" identifier (argument_list "(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc))" ( (pointer_expression "*(char **)(puVar25 + -0x10)" * (cast_expression "(char **)(puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar25 + -0xc)" * (cast_expression "(FILE **)(puVar25 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "bVar12 = *(byte *)((int)&pbVar30->filename + 1);" (assignment_expression "bVar12 = *(byte *)((int)&pbVar30->filename + 1)" identifier = (pointer_expression "*(byte *)((int)&pbVar30->filename + 1)" * (cast_expression "(byte *)((int)&pbVar30->filename + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar30->filename + 1)" ( (binary_expression "(int)&pbVar30->filename + 1" (cast_expression "(int)&pbVar30->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar30->filename" & (field_expression "pbVar30->filename" identifier -> field_identifier))) + number_literal) ))))) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) (case_statement "case 0x46:\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    *(undefined4 *)(puVar25 + 0x10) = 1;\n    goto joined_r0x000340a6;" case number_literal : (expression_statement "bVar12 = *(byte *)((int)&pbVar30->filename + 1);" (assignment_expression "bVar12 = *(byte *)((int)&pbVar30->filename + 1)" identifier = (pointer_expression "*(byte *)((int)&pbVar30->filename + 1)" * (cast_expression "(byte *)((int)&pbVar30->filename + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar30->filename + 1)" ( (binary_expression "(int)&pbVar30->filename + 1" (cast_expression "(int)&pbVar30->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar30->filename" & (field_expression "pbVar30->filename" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + 0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar25 + 0x10) = 1" (pointer_expression "*(undefined4 *)(puVar25 + 0x10)" * (cast_expression "(undefined4 *)(puVar25 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x10)" ( (binary_expression "puVar25 + 0x10" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) (case_statement "case 0x50:\n    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n    *(char **)(puVar25 + -0x10) = program_name;\n    *(undefined4 *)(puVar25 + -0x14) = 0x34695;\n    fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;" case number_literal : (expression_statement "*(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);" (assignment_expression "*(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150)" (pointer_expression "*(undefined4 *)(puVar25 + -0xc)" * (cast_expression "(undefined4 *)(puVar25 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x150)" * (cast_expression "(undefined4 *)(puVar25 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x150)" ( (binary_expression "puVar25 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(char **)(puVar25 + -0x10) = program_name;" (assignment_expression "*(char **)(puVar25 + -0x10) = program_name" (pointer_expression "*(char **)(puVar25 + -0x10)" * (cast_expression "(char **)(puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x34695;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x34695" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));" (call_expression "fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc))" identifier (argument_list "(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc))" ( (pointer_expression "*(char **)(puVar25 + -0x10)" * (cast_expression "(char **)(puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar25 + -0xc)" * (cast_expression "(FILE **)(puVar25 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "bVar12 = *(byte *)((int)&pbVar30->filename + 1);" (assignment_expression "bVar12 = *(byte *)((int)&pbVar30->filename + 1)" identifier = (pointer_expression "*(byte *)((int)&pbVar30->filename + 1)" * (cast_expression "(byte *)((int)&pbVar30->filename + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar30->filename + 1)" ( (binary_expression "(int)&pbVar30->filename + 1" (cast_expression "(int)&pbVar30->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar30->filename" & (field_expression "pbVar30->filename" identifier -> field_identifier))) + number_literal) ))))) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) (case_statement "case 0x56:\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    pcVar27 = "%016llx";\n    *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n    break;" case number_literal : (expression_statement "*(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;" (assignment_expression "*(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1" (pointer_expression "*(int *)(puVar25 + 4)" * (cast_expression "(int *)(puVar25 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 4)" ( (binary_expression "puVar25 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar25 + 4) + 1" (pointer_expression "*(int *)(puVar25 + 4)" * (cast_expression "(int *)(puVar25 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 4)" ( (binary_expression "puVar25 + 4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pcVar27 = "%016llx";" (assignment_expression "pcVar27 = "%016llx"" identifier = (string_literal ""%016llx"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar25 + -4)" * (cast_expression "(undefined4 *)(puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -4)" ( (binary_expression "puVar25 + -4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4)" * (cast_expression "(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + iVar23 * 0x10 + 0xa4)" ( (binary_expression "puVar25 + iVar23 * 0x10 + 0xa4" (binary_expression "puVar25 + iVar23 * 0x10" identifier + (binary_expression "iVar23 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar25 + -8)" * (cast_expression "(undefined4 *)(puVar25 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0)" * (cast_expression "(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + iVar23 * 0x10 + 0xa0)" ( (binary_expression "puVar25 + iVar23 * 0x10 + 0xa0" (binary_expression "puVar25 + iVar23 * 0x10" identifier + (binary_expression "iVar23 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0x57:\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n    *(char **)(puVar25 + -0xc) = "%016llx";\n    pcVar27 = puVar25 + 0x3c;\n    *(char **)(puVar25 + -0x10) = pcVar27;\n    *(undefined4 *)(puVar25 + -0x14) = 0x345d0;\n    sprintf(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n    cVar2 = puVar25[0x3c];\n    while (cVar2 == '0') {\n      pcVar27 = pcVar27 + 1;\n      cVar2 = *pcVar27;\n    }\n    pbVar28 = (bfd *)(pcVar27 + -(uint)(cVar2 == '\0'));\n    *(bfd **)(puVar25 + -0x10) = pbVar28;\n    *(undefined4 *)(puVar25 + -0x14) = 0x345f5;\n    sVar17 = strlen(*(char **)(puVar25 + -0x10));\n    if (sVar17 < 8) {\n      *(bfd **)(puVar25 + 8) = pbVar30;\n      uVar18 = *(undefined4 *)(puVar25 + 0x150);\n      *(char **)(puVar25 + 0x18) = fmt;\n      do {\n        sVar17 = sVar17 + 1;\n        *(undefined4 *)(puVar25 + -0xc) = uVar18;\n        *(undefined4 *)(puVar25 + -0x10) = 0x20;\n        *(undefined4 *)(puVar25 + -0x14) = 0x3461c;\n        putc(*(int *)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n      } while (sVar17 != 8);\n      pbVar30 = *(bfd **)(puVar25 + 8);\n      fmt = *(char **)(puVar25 + 0x18);\n    }\n    pcVar27 = "0x%s";\n    *(bfd **)(puVar25 + -8) = pbVar28;\n    break;" case number_literal : (expression_statement "*(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;" (assignment_expression "*(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1" (pointer_expression "*(int *)(puVar25 + 4)" * (cast_expression "(int *)(puVar25 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 4)" ( (binary_expression "puVar25 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar25 + 4) + 1" (pointer_expression "*(int *)(puVar25 + 4)" * (cast_expression "(int *)(puVar25 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 4)" ( (binary_expression "puVar25 + 4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar25 + -4)" * (cast_expression "(undefined4 *)(puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -4)" ( (binary_expression "puVar25 + -4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4)" * (cast_expression "(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + iVar23 * 0x10 + 0xa4)" ( (binary_expression "puVar25 + iVar23 * 0x10 + 0xa4" (binary_expression "puVar25 + iVar23 * 0x10" identifier + (binary_expression "iVar23 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar25 + -8)" * (cast_expression "(undefined4 *)(puVar25 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0)" * (cast_expression "(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + iVar23 * 0x10 + 0xa0)" ( (binary_expression "puVar25 + iVar23 * 0x10 + 0xa0" (binary_expression "puVar25 + iVar23 * 0x10" identifier + (binary_expression "iVar23 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(char **)(puVar25 + -0xc) = "%016llx";" (assignment_expression "*(char **)(puVar25 + -0xc) = "%016llx"" (pointer_expression "*(char **)(puVar25 + -0xc)" * (cast_expression "(char **)(puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = (string_literal ""%016llx"" " string_content ")) ;) (expression_statement "pcVar27 = puVar25 + 0x3c;" (assignment_expression "pcVar27 = puVar25 + 0x3c" identifier = (binary_expression "puVar25 + 0x3c" identifier + number_literal)) ;) (expression_statement "*(char **)(puVar25 + -0x10) = pcVar27;" (assignment_expression "*(char **)(puVar25 + -0x10) = pcVar27" (pointer_expression "*(char **)(puVar25 + -0x10)" * (cast_expression "(char **)(puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x345d0;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x345d0" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sprintf(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));" (call_expression "sprintf(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc))" identifier (argument_list "(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc))" ( (pointer_expression "*(char **)(puVar25 + -0x10)" * (cast_expression "(char **)(puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar25 + -0xc)" * (cast_expression "(char **)(puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "cVar2 = puVar25[0x3c];" (assignment_expression "cVar2 = puVar25[0x3c]" identifier = (subscript_expression "puVar25[0x3c]" identifier [ number_literal ])) ;) (while_statement "while (cVar2 == '0') {\n      pcVar27 = pcVar27 + 1;\n      cVar2 = *pcVar27;\n    }" while (parenthesized_expression "(cVar2 == '0')" ( (binary_expression "cVar2 == '0'" identifier == (char_literal "'0'" ' character ')) )) (compound_statement "{\n      pcVar27 = pcVar27 + 1;\n      cVar2 = *pcVar27;\n    }" { (expression_statement "pcVar27 = pcVar27 + 1;" (assignment_expression "pcVar27 = pcVar27 + 1" identifier = (binary_expression "pcVar27 + 1" identifier + number_literal)) ;) (expression_statement "cVar2 = *pcVar27;" (assignment_expression "cVar2 = *pcVar27" identifier = (pointer_expression "*pcVar27" * identifier)) ;) })) (expression_statement "pbVar28 = (bfd *)(pcVar27 + -(uint)(cVar2 == '\0'));" (assignment_expression "pbVar28 = (bfd *)(pcVar27 + -(uint)(cVar2 == '\0'))" identifier = (cast_expression "(bfd *)(pcVar27 + -(uint)(cVar2 == '\0'))" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + -(uint)(cVar2 == '\0'))" ( (binary_expression "pcVar27 + -(uint)(cVar2 == '\0')" identifier + (unary_expression "-(uint)(cVar2 == '\0')" - (call_expression "(uint)(cVar2 == '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))))) )))) ;) (expression_statement "*(bfd **)(puVar25 + -0x10) = pbVar28;" (assignment_expression "*(bfd **)(puVar25 + -0x10) = pbVar28" (pointer_expression "*(bfd **)(puVar25 + -0x10)" * (cast_expression "(bfd **)(puVar25 + -0x10)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x345f5;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x345f5" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sVar17 = strlen(*(char **)(puVar25 + -0x10));" (assignment_expression "sVar17 = strlen(*(char **)(puVar25 + -0x10))" identifier = (call_expression "strlen(*(char **)(puVar25 + -0x10))" identifier (argument_list "(*(char **)(puVar25 + -0x10))" ( (pointer_expression "*(char **)(puVar25 + -0x10)" * (cast_expression "(char **)(puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (sVar17 < 8) {\n      *(bfd **)(puVar25 + 8) = pbVar30;\n      uVar18 = *(undefined4 *)(puVar25 + 0x150);\n      *(char **)(puVar25 + 0x18) = fmt;\n      do {\n        sVar17 = sVar17 + 1;\n        *(undefined4 *)(puVar25 + -0xc) = uVar18;\n        *(undefined4 *)(puVar25 + -0x10) = 0x20;\n        *(undefined4 *)(puVar25 + -0x14) = 0x3461c;\n        putc(*(int *)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n      } while (sVar17 != 8);\n      pbVar30 = *(bfd **)(puVar25 + 8);\n      fmt = *(char **)(puVar25 + 0x18);\n    }" if (parenthesized_expression "(sVar17 < 8)" ( (binary_expression "sVar17 < 8" identifier < number_literal) )) (compound_statement "{\n      *(bfd **)(puVar25 + 8) = pbVar30;\n      uVar18 = *(undefined4 *)(puVar25 + 0x150);\n      *(char **)(puVar25 + 0x18) = fmt;\n      do {\n        sVar17 = sVar17 + 1;\n        *(undefined4 *)(puVar25 + -0xc) = uVar18;\n        *(undefined4 *)(puVar25 + -0x10) = 0x20;\n        *(undefined4 *)(puVar25 + -0x14) = 0x3461c;\n        putc(*(int *)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n      } while (sVar17 != 8);\n      pbVar30 = *(bfd **)(puVar25 + 8);\n      fmt = *(char **)(puVar25 + 0x18);\n    }" { (expression_statement "*(bfd **)(puVar25 + 8) = pbVar30;" (assignment_expression "*(bfd **)(puVar25 + 8) = pbVar30" (pointer_expression "*(bfd **)(puVar25 + 8)" * (cast_expression "(bfd **)(puVar25 + 8)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 8)" ( (binary_expression "puVar25 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar18 = *(undefined4 *)(puVar25 + 0x150);" (assignment_expression "uVar18 = *(undefined4 *)(puVar25 + 0x150)" identifier = (pointer_expression "*(undefined4 *)(puVar25 + 0x150)" * (cast_expression "(undefined4 *)(puVar25 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x150)" ( (binary_expression "puVar25 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(char **)(puVar25 + 0x18) = fmt;" (assignment_expression "*(char **)(puVar25 + 0x18) = fmt" (pointer_expression "*(char **)(puVar25 + 0x18)" * (cast_expression "(char **)(puVar25 + 0x18)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x18)" ( (binary_expression "puVar25 + 0x18" identifier + number_literal) )))) = identifier) ;) (do_statement "do {\n        sVar17 = sVar17 + 1;\n        *(undefined4 *)(puVar25 + -0xc) = uVar18;\n        *(undefined4 *)(puVar25 + -0x10) = 0x20;\n        *(undefined4 *)(puVar25 + -0x14) = 0x3461c;\n        putc(*(int *)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n      } while (sVar17 != 8);" do (compound_statement "{\n        sVar17 = sVar17 + 1;\n        *(undefined4 *)(puVar25 + -0xc) = uVar18;\n        *(undefined4 *)(puVar25 + -0x10) = 0x20;\n        *(undefined4 *)(puVar25 + -0x14) = 0x3461c;\n        putc(*(int *)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n      }" { (expression_statement "sVar17 = sVar17 + 1;" (assignment_expression "sVar17 = sVar17 + 1" identifier = (binary_expression "sVar17 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar25 + -0xc) = uVar18;" (assignment_expression "*(undefined4 *)(puVar25 + -0xc) = uVar18" (pointer_expression "*(undefined4 *)(puVar25 + -0xc)" * (cast_expression "(undefined4 *)(puVar25 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x10) = 0x20;" (assignment_expression "*(undefined4 *)(puVar25 + -0x10) = 0x20" (pointer_expression "*(undefined4 *)(puVar25 + -0x10)" * (cast_expression "(undefined4 *)(puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x3461c;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x3461c" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "putc(*(int *)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));" (call_expression "putc(*(int *)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc))" identifier (argument_list "(*(int *)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc))" ( (pointer_expression "*(int *)(puVar25 + -0x10)" * (cast_expression "(int *)(puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar25 + -0xc)" * (cast_expression "(FILE **)(puVar25 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) ))) ;) }) while (parenthesized_expression "(sVar17 != 8)" ( (binary_expression "sVar17 != 8" identifier != number_literal) )) ;) (expression_statement "pbVar30 = *(bfd **)(puVar25 + 8);" (assignment_expression "pbVar30 = *(bfd **)(puVar25 + 8)" identifier = (pointer_expression "*(bfd **)(puVar25 + 8)" * (cast_expression "(bfd **)(puVar25 + 8)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 8)" ( (binary_expression "puVar25 + 8" identifier + number_literal) ))))) ;) (expression_statement "fmt = *(char **)(puVar25 + 0x18);" (assignment_expression "fmt = *(char **)(puVar25 + 0x18)" identifier = (pointer_expression "*(char **)(puVar25 + 0x18)" * (cast_expression "(char **)(puVar25 + 0x18)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x18)" ( (binary_expression "puVar25 + 0x18" identifier + number_literal) ))))) ;) })) (expression_statement "pcVar27 = "0x%s";" (assignment_expression "pcVar27 = "0x%s"" identifier = (string_literal ""0x%s"" " string_content ")) ;) (expression_statement "*(bfd **)(puVar25 + -8) = pbVar28;" (assignment_expression "*(bfd **)(puVar25 + -8) = pbVar28" (pointer_expression "*(bfd **)(puVar25 + -8)" * (cast_expression "(bfd **)(puVar25 + -8)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 0x58:\n    config.make_executable = 0;\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;" case number_literal : (expression_statement "config.make_executable = 0;" (assignment_expression "config.make_executable = 0" (field_expression "config.make_executable" identifier . field_identifier) = number_literal) ;) (expression_statement "bVar12 = *(byte *)((int)&pbVar30->filename + 1);" (assignment_expression "bVar12 = *(byte *)((int)&pbVar30->filename + 1)" identifier = (pointer_expression "*(byte *)((int)&pbVar30->filename + 1)" * (cast_expression "(byte *)((int)&pbVar30->filename + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar30->filename + 1)" ( (binary_expression "(int)&pbVar30->filename + 1" (cast_expression "(int)&pbVar30->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar30->filename" & (field_expression "pbVar30->filename" identifier -> field_identifier))) + number_literal) ))))) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) (case_statement "case 100:\n    puVar15 = &DAT_0006c013;\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n    goto LAB_000344af;" case number_literal : (expression_statement "puVar15 = &DAT_0006c013;" (assignment_expression "puVar15 = &DAT_0006c013" identifier = (pointer_expression "&DAT_0006c013" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar25 + -8)" * (cast_expression "(undefined4 *)(puVar25 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0)" * (cast_expression "(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + iVar23 * 0x10 + 0xa0)" ( (binary_expression "puVar25 + iVar23 * 0x10 + 0xa0" (binary_expression "puVar25 + iVar23 * 0x10" identifier + (binary_expression "iVar23 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (goto_statement "goto LAB_000344af;" goto statement_identifier ;)) (case_statement "case 0x6c:\n    cVar2 = *(char *)((int)&pbVar30->filename + 1);\n    if (cVar2 == 'd') {\n      puVar15 = &DAT_0007d7c3;\n      *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\nLAB_000342cd:\n      *(undefined **)(puVar25 + -0xc) = puVar15;\n      *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n      *(undefined4 *)(puVar25 + -0x14) = 0x342dd;\n      fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n      *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n      bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n      fmt = (char *)((int)&pbVar30->filename + 2);\n      goto joined_r0x000340a6;\n    }\n    if (cVar2 == 'u') {\n      puVar15 = &DAT_0007d7c7;\n      *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n      goto LAB_000342cd;\n    }" case number_literal : (expression_statement "cVar2 = *(char *)((int)&pbVar30->filename + 1);" (assignment_expression "cVar2 = *(char *)((int)&pbVar30->filename + 1)" identifier = (pointer_expression "*(char *)((int)&pbVar30->filename + 1)" * (cast_expression "(char *)((int)&pbVar30->filename + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar30->filename + 1)" ( (binary_expression "(int)&pbVar30->filename + 1" (cast_expression "(int)&pbVar30->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar30->filename" & (field_expression "pbVar30->filename" identifier -> field_identifier))) + number_literal) ))))) ;) (if_statement "if (cVar2 == 'd') {\n      puVar15 = &DAT_0007d7c3;\n      *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\nLAB_000342cd:\n      *(undefined **)(puVar25 + -0xc) = puVar15;\n      *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n      *(undefined4 *)(puVar25 + -0x14) = 0x342dd;\n      fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n      *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n      bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n      fmt = (char *)((int)&pbVar30->filename + 2);\n      goto joined_r0x000340a6;\n    }" if (parenthesized_expression "(cVar2 == 'd')" ( (binary_expression "cVar2 == 'd'" identifier == (char_literal "'d'" ' character ')) )) (compound_statement "{\n      puVar15 = &DAT_0007d7c3;\n      *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\nLAB_000342cd:\n      *(undefined **)(puVar25 + -0xc) = puVar15;\n      *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n      *(undefined4 *)(puVar25 + -0x14) = 0x342dd;\n      fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n      *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n      bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n      fmt = (char *)((int)&pbVar30->filename + 2);\n      goto joined_r0x000340a6;\n    }" { (expression_statement "puVar15 = &DAT_0007d7c3;" (assignment_expression "puVar15 = &DAT_0007d7c3" identifier = (pointer_expression "&DAT_0007d7c3" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar25 + -8)" * (cast_expression "(undefined4 *)(puVar25 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0)" * (cast_expression "(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + iVar23 * 0x10 + 0xa0)" ( (binary_expression "puVar25 + iVar23 * 0x10 + 0xa0" (binary_expression "puVar25 + iVar23 * 0x10" identifier + (binary_expression "iVar23 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (labeled_statement "LAB_000342cd:\n      *(undefined **)(puVar25 + -0xc) = puVar15;" statement_identifier : (expression_statement "*(undefined **)(puVar25 + -0xc) = puVar15;" (assignment_expression "*(undefined **)(puVar25 + -0xc) = puVar15" (pointer_expression "*(undefined **)(puVar25 + -0xc)" * (cast_expression "(undefined **)(puVar25 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);" (assignment_expression "*(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150)" (pointer_expression "*(undefined4 *)(puVar25 + -0x10)" * (cast_expression "(undefined4 *)(puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x150)" * (cast_expression "(undefined4 *)(puVar25 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x150)" ( (binary_expression "puVar25 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x342dd;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x342dd" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));" (call_expression "fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc))" identifier (argument_list "(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc))" ( (pointer_expression "*(FILE **)(puVar25 + -0x10)" * (cast_expression "(FILE **)(puVar25 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar25 + -0xc)" * (cast_expression "(char **)(puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "*(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;" (assignment_expression "*(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1" (pointer_expression "*(int *)(puVar25 + 4)" * (cast_expression "(int *)(puVar25 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 4)" ( (binary_expression "puVar25 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar25 + 4) + 1" (pointer_expression "*(int *)(puVar25 + 4)" * (cast_expression "(int *)(puVar25 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 4)" ( (binary_expression "puVar25 + 4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "bVar12 = *(byte *)((int)&pbVar30->filename + 2);" (assignment_expression "bVar12 = *(byte *)((int)&pbVar30->filename + 2)" identifier = (pointer_expression "*(byte *)((int)&pbVar30->filename + 2)" * (cast_expression "(byte *)((int)&pbVar30->filename + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar30->filename + 2)" ( (binary_expression "(int)&pbVar30->filename + 2" (cast_expression "(int)&pbVar30->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar30->filename" & (field_expression "pbVar30->filename" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "fmt = (char *)((int)&pbVar30->filename + 2);" (assignment_expression "fmt = (char *)((int)&pbVar30->filename + 2)" identifier = (cast_expression "(char *)((int)&pbVar30->filename + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar30->filename + 2)" ( (binary_expression "(int)&pbVar30->filename + 2" (cast_expression "(int)&pbVar30->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar30->filename" & (field_expression "pbVar30->filename" identifier -> field_identifier))) + number_literal) )))) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;) })) (if_statement "if (cVar2 == 'u') {\n      puVar15 = &DAT_0007d7c7;\n      *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n      goto LAB_000342cd;\n    }" if (parenthesized_expression "(cVar2 == 'u')" ( (binary_expression "cVar2 == 'u'" identifier == (char_literal "'u'" ' character ')) )) (compound_statement "{\n      puVar15 = &DAT_0007d7c7;\n      *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n      goto LAB_000342cd;\n    }" { (expression_statement "puVar15 = &DAT_0007d7c7;" (assignment_expression "puVar15 = &DAT_0007d7c7" identifier = (pointer_expression "&DAT_0007d7c7" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar25 + -8)" * (cast_expression "(undefined4 *)(puVar25 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0)" * (cast_expression "(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + iVar23 * 0x10 + 0xa0)" ( (binary_expression "puVar25 + iVar23 * 0x10 + 0xa0" (binary_expression "puVar25 + iVar23 * 0x10" identifier + (binary_expression "iVar23 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (goto_statement "goto LAB_000342cd;" goto statement_identifier ;) }))) (case_statement "default:\n_L48:\n    pcVar27 = "%%%c";\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + 8);\n    break;" default : (labeled_statement "_L48:\n    pcVar27 = "%%%c";" statement_identifier : (expression_statement "pcVar27 = "%%%c";" (assignment_expression "pcVar27 = "%%%c"" identifier = (string_literal ""%%%c"" " string_content ")) ;)) (expression_statement "*(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + 8);" (assignment_expression "*(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + 8)" (pointer_expression "*(undefined4 *)(puVar25 + -8)" * (cast_expression "(undefined4 *)(puVar25 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 8)" * (cast_expression "(undefined4 *)(puVar25 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 8)" ( (binary_expression "puVar25 + 8" identifier + number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0x70:\n    cVar2 = *(char *)((int)&pbVar30->filename + 1);\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    if (cVar2 == 'A') {\n      pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n      puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n      pbVar28 = (bfd *)puVar7[0x2b];\n      *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n      *(undefined4 *)(puVar25 + -0x10) = *puVar7;\n      *(undefined4 **)(puVar25 + 8) = puVar7;\n      *(undefined4 *)(puVar25 + -0x14) = 0x34a7f;\n      fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n      iVar23 = *(int *)(puVar25 + 8);\n      if (pbVar28 != (bfd *)0x0) {\n        bVar9 = pbVar28->xvec->flavour;\n        if (bVar9 == bfd_target_elf_flavour) {\n          pbVar28 = *(bfd **)(*(int *)(iVar23 + 0xa4) + 0x8c);\n          if ((pbVar28 == (bfd *)0x0) || ((*(byte *)(iVar23 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar23 = *(int *)(*(int *)(iVar23 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((bVar9 != bfd_target_coff_flavour) ||\n               (*(int *)(*(int *)(*(int *)(iVar23 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar23 + 0xa4) == 0)) ||\n             (piVar10 = *(int **)(*(int *)(iVar23 + 0xa4) + 0x2c), piVar10 == (int *)0x0))\n          goto LAB_000349da;\n          iVar23 = *piVar10;\n        }\n        if (iVar23 != 0) {\n          puVar26 = puVar25 + -8;\n          *(int *)(puVar25 + -8) = iVar23;\n          pcVar27 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }\n    }\n    else {\n      if (cVar2 == 'B') {\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        if (puVar7 == (undefined4 *)0x0) {\n          puVar26 = puVar25 + -8;\n          *(char **)(puVar25 + -8) = program_name;\n          pcVar27 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar7[0x23];\n          pcVar27 = (char *)*puVar7;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\nLAB_00034957:\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n            *(char **)(puVar25 + -0x10) = pcVar27;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34967;\n            fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n            fmt = (char *)((int)&pbVar30->filename + 2);\n            bVar12 = *(byte *)&((bfd *)fmt)->filename;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar25 + -4) = pcVar27;\n          puVar26 = puVar25 + -8;\n          *(undefined4 *)(puVar25 + -8) = *puVar8;\n          pcVar27 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar26 + -4) = pcVar27;\n        *(undefined4 *)(puVar26 + -8) = *(undefined4 *)(puVar26 + 0x158);\n        *(undefined4 *)(puVar26 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar26 + -8),*(char **)(puVar26 + -4));\n        bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n        puVar25 = puVar26 + 8;\n        fmt = (char *)pbVar29;\n        goto joined_r0x000340a6;\n      }\n      if (cVar2 == 'I') {\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        pbVar28 = *(bfd **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        pbVar19 = pbVar28->lru_prev->my_archive;\n        if ((pbVar19 != (bfd *)0x0) && ((pbVar19->field_0x2c & 1) == 0)) {\nLAB_00034be8:\n          *(char **)(puVar25 + -8) = pbVar19->filename;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n        *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n        *(bfd_iovec **)(puVar25 + -0x10) = pbVar28->iovec;\n        *(undefined4 *)(puVar25 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n        pbVar19 = pbVar28->lru_prev->my_archive;\n        if ((pbVar19 == (bfd *)0x0) || ((pbVar19->field_0x2c & 1) != 0)) {\n          *(void **)(puVar25 + -0xc) = pbVar28->iostream;\n          *(bfd_iovec **)(puVar25 + -0x10) = pbVar28->iovec;\n          *(undefined4 *)(puVar25 + -0x14) = 0x349cf;\n          iVar23 = filename_cmp();\n          if (iVar23 != 0) {\n            pcVar27 = " (%s)";\n            puVar26 = puVar25 + -8;\n            *(void **)(puVar25 + -8) = pbVar28->iostream;\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (cVar2 == 'R') {\n          puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar7[5] + 0x20);\n          *(undefined4 *)(puVar25 + -0x10) = puVar7[4];\n          *(undefined4 *)(puVar25 + -0x14) = puVar7[3];\n          *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(*(int *)*puVar7 + 4);\n          *(char **)(puVar25 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x348d6;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n          bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n          fmt = (char *)((int)&pbVar30->filename + 2);\n          goto joined_r0x000340a6;\n        }\n        if (cVar2 != 'S') {\n          if (cVar2 != 'T') {\n            pcVar27 = "%p";\n            *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n          pcVar27 = *(char **)(puVar25 + iVar23 * 0x10 + 0xa0);\n          if ((pcVar27 != (char *)0x0) && (*pcVar27 != '\0')) {\n            pbVar28 = (bfd *)**(undefined4 **)(puVar25 + 0x14);\n            if (pbVar28 != (bfd *)0x0) {\n              *(undefined4 *)(puVar25 + -8) = 3;\n              *(char **)(puVar25 + -0xc) = pcVar27;\n              *(char **)(puVar25 + 8) = pcVar27;\n              *(bfd **)(puVar25 + -0x10) = link_info.output_bfd;\n              *(undefined4 *)(puVar25 + -0x14) = 0x3454c;\n              pbVar28 = (bfd *)bfd_demangle();\n              pcVar27 = *(char **)(puVar25 + 8);\n              if (pbVar28 != (bfd *)0x0) {\n                *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x3456d;\n                fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x34575;\n                free(*(void **)(puVar25 + -0x10));\n                bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n                fmt = (char *)pbVar29;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto LAB_00034957;\n          }\n          *(undefined4 *)(puVar25 + -8) = 5;\n          *(char **)(puVar25 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar25 + -0x10) = 0;\n          *(undefined4 *)(puVar25 + -0x14) = 0x34b14;\n          pcVar27 = (char *)dcgettext();\n          puVar26 = puVar25 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        puVar24 = *(undefined1 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        if (puVar24 == (undefined1 *)0x0) {\n          *(undefined4 *)(puVar25 + -4) = 0x34c1e;\n          pcVar27 = ldlex_filename();\n          *(char **)(puVar25 + 0x44) = pcVar27;\n          *(uint *)(puVar25 + 0x40) = lineno;\n          puVar24 = puVar25 + 0x3c;\n        }\n        else {\n          pcVar27 = *(char **)(puVar24 + 8);\n        }\n        if (pcVar27 != (char *)0x0) {\n          *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar24 + 4);\n          *(char **)(puVar25 + -8) = pcVar27;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d7b0;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34b67;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n      }\n    }\nLAB_000349da:\n    bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n    fmt = (char *)pbVar29;\n    goto joined_r0x000340a6;" case number_literal : (expression_statement "cVar2 = *(char *)((int)&pbVar30->filename + 1);" (assignment_expression "cVar2 = *(char *)((int)&pbVar30->filename + 1)" identifier = (pointer_expression "*(char *)((int)&pbVar30->filename + 1)" * (cast_expression "(char *)((int)&pbVar30->filename + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar30->filename + 1)" ( (binary_expression "(int)&pbVar30->filename + 1" (cast_expression "(int)&pbVar30->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar30->filename" & (field_expression "pbVar30->filename" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "*(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;" (assignment_expression "*(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1" (pointer_expression "*(int *)(puVar25 + 4)" * (cast_expression "(int *)(puVar25 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 4)" ( (binary_expression "puVar25 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar25 + 4) + 1" (pointer_expression "*(int *)(puVar25 + 4)" * (cast_expression "(int *)(puVar25 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 4)" ( (binary_expression "puVar25 + 4" identifier + number_literal) )))) + number_literal)) ;) (if_statement "if (cVar2 == 'A') {\n      pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n      puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n      pbVar28 = (bfd *)puVar7[0x2b];\n      *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n      *(undefined4 *)(puVar25 + -0x10) = *puVar7;\n      *(undefined4 **)(puVar25 + 8) = puVar7;\n      *(undefined4 *)(puVar25 + -0x14) = 0x34a7f;\n      fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n      iVar23 = *(int *)(puVar25 + 8);\n      if (pbVar28 != (bfd *)0x0) {\n        bVar9 = pbVar28->xvec->flavour;\n        if (bVar9 == bfd_target_elf_flavour) {\n          pbVar28 = *(bfd **)(*(int *)(iVar23 + 0xa4) + 0x8c);\n          if ((pbVar28 == (bfd *)0x0) || ((*(byte *)(iVar23 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar23 = *(int *)(*(int *)(iVar23 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((bVar9 != bfd_target_coff_flavour) ||\n               (*(int *)(*(int *)(*(int *)(iVar23 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar23 + 0xa4) == 0)) ||\n             (piVar10 = *(int **)(*(int *)(iVar23 + 0xa4) + 0x2c), piVar10 == (int *)0x0))\n          goto LAB_000349da;\n          iVar23 = *piVar10;\n        }\n        if (iVar23 != 0) {\n          puVar26 = puVar25 + -8;\n          *(int *)(puVar25 + -8) = iVar23;\n          pcVar27 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }\n    }\n    else {\n      if (cVar2 == 'B') {\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        if (puVar7 == (undefined4 *)0x0) {\n          puVar26 = puVar25 + -8;\n          *(char **)(puVar25 + -8) = program_name;\n          pcVar27 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar7[0x23];\n          pcVar27 = (char *)*puVar7;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\nLAB_00034957:\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n            *(char **)(puVar25 + -0x10) = pcVar27;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34967;\n            fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n            fmt = (char *)((int)&pbVar30->filename + 2);\n            bVar12 = *(byte *)&((bfd *)fmt)->filename;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar25 + -4) = pcVar27;\n          puVar26 = puVar25 + -8;\n          *(undefined4 *)(puVar25 + -8) = *puVar8;\n          pcVar27 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar26 + -4) = pcVar27;\n        *(undefined4 *)(puVar26 + -8) = *(undefined4 *)(puVar26 + 0x158);\n        *(undefined4 *)(puVar26 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar26 + -8),*(char **)(puVar26 + -4));\n        bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n        puVar25 = puVar26 + 8;\n        fmt = (char *)pbVar29;\n        goto joined_r0x000340a6;\n      }\n      if (cVar2 == 'I') {\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        pbVar28 = *(bfd **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        pbVar19 = pbVar28->lru_prev->my_archive;\n        if ((pbVar19 != (bfd *)0x0) && ((pbVar19->field_0x2c & 1) == 0)) {\nLAB_00034be8:\n          *(char **)(puVar25 + -8) = pbVar19->filename;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n        *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n        *(bfd_iovec **)(puVar25 + -0x10) = pbVar28->iovec;\n        *(undefined4 *)(puVar25 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n        pbVar19 = pbVar28->lru_prev->my_archive;\n        if ((pbVar19 == (bfd *)0x0) || ((pbVar19->field_0x2c & 1) != 0)) {\n          *(void **)(puVar25 + -0xc) = pbVar28->iostream;\n          *(bfd_iovec **)(puVar25 + -0x10) = pbVar28->iovec;\n          *(undefined4 *)(puVar25 + -0x14) = 0x349cf;\n          iVar23 = filename_cmp();\n          if (iVar23 != 0) {\n            pcVar27 = " (%s)";\n            puVar26 = puVar25 + -8;\n            *(void **)(puVar25 + -8) = pbVar28->iostream;\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (cVar2 == 'R') {\n          puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar7[5] + 0x20);\n          *(undefined4 *)(puVar25 + -0x10) = puVar7[4];\n          *(undefined4 *)(puVar25 + -0x14) = puVar7[3];\n          *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(*(int *)*puVar7 + 4);\n          *(char **)(puVar25 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x348d6;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n          bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n          fmt = (char *)((int)&pbVar30->filename + 2);\n          goto joined_r0x000340a6;\n        }\n        if (cVar2 != 'S') {\n          if (cVar2 != 'T') {\n            pcVar27 = "%p";\n            *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n          pcVar27 = *(char **)(puVar25 + iVar23 * 0x10 + 0xa0);\n          if ((pcVar27 != (char *)0x0) && (*pcVar27 != '\0')) {\n            pbVar28 = (bfd *)**(undefined4 **)(puVar25 + 0x14);\n            if (pbVar28 != (bfd *)0x0) {\n              *(undefined4 *)(puVar25 + -8) = 3;\n              *(char **)(puVar25 + -0xc) = pcVar27;\n              *(char **)(puVar25 + 8) = pcVar27;\n              *(bfd **)(puVar25 + -0x10) = link_info.output_bfd;\n              *(undefined4 *)(puVar25 + -0x14) = 0x3454c;\n              pbVar28 = (bfd *)bfd_demangle();\n              pcVar27 = *(char **)(puVar25 + 8);\n              if (pbVar28 != (bfd *)0x0) {\n                *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x3456d;\n                fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x34575;\n                free(*(void **)(puVar25 + -0x10));\n                bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n                fmt = (char *)pbVar29;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto LAB_00034957;\n          }\n          *(undefined4 *)(puVar25 + -8) = 5;\n          *(char **)(puVar25 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar25 + -0x10) = 0;\n          *(undefined4 *)(puVar25 + -0x14) = 0x34b14;\n          pcVar27 = (char *)dcgettext();\n          puVar26 = puVar25 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        puVar24 = *(undefined1 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        if (puVar24 == (undefined1 *)0x0) {\n          *(undefined4 *)(puVar25 + -4) = 0x34c1e;\n          pcVar27 = ldlex_filename();\n          *(char **)(puVar25 + 0x44) = pcVar27;\n          *(uint *)(puVar25 + 0x40) = lineno;\n          puVar24 = puVar25 + 0x3c;\n        }\n        else {\n          pcVar27 = *(char **)(puVar24 + 8);\n        }\n        if (pcVar27 != (char *)0x0) {\n          *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar24 + 4);\n          *(char **)(puVar25 + -8) = pcVar27;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d7b0;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34b67;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n      }\n    }" if (parenthesized_expression "(cVar2 == 'A')" ( (binary_expression "cVar2 == 'A'" identifier == (char_literal "'A'" ' character ')) )) (compound_statement "{\n      pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n      puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n      pbVar28 = (bfd *)puVar7[0x2b];\n      *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n      *(undefined4 *)(puVar25 + -0x10) = *puVar7;\n      *(undefined4 **)(puVar25 + 8) = puVar7;\n      *(undefined4 *)(puVar25 + -0x14) = 0x34a7f;\n      fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n      iVar23 = *(int *)(puVar25 + 8);\n      if (pbVar28 != (bfd *)0x0) {\n        bVar9 = pbVar28->xvec->flavour;\n        if (bVar9 == bfd_target_elf_flavour) {\n          pbVar28 = *(bfd **)(*(int *)(iVar23 + 0xa4) + 0x8c);\n          if ((pbVar28 == (bfd *)0x0) || ((*(byte *)(iVar23 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar23 = *(int *)(*(int *)(iVar23 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((bVar9 != bfd_target_coff_flavour) ||\n               (*(int *)(*(int *)(*(int *)(iVar23 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar23 + 0xa4) == 0)) ||\n             (piVar10 = *(int **)(*(int *)(iVar23 + 0xa4) + 0x2c), piVar10 == (int *)0x0))\n          goto LAB_000349da;\n          iVar23 = *piVar10;\n        }\n        if (iVar23 != 0) {\n          puVar26 = puVar25 + -8;\n          *(int *)(puVar25 + -8) = iVar23;\n          pcVar27 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }\n    }" { (expression_statement "pbVar29 = (bfd *)((int)&pbVar30->filename + 2);" (assignment_expression "pbVar29 = (bfd *)((int)&pbVar30->filename + 2)" identifier = (cast_expression "(bfd *)((int)&pbVar30->filename + 2)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar30->filename + 2)" ( (binary_expression "(int)&pbVar30->filename + 2" (cast_expression "(int)&pbVar30->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar30->filename" & (field_expression "pbVar30->filename" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);" (assignment_expression "puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0)" identifier = (pointer_expression "*(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0)" * (cast_expression "(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + iVar23 * 0x10 + 0xa0)" ( (binary_expression "puVar25 + iVar23 * 0x10 + 0xa0" (binary_expression "puVar25 + iVar23 * 0x10" identifier + (binary_expression "iVar23 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "pbVar28 = (bfd *)puVar7[0x2b];" (assignment_expression "pbVar28 = (bfd *)puVar7[0x2b]" identifier = (cast_expression "(bfd *)puVar7[0x2b]" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar7[0x2b]" identifier [ number_literal ]))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);" (assignment_expression "*(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150)" (pointer_expression "*(undefined4 *)(puVar25 + -0xc)" * (cast_expression "(undefined4 *)(puVar25 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x150)" * (cast_expression "(undefined4 *)(puVar25 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x150)" ( (binary_expression "puVar25 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x10) = *puVar7;" (assignment_expression "*(undefined4 *)(puVar25 + -0x10) = *puVar7" (pointer_expression "*(undefined4 *)(puVar25 + -0x10)" * (cast_expression "(undefined4 *)(puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = (pointer_expression "*puVar7" * identifier)) ;) (expression_statement "*(undefined4 **)(puVar25 + 8) = puVar7;" (assignment_expression "*(undefined4 **)(puVar25 + 8) = puVar7" (pointer_expression "*(undefined4 **)(puVar25 + 8)" * (cast_expression "(undefined4 **)(puVar25 + 8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 8)" ( (binary_expression "puVar25 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x34a7f;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x34a7f" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));" (call_expression "fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc))" identifier (argument_list "(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc))" ( (pointer_expression "*(char **)(puVar25 + -0x10)" * (cast_expression "(char **)(puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar25 + -0xc)" * (cast_expression "(FILE **)(puVar25 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "iVar23 = *(int *)(puVar25 + 8);" (assignment_expression "iVar23 = *(int *)(puVar25 + 8)" identifier = (pointer_expression "*(int *)(puVar25 + 8)" * (cast_expression "(int *)(puVar25 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 8)" ( (binary_expression "puVar25 + 8" identifier + number_literal) ))))) ;) (if_statement "if (pbVar28 != (bfd *)0x0) {\n        bVar9 = pbVar28->xvec->flavour;\n        if (bVar9 == bfd_target_elf_flavour) {\n          pbVar28 = *(bfd **)(*(int *)(iVar23 + 0xa4) + 0x8c);\n          if ((pbVar28 == (bfd *)0x0) || ((*(byte *)(iVar23 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar23 = *(int *)(*(int *)(iVar23 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((bVar9 != bfd_target_coff_flavour) ||\n               (*(int *)(*(int *)(*(int *)(iVar23 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar23 + 0xa4) == 0)) ||\n             (piVar10 = *(int **)(*(int *)(iVar23 + 0xa4) + 0x2c), piVar10 == (int *)0x0))\n          goto LAB_000349da;\n          iVar23 = *piVar10;\n        }\n        if (iVar23 != 0) {\n          puVar26 = puVar25 + -8;\n          *(int *)(puVar25 + -8) = iVar23;\n          pcVar27 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }" if (parenthesized_expression "(pbVar28 != (bfd *)0x0)" ( (binary_expression "pbVar28 != (bfd *)0x0" identifier != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        bVar9 = pbVar28->xvec->flavour;\n        if (bVar9 == bfd_target_elf_flavour) {\n          pbVar28 = *(bfd **)(*(int *)(iVar23 + 0xa4) + 0x8c);\n          if ((pbVar28 == (bfd *)0x0) || ((*(byte *)(iVar23 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar23 = *(int *)(*(int *)(iVar23 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((bVar9 != bfd_target_coff_flavour) ||\n               (*(int *)(*(int *)(*(int *)(iVar23 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar23 + 0xa4) == 0)) ||\n             (piVar10 = *(int **)(*(int *)(iVar23 + 0xa4) + 0x2c), piVar10 == (int *)0x0))\n          goto LAB_000349da;\n          iVar23 = *piVar10;\n        }\n        if (iVar23 != 0) {\n          puVar26 = puVar25 + -8;\n          *(int *)(puVar25 + -8) = iVar23;\n          pcVar27 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }" { (expression_statement "bVar9 = pbVar28->xvec->flavour;" (assignment_expression "bVar9 = pbVar28->xvec->flavour" identifier = (field_expression "pbVar28->xvec->flavour" (field_expression "pbVar28->xvec" identifier -> field_identifier) -> field_identifier)) ;) (if_statement "if (bVar9 == bfd_target_elf_flavour) {\n          pbVar28 = *(bfd **)(*(int *)(iVar23 + 0xa4) + 0x8c);\n          if ((pbVar28 == (bfd *)0x0) || ((*(byte *)(iVar23 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar23 = *(int *)(*(int *)(iVar23 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((bVar9 != bfd_target_coff_flavour) ||\n               (*(int *)(*(int *)(*(int *)(iVar23 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar23 + 0xa4) == 0)) ||\n             (piVar10 = *(int **)(*(int *)(iVar23 + 0xa4) + 0x2c), piVar10 == (int *)0x0))\n          goto LAB_000349da;\n          iVar23 = *piVar10;\n        }" if (parenthesized_expression "(bVar9 == bfd_target_elf_flavour)" ( (binary_expression "bVar9 == bfd_target_elf_flavour" identifier == identifier) )) (compound_statement "{\n          pbVar28 = *(bfd **)(*(int *)(iVar23 + 0xa4) + 0x8c);\n          if ((pbVar28 == (bfd *)0x0) || ((*(byte *)(iVar23 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar23 = *(int *)(*(int *)(iVar23 + 0xa4) + 0x84);\n        }" { (expression_statement "pbVar28 = *(bfd **)(*(int *)(iVar23 + 0xa4) + 0x8c);" (assignment_expression "pbVar28 = *(bfd **)(*(int *)(iVar23 + 0xa4) + 0x8c)" identifier = (pointer_expression "*(bfd **)(*(int *)(iVar23 + 0xa4) + 0x8c)" * (cast_expression "(bfd **)(*(int *)(iVar23 + 0xa4) + 0x8c)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(iVar23 + 0xa4) + 0x8c)" ( (binary_expression "*(int *)(iVar23 + 0xa4) + 0x8c" (pointer_expression "*(int *)(iVar23 + 0xa4)" * (cast_expression "(int *)(iVar23 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0xa4)" ( (binary_expression "iVar23 + 0xa4" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if ((pbVar28 == (bfd *)0x0) || ((*(byte *)(iVar23 + 0x17) & 2) != 0)) goto LAB_000349da;" if (parenthesized_expression "((pbVar28 == (bfd *)0x0) || ((*(byte *)(iVar23 + 0x17) & 2) != 0))" ( (binary_expression "(pbVar28 == (bfd *)0x0) || ((*(byte *)(iVar23 + 0x17) & 2) != 0)" (parenthesized_expression "(pbVar28 == (bfd *)0x0)" ( (binary_expression "pbVar28 == (bfd *)0x0" identifier == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((*(byte *)(iVar23 + 0x17) & 2) != 0)" ( (binary_expression "(*(byte *)(iVar23 + 0x17) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar23 + 0x17) & 2)" ( (binary_expression "*(byte *)(iVar23 + 0x17) & 2" (pointer_expression "*(byte *)(iVar23 + 0x17)" * (cast_expression "(byte *)(iVar23 + 0x17)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x17)" ( (binary_expression "iVar23 + 0x17" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_000349da;" goto statement_identifier ;)) (expression_statement "iVar23 = *(int *)(*(int *)(iVar23 + 0xa4) + 0x84);" (assignment_expression "iVar23 = *(int *)(*(int *)(iVar23 + 0xa4) + 0x84)" identifier = (pointer_expression "*(int *)(*(int *)(iVar23 + 0xa4) + 0x84)" * (cast_expression "(int *)(*(int *)(iVar23 + 0xa4) + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar23 + 0xa4) + 0x84)" ( (binary_expression "*(int *)(iVar23 + 0xa4) + 0x84" (pointer_expression "*(int *)(iVar23 + 0xa4)" * (cast_expression "(int *)(iVar23 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0xa4)" ( (binary_expression "iVar23 + 0xa4" identifier + number_literal) )))) + number_literal) ))))) ;) }) (else_clause "else {\n          if ((((bVar9 != bfd_target_coff_flavour) ||\n               (*(int *)(*(int *)(*(int *)(iVar23 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar23 + 0xa4) == 0)) ||\n             (piVar10 = *(int **)(*(int *)(iVar23 + 0xa4) + 0x2c), piVar10 == (int *)0x0))\n          goto LAB_000349da;\n          iVar23 = *piVar10;\n        }" else (compound_statement "{\n          if ((((bVar9 != bfd_target_coff_flavour) ||\n               (*(int *)(*(int *)(*(int *)(iVar23 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar23 + 0xa4) == 0)) ||\n             (piVar10 = *(int **)(*(int *)(iVar23 + 0xa4) + 0x2c), piVar10 == (int *)0x0))\n          goto LAB_000349da;\n          iVar23 = *piVar10;\n        }" { (if_statement "if ((((bVar9 != bfd_target_coff_flavour) ||\n               (*(int *)(*(int *)(*(int *)(iVar23 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar23 + 0xa4) == 0)) ||\n             (piVar10 = *(int **)(*(int *)(iVar23 + 0xa4) + 0x2c), piVar10 == (int *)0x0))\n          goto LAB_000349da;" if (parenthesized_expression "((((bVar9 != bfd_target_coff_flavour) ||\n               (*(int *)(*(int *)(*(int *)(iVar23 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar23 + 0xa4) == 0)) ||\n             (piVar10 = *(int **)(*(int *)(iVar23 + 0xa4) + 0x2c), piVar10 == (int *)0x0))" ( (binary_expression "(((bVar9 != bfd_target_coff_flavour) ||\n               (*(int *)(*(int *)(*(int *)(iVar23 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar23 + 0xa4) == 0)) ||\n             (piVar10 = *(int **)(*(int *)(iVar23 + 0xa4) + 0x2c), piVar10 == (int *)0x0)" (parenthesized_expression "(((bVar9 != bfd_target_coff_flavour) ||\n               (*(int *)(*(int *)(*(int *)(iVar23 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar23 + 0xa4) == 0))" ( (binary_expression "((bVar9 != bfd_target_coff_flavour) ||\n               (*(int *)(*(int *)(*(int *)(iVar23 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar23 + 0xa4) == 0)" (parenthesized_expression "((bVar9 != bfd_target_coff_flavour) ||\n               (*(int *)(*(int *)(*(int *)(iVar23 + 0xac) + 4) + 4) != 2))" ( (binary_expression "(bVar9 != bfd_target_coff_flavour) ||\n               (*(int *)(*(int *)(*(int *)(iVar23 + 0xac) + 4) + 4) != 2)" (parenthesized_expression "(bVar9 != bfd_target_coff_flavour)" ( (binary_expression "bVar9 != bfd_target_coff_flavour" identifier != identifier) )) || (parenthesized_expression "(*(int *)(*(int *)(*(int *)(iVar23 + 0xac) + 4) + 4) != 2)" ( (binary_expression "*(int *)(*(int *)(*(int *)(iVar23 + 0xac) + 4) + 4) != 2" (pointer_expression "*(int *)(*(int *)(*(int *)(iVar23 + 0xac) + 4) + 4)" * (cast_expression "(int *)(*(int *)(*(int *)(iVar23 + 0xac) + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(iVar23 + 0xac) + 4) + 4)" ( (binary_expression "*(int *)(*(int *)(iVar23 + 0xac) + 4) + 4" (pointer_expression "*(int *)(*(int *)(iVar23 + 0xac) + 4)" * (cast_expression "(int *)(*(int *)(iVar23 + 0xac) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar23 + 0xac) + 4)" ( (binary_expression "*(int *)(iVar23 + 0xac) + 4" (pointer_expression "*(int *)(iVar23 + 0xac)" * (cast_expression "(int *)(iVar23 + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0xac)" ( (binary_expression "iVar23 + 0xac" identifier + number_literal) )))) + number_literal) )))) + number_literal) )))) != number_literal) ))) )) || (parenthesized_expression "(*(int *)(iVar23 + 0xa4) == 0)" ( (binary_expression "*(int *)(iVar23 + 0xa4) == 0" (pointer_expression "*(int *)(iVar23 + 0xa4)" * (cast_expression "(int *)(iVar23 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0xa4)" ( (binary_expression "iVar23 + 0xa4" identifier + number_literal) )))) == number_literal) ))) )) || (parenthesized_expression "(piVar10 = *(int **)(*(int *)(iVar23 + 0xa4) + 0x2c), piVar10 == (int *)0x0)" ( (comma_expression "piVar10 = *(int **)(*(int *)(iVar23 + 0xa4) + 0x2c), piVar10 == (int *)0x0" (assignment_expression "piVar10 = *(int **)(*(int *)(iVar23 + 0xa4) + 0x2c)" identifier = (pointer_expression "*(int **)(*(int *)(iVar23 + 0xa4) + 0x2c)" * (cast_expression "(int **)(*(int *)(iVar23 + 0xa4) + 0x2c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(iVar23 + 0xa4) + 0x2c)" ( (binary_expression "*(int *)(iVar23 + 0xa4) + 0x2c" (pointer_expression "*(int *)(iVar23 + 0xa4)" * (cast_expression "(int *)(iVar23 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0xa4)" ( (binary_expression "iVar23 + 0xa4" identifier + number_literal) )))) + number_literal) ))))) , (binary_expression "piVar10 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_000349da;" goto statement_identifier ;)) (expression_statement "iVar23 = *piVar10;" (assignment_expression "iVar23 = *piVar10" identifier = (pointer_expression "*piVar10" * identifier)) ;) }))) (if_statement "if (iVar23 != 0) {\n          puVar26 = puVar25 + -8;\n          *(int *)(puVar25 + -8) = iVar23;\n          pcVar27 = "[%s]";\n          goto LAB_00034ae6;\n        }" if (parenthesized_expression "(iVar23 != 0)" ( (binary_expression "iVar23 != 0" identifier != number_literal) )) (compound_statement "{\n          puVar26 = puVar25 + -8;\n          *(int *)(puVar25 + -8) = iVar23;\n          pcVar27 = "[%s]";\n          goto LAB_00034ae6;\n        }" { (expression_statement "puVar26 = puVar25 + -8;" (assignment_expression "puVar26 = puVar25 + -8" identifier = (binary_expression "puVar25 + -8" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar25 + -8) = iVar23;" (assignment_expression "*(int *)(puVar25 + -8) = iVar23" (pointer_expression "*(int *)(puVar25 + -8)" * (cast_expression "(int *)(puVar25 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar27 = "[%s]";" (assignment_expression "pcVar27 = "[%s]"" identifier = (string_literal ""[%s]"" " string_content ")) ;) (goto_statement "goto LAB_00034ae6;" goto statement_identifier ;) })) })) }) (else_clause "else {\n      if (cVar2 == 'B') {\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        if (puVar7 == (undefined4 *)0x0) {\n          puVar26 = puVar25 + -8;\n          *(char **)(puVar25 + -8) = program_name;\n          pcVar27 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar7[0x23];\n          pcVar27 = (char *)*puVar7;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\nLAB_00034957:\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n            *(char **)(puVar25 + -0x10) = pcVar27;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34967;\n            fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n            fmt = (char *)((int)&pbVar30->filename + 2);\n            bVar12 = *(byte *)&((bfd *)fmt)->filename;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar25 + -4) = pcVar27;\n          puVar26 = puVar25 + -8;\n          *(undefined4 *)(puVar25 + -8) = *puVar8;\n          pcVar27 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar26 + -4) = pcVar27;\n        *(undefined4 *)(puVar26 + -8) = *(undefined4 *)(puVar26 + 0x158);\n        *(undefined4 *)(puVar26 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar26 + -8),*(char **)(puVar26 + -4));\n        bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n        puVar25 = puVar26 + 8;\n        fmt = (char *)pbVar29;\n        goto joined_r0x000340a6;\n      }\n      if (cVar2 == 'I') {\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        pbVar28 = *(bfd **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        pbVar19 = pbVar28->lru_prev->my_archive;\n        if ((pbVar19 != (bfd *)0x0) && ((pbVar19->field_0x2c & 1) == 0)) {\nLAB_00034be8:\n          *(char **)(puVar25 + -8) = pbVar19->filename;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n        *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n        *(bfd_iovec **)(puVar25 + -0x10) = pbVar28->iovec;\n        *(undefined4 *)(puVar25 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n        pbVar19 = pbVar28->lru_prev->my_archive;\n        if ((pbVar19 == (bfd *)0x0) || ((pbVar19->field_0x2c & 1) != 0)) {\n          *(void **)(puVar25 + -0xc) = pbVar28->iostream;\n          *(bfd_iovec **)(puVar25 + -0x10) = pbVar28->iovec;\n          *(undefined4 *)(puVar25 + -0x14) = 0x349cf;\n          iVar23 = filename_cmp();\n          if (iVar23 != 0) {\n            pcVar27 = " (%s)";\n            puVar26 = puVar25 + -8;\n            *(void **)(puVar25 + -8) = pbVar28->iostream;\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (cVar2 == 'R') {\n          puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar7[5] + 0x20);\n          *(undefined4 *)(puVar25 + -0x10) = puVar7[4];\n          *(undefined4 *)(puVar25 + -0x14) = puVar7[3];\n          *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(*(int *)*puVar7 + 4);\n          *(char **)(puVar25 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x348d6;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n          bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n          fmt = (char *)((int)&pbVar30->filename + 2);\n          goto joined_r0x000340a6;\n        }\n        if (cVar2 != 'S') {\n          if (cVar2 != 'T') {\n            pcVar27 = "%p";\n            *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n          pcVar27 = *(char **)(puVar25 + iVar23 * 0x10 + 0xa0);\n          if ((pcVar27 != (char *)0x0) && (*pcVar27 != '\0')) {\n            pbVar28 = (bfd *)**(undefined4 **)(puVar25 + 0x14);\n            if (pbVar28 != (bfd *)0x0) {\n              *(undefined4 *)(puVar25 + -8) = 3;\n              *(char **)(puVar25 + -0xc) = pcVar27;\n              *(char **)(puVar25 + 8) = pcVar27;\n              *(bfd **)(puVar25 + -0x10) = link_info.output_bfd;\n              *(undefined4 *)(puVar25 + -0x14) = 0x3454c;\n              pbVar28 = (bfd *)bfd_demangle();\n              pcVar27 = *(char **)(puVar25 + 8);\n              if (pbVar28 != (bfd *)0x0) {\n                *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x3456d;\n                fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x34575;\n                free(*(void **)(puVar25 + -0x10));\n                bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n                fmt = (char *)pbVar29;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto LAB_00034957;\n          }\n          *(undefined4 *)(puVar25 + -8) = 5;\n          *(char **)(puVar25 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar25 + -0x10) = 0;\n          *(undefined4 *)(puVar25 + -0x14) = 0x34b14;\n          pcVar27 = (char *)dcgettext();\n          puVar26 = puVar25 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        puVar24 = *(undefined1 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        if (puVar24 == (undefined1 *)0x0) {\n          *(undefined4 *)(puVar25 + -4) = 0x34c1e;\n          pcVar27 = ldlex_filename();\n          *(char **)(puVar25 + 0x44) = pcVar27;\n          *(uint *)(puVar25 + 0x40) = lineno;\n          puVar24 = puVar25 + 0x3c;\n        }\n        else {\n          pcVar27 = *(char **)(puVar24 + 8);\n        }\n        if (pcVar27 != (char *)0x0) {\n          *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar24 + 4);\n          *(char **)(puVar25 + -8) = pcVar27;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d7b0;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34b67;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n      }\n    }" else (compound_statement "{\n      if (cVar2 == 'B') {\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        if (puVar7 == (undefined4 *)0x0) {\n          puVar26 = puVar25 + -8;\n          *(char **)(puVar25 + -8) = program_name;\n          pcVar27 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar7[0x23];\n          pcVar27 = (char *)*puVar7;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\nLAB_00034957:\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n            *(char **)(puVar25 + -0x10) = pcVar27;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34967;\n            fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n            fmt = (char *)((int)&pbVar30->filename + 2);\n            bVar12 = *(byte *)&((bfd *)fmt)->filename;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar25 + -4) = pcVar27;\n          puVar26 = puVar25 + -8;\n          *(undefined4 *)(puVar25 + -8) = *puVar8;\n          pcVar27 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar26 + -4) = pcVar27;\n        *(undefined4 *)(puVar26 + -8) = *(undefined4 *)(puVar26 + 0x158);\n        *(undefined4 *)(puVar26 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar26 + -8),*(char **)(puVar26 + -4));\n        bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n        puVar25 = puVar26 + 8;\n        fmt = (char *)pbVar29;\n        goto joined_r0x000340a6;\n      }\n      if (cVar2 == 'I') {\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        pbVar28 = *(bfd **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        pbVar19 = pbVar28->lru_prev->my_archive;\n        if ((pbVar19 != (bfd *)0x0) && ((pbVar19->field_0x2c & 1) == 0)) {\nLAB_00034be8:\n          *(char **)(puVar25 + -8) = pbVar19->filename;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n        *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n        *(bfd_iovec **)(puVar25 + -0x10) = pbVar28->iovec;\n        *(undefined4 *)(puVar25 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n        pbVar19 = pbVar28->lru_prev->my_archive;\n        if ((pbVar19 == (bfd *)0x0) || ((pbVar19->field_0x2c & 1) != 0)) {\n          *(void **)(puVar25 + -0xc) = pbVar28->iostream;\n          *(bfd_iovec **)(puVar25 + -0x10) = pbVar28->iovec;\n          *(undefined4 *)(puVar25 + -0x14) = 0x349cf;\n          iVar23 = filename_cmp();\n          if (iVar23 != 0) {\n            pcVar27 = " (%s)";\n            puVar26 = puVar25 + -8;\n            *(void **)(puVar25 + -8) = pbVar28->iostream;\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (cVar2 == 'R') {\n          puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar7[5] + 0x20);\n          *(undefined4 *)(puVar25 + -0x10) = puVar7[4];\n          *(undefined4 *)(puVar25 + -0x14) = puVar7[3];\n          *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(*(int *)*puVar7 + 4);\n          *(char **)(puVar25 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x348d6;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n          bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n          fmt = (char *)((int)&pbVar30->filename + 2);\n          goto joined_r0x000340a6;\n        }\n        if (cVar2 != 'S') {\n          if (cVar2 != 'T') {\n            pcVar27 = "%p";\n            *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n          pcVar27 = *(char **)(puVar25 + iVar23 * 0x10 + 0xa0);\n          if ((pcVar27 != (char *)0x0) && (*pcVar27 != '\0')) {\n            pbVar28 = (bfd *)**(undefined4 **)(puVar25 + 0x14);\n            if (pbVar28 != (bfd *)0x0) {\n              *(undefined4 *)(puVar25 + -8) = 3;\n              *(char **)(puVar25 + -0xc) = pcVar27;\n              *(char **)(puVar25 + 8) = pcVar27;\n              *(bfd **)(puVar25 + -0x10) = link_info.output_bfd;\n              *(undefined4 *)(puVar25 + -0x14) = 0x3454c;\n              pbVar28 = (bfd *)bfd_demangle();\n              pcVar27 = *(char **)(puVar25 + 8);\n              if (pbVar28 != (bfd *)0x0) {\n                *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x3456d;\n                fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x34575;\n                free(*(void **)(puVar25 + -0x10));\n                bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n                fmt = (char *)pbVar29;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto LAB_00034957;\n          }\n          *(undefined4 *)(puVar25 + -8) = 5;\n          *(char **)(puVar25 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar25 + -0x10) = 0;\n          *(undefined4 *)(puVar25 + -0x14) = 0x34b14;\n          pcVar27 = (char *)dcgettext();\n          puVar26 = puVar25 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        puVar24 = *(undefined1 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        if (puVar24 == (undefined1 *)0x0) {\n          *(undefined4 *)(puVar25 + -4) = 0x34c1e;\n          pcVar27 = ldlex_filename();\n          *(char **)(puVar25 + 0x44) = pcVar27;\n          *(uint *)(puVar25 + 0x40) = lineno;\n          puVar24 = puVar25 + 0x3c;\n        }\n        else {\n          pcVar27 = *(char **)(puVar24 + 8);\n        }\n        if (pcVar27 != (char *)0x0) {\n          *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar24 + 4);\n          *(char **)(puVar25 + -8) = pcVar27;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d7b0;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34b67;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n      }\n    }" { (if_statement "if (cVar2 == 'B') {\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        if (puVar7 == (undefined4 *)0x0) {\n          puVar26 = puVar25 + -8;\n          *(char **)(puVar25 + -8) = program_name;\n          pcVar27 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar7[0x23];\n          pcVar27 = (char *)*puVar7;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\nLAB_00034957:\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n            *(char **)(puVar25 + -0x10) = pcVar27;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34967;\n            fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n            fmt = (char *)((int)&pbVar30->filename + 2);\n            bVar12 = *(byte *)&((bfd *)fmt)->filename;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar25 + -4) = pcVar27;\n          puVar26 = puVar25 + -8;\n          *(undefined4 *)(puVar25 + -8) = *puVar8;\n          pcVar27 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar26 + -4) = pcVar27;\n        *(undefined4 *)(puVar26 + -8) = *(undefined4 *)(puVar26 + 0x158);\n        *(undefined4 *)(puVar26 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar26 + -8),*(char **)(puVar26 + -4));\n        bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n        puVar25 = puVar26 + 8;\n        fmt = (char *)pbVar29;\n        goto joined_r0x000340a6;\n      }" if (parenthesized_expression "(cVar2 == 'B')" ( (binary_expression "cVar2 == 'B'" identifier == (char_literal "'B'" ' character ')) )) (compound_statement "{\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        if (puVar7 == (undefined4 *)0x0) {\n          puVar26 = puVar25 + -8;\n          *(char **)(puVar25 + -8) = program_name;\n          pcVar27 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar7[0x23];\n          pcVar27 = (char *)*puVar7;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\nLAB_00034957:\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n            *(char **)(puVar25 + -0x10) = pcVar27;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34967;\n            fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n            fmt = (char *)((int)&pbVar30->filename + 2);\n            bVar12 = *(byte *)&((bfd *)fmt)->filename;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar25 + -4) = pcVar27;\n          puVar26 = puVar25 + -8;\n          *(undefined4 *)(puVar25 + -8) = *puVar8;\n          pcVar27 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar26 + -4) = pcVar27;\n        *(undefined4 *)(puVar26 + -8) = *(undefined4 *)(puVar26 + 0x158);\n        *(undefined4 *)(puVar26 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar26 + -8),*(char **)(puVar26 + -4));\n        bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n        puVar25 = puVar26 + 8;\n        fmt = (char *)pbVar29;\n        goto joined_r0x000340a6;\n      }" { (expression_statement "pbVar29 = (bfd *)((int)&pbVar30->filename + 2);" (assignment_expression "pbVar29 = (bfd *)((int)&pbVar30->filename + 2)" identifier = (cast_expression "(bfd *)((int)&pbVar30->filename + 2)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar30->filename + 2)" ( (binary_expression "(int)&pbVar30->filename + 2" (cast_expression "(int)&pbVar30->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar30->filename" & (field_expression "pbVar30->filename" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);" (assignment_expression "puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0)" identifier = (pointer_expression "*(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0)" * (cast_expression "(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + iVar23 * 0x10 + 0xa0)" ( (binary_expression "puVar25 + iVar23 * 0x10 + 0xa0" (binary_expression "puVar25 + iVar23 * 0x10" identifier + (binary_expression "iVar23 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (puVar7 == (undefined4 *)0x0) {\n          puVar26 = puVar25 + -8;\n          *(char **)(puVar25 + -8) = program_name;\n          pcVar27 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar7[0x23];\n          pcVar27 = (char *)*puVar7;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\nLAB_00034957:\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n            *(char **)(puVar25 + -0x10) = pcVar27;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34967;\n            fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n            fmt = (char *)((int)&pbVar30->filename + 2);\n            bVar12 = *(byte *)&((bfd *)fmt)->filename;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar25 + -4) = pcVar27;\n          puVar26 = puVar25 + -8;\n          *(undefined4 *)(puVar25 + -8) = *puVar8;\n          pcVar27 = "%s(%s)";\n        }" if (parenthesized_expression "(puVar7 == (undefined4 *)0x0)" ( (binary_expression "puVar7 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          puVar26 = puVar25 + -8;\n          *(char **)(puVar25 + -8) = program_name;\n          pcVar27 = "%s generated";\n        }" { (expression_statement "puVar26 = puVar25 + -8;" (assignment_expression "puVar26 = puVar25 + -8" identifier = (binary_expression "puVar25 + -8" identifier + number_literal)) ;) (expression_statement "*(char **)(puVar25 + -8) = program_name;" (assignment_expression "*(char **)(puVar25 + -8) = program_name" (pointer_expression "*(char **)(puVar25 + -8)" * (cast_expression "(char **)(puVar25 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar27 = "%s generated";" (assignment_expression "pcVar27 = "%s generated"" identifier = (string_literal ""%s generated"" " string_content ")) ;) }) (else_clause "else {\n          puVar8 = (undefined4 *)puVar7[0x23];\n          pcVar27 = (char *)*puVar7;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\nLAB_00034957:\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n            *(char **)(puVar25 + -0x10) = pcVar27;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34967;\n            fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n            fmt = (char *)((int)&pbVar30->filename + 2);\n            bVar12 = *(byte *)&((bfd *)fmt)->filename;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar25 + -4) = pcVar27;\n          puVar26 = puVar25 + -8;\n          *(undefined4 *)(puVar25 + -8) = *puVar8;\n          pcVar27 = "%s(%s)";\n        }" else (compound_statement "{\n          puVar8 = (undefined4 *)puVar7[0x23];\n          pcVar27 = (char *)*puVar7;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\nLAB_00034957:\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n            *(char **)(puVar25 + -0x10) = pcVar27;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34967;\n            fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n            fmt = (char *)((int)&pbVar30->filename + 2);\n            bVar12 = *(byte *)&((bfd *)fmt)->filename;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar25 + -4) = pcVar27;\n          puVar26 = puVar25 + -8;\n          *(undefined4 *)(puVar25 + -8) = *puVar8;\n          pcVar27 = "%s(%s)";\n        }" { (expression_statement "puVar8 = (undefined4 *)puVar7[0x23];" (assignment_expression "puVar8 = (undefined4 *)puVar7[0x23]" identifier = (cast_expression "(undefined4 *)puVar7[0x23]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar7[0x23]" identifier [ number_literal ]))) ;) (expression_statement "pcVar27 = (char *)*puVar7;" (assignment_expression "pcVar27 = (char *)*puVar7" identifier = (cast_expression "(char *)*puVar7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar7" * identifier))) ;) (if_statement "if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\nLAB_00034957:\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n            *(char **)(puVar25 + -0x10) = pcVar27;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34967;\n            fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n            fmt = (char *)((int)&pbVar30->filename + 2);\n            bVar12 = *(byte *)&((bfd *)fmt)->filename;\n            goto joined_r0x000340a6;\n          }" if (parenthesized_expression "((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0))" ( (binary_expression "(puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)" (parenthesized_expression "(puVar8 == (undefined4 *)0x0)" ( (binary_expression "puVar8 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((*(byte *)(puVar8 + 0xb) & 1) != 0)" ( (binary_expression "(*(byte *)(puVar8 + 0xb) & 1) != 0" (parenthesized_expression "(*(byte *)(puVar8 + 0xb) & 1)" ( (binary_expression "*(byte *)(puVar8 + 0xb) & 1" (pointer_expression "*(byte *)(puVar8 + 0xb)" * (cast_expression "(byte *)(puVar8 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0xb)" ( (binary_expression "puVar8 + 0xb" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\nLAB_00034957:\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n            *(char **)(puVar25 + -0x10) = pcVar27;\n            *(undefined4 *)(puVar25 + -0x14) = 0x34967;\n            fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n            fmt = (char *)((int)&pbVar30->filename + 2);\n            bVar12 = *(byte *)&((bfd *)fmt)->filename;\n            goto joined_r0x000340a6;\n          }" { (labeled_statement "LAB_00034957:\n            *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);" statement_identifier : (expression_statement "*(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);" (assignment_expression "*(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150)" (pointer_expression "*(undefined4 *)(puVar25 + -0xc)" * (cast_expression "(undefined4 *)(puVar25 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x150)" * (cast_expression "(undefined4 *)(puVar25 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x150)" ( (binary_expression "puVar25 + 0x150" identifier + number_literal) ))))) ;)) (expression_statement "*(char **)(puVar25 + -0x10) = pcVar27;" (assignment_expression "*(char **)(puVar25 + -0x10) = pcVar27" (pointer_expression "*(char **)(puVar25 + -0x10)" * (cast_expression "(char **)(puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x34967;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x34967" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));" (call_expression "fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc))" identifier (argument_list "(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc))" ( (pointer_expression "*(char **)(puVar25 + -0x10)" * (cast_expression "(char **)(puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar25 + -0xc)" * (cast_expression "(FILE **)(puVar25 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "fmt = (char *)((int)&pbVar30->filename + 2);" (assignment_expression "fmt = (char *)((int)&pbVar30->filename + 2)" identifier = (cast_expression "(char *)((int)&pbVar30->filename + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar30->filename + 2)" ( (binary_expression "(int)&pbVar30->filename + 2" (cast_expression "(int)&pbVar30->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar30->filename" & (field_expression "pbVar30->filename" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "bVar12 = *(byte *)&((bfd *)fmt)->filename;" (assignment_expression "bVar12 = *(byte *)&((bfd *)fmt)->filename" identifier = (pointer_expression "*(byte *)&((bfd *)fmt)->filename" * (cast_expression "(byte *)&((bfd *)fmt)->filename" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((bfd *)fmt)->filename" & (field_expression "((bfd *)fmt)->filename" (parenthesized_expression "((bfd *)fmt)" ( (cast_expression "(bfd *)fmt" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))))) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;) })) (expression_statement "*(char **)(puVar25 + -4) = pcVar27;" (assignment_expression "*(char **)(puVar25 + -4) = pcVar27" (pointer_expression "*(char **)(puVar25 + -4)" * (cast_expression "(char **)(puVar25 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -4)" ( (binary_expression "puVar25 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar26 = puVar25 + -8;" (assignment_expression "puVar26 = puVar25 + -8" identifier = (binary_expression "puVar25 + -8" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar25 + -8) = *puVar8;" (assignment_expression "*(undefined4 *)(puVar25 + -8) = *puVar8" (pointer_expression "*(undefined4 *)(puVar25 + -8)" * (cast_expression "(undefined4 *)(puVar25 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) = (pointer_expression "*puVar8" * identifier)) ;) (expression_statement "pcVar27 = "%s(%s)";" (assignment_expression "pcVar27 = "%s(%s)"" identifier = (string_literal ""%s(%s)"" " string_content ")) ;) }))) (labeled_statement "LAB_00034ae6:\n        *(char **)(puVar26 + -4) = pcVar27;" statement_identifier : (expression_statement "*(char **)(puVar26 + -4) = pcVar27;" (assignment_expression "*(char **)(puVar26 + -4) = pcVar27" (pointer_expression "*(char **)(puVar26 + -4)" * (cast_expression "(char **)(puVar26 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + -4)" ( (binary_expression "puVar26 + -4" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar26 + -8) = *(undefined4 *)(puVar26 + 0x158);" (assignment_expression "*(undefined4 *)(puVar26 + -8) = *(undefined4 *)(puVar26 + 0x158)" (pointer_expression "*(undefined4 *)(puVar26 + -8)" * (cast_expression "(undefined4 *)(puVar26 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -8)" ( (binary_expression "puVar26 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar26 + 0x158)" * (cast_expression "(undefined4 *)(puVar26 + 0x158)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x158)" ( (binary_expression "puVar26 + 0x158" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar26 + -0xc) = 0x34af3;" (assignment_expression "*(undefined4 *)(puVar26 + -0xc) = 0x34af3" (pointer_expression "*(undefined4 *)(puVar26 + -0xc)" * (cast_expression "(undefined4 *)(puVar26 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -0xc)" ( (binary_expression "puVar26 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fprintf(*(FILE **)(puVar26 + -8),*(char **)(puVar26 + -4));" (call_expression "fprintf(*(FILE **)(puVar26 + -8),*(char **)(puVar26 + -4))" identifier (argument_list "(*(FILE **)(puVar26 + -8),*(char **)(puVar26 + -4))" ( (pointer_expression "*(FILE **)(puVar26 + -8)" * (cast_expression "(FILE **)(puVar26 + -8)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + -8)" ( (binary_expression "puVar26 + -8" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar26 + -4)" * (cast_expression "(char **)(puVar26 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + -4)" ( (binary_expression "puVar26 + -4" identifier + number_literal) )))) ))) ;) (expression_statement "bVar12 = *(byte *)((int)&pbVar30->filename + 2);" (assignment_expression "bVar12 = *(byte *)((int)&pbVar30->filename + 2)" identifier = (pointer_expression "*(byte *)((int)&pbVar30->filename + 2)" * (cast_expression "(byte *)((int)&pbVar30->filename + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar30->filename + 2)" ( (binary_expression "(int)&pbVar30->filename + 2" (cast_expression "(int)&pbVar30->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar30->filename" & (field_expression "pbVar30->filename" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "puVar25 = puVar26 + 8;" (assignment_expression "puVar25 = puVar26 + 8" identifier = (binary_expression "puVar26 + 8" identifier + number_literal)) ;) (expression_statement "fmt = (char *)pbVar29;" (assignment_expression "fmt = (char *)pbVar29" identifier = (cast_expression "(char *)pbVar29" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;) })) (if_statement "if (cVar2 == 'I') {\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        pbVar28 = *(bfd **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        pbVar19 = pbVar28->lru_prev->my_archive;\n        if ((pbVar19 != (bfd *)0x0) && ((pbVar19->field_0x2c & 1) == 0)) {\nLAB_00034be8:\n          *(char **)(puVar25 + -8) = pbVar19->filename;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n        *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n        *(bfd_iovec **)(puVar25 + -0x10) = pbVar28->iovec;\n        *(undefined4 *)(puVar25 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n        pbVar19 = pbVar28->lru_prev->my_archive;\n        if ((pbVar19 == (bfd *)0x0) || ((pbVar19->field_0x2c & 1) != 0)) {\n          *(void **)(puVar25 + -0xc) = pbVar28->iostream;\n          *(bfd_iovec **)(puVar25 + -0x10) = pbVar28->iovec;\n          *(undefined4 *)(puVar25 + -0x14) = 0x349cf;\n          iVar23 = filename_cmp();\n          if (iVar23 != 0) {\n            pcVar27 = " (%s)";\n            puVar26 = puVar25 + -8;\n            *(void **)(puVar25 + -8) = pbVar28->iostream;\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (cVar2 == 'R') {\n          puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar7[5] + 0x20);\n          *(undefined4 *)(puVar25 + -0x10) = puVar7[4];\n          *(undefined4 *)(puVar25 + -0x14) = puVar7[3];\n          *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(*(int *)*puVar7 + 4);\n          *(char **)(puVar25 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x348d6;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n          bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n          fmt = (char *)((int)&pbVar30->filename + 2);\n          goto joined_r0x000340a6;\n        }\n        if (cVar2 != 'S') {\n          if (cVar2 != 'T') {\n            pcVar27 = "%p";\n            *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n          pcVar27 = *(char **)(puVar25 + iVar23 * 0x10 + 0xa0);\n          if ((pcVar27 != (char *)0x0) && (*pcVar27 != '\0')) {\n            pbVar28 = (bfd *)**(undefined4 **)(puVar25 + 0x14);\n            if (pbVar28 != (bfd *)0x0) {\n              *(undefined4 *)(puVar25 + -8) = 3;\n              *(char **)(puVar25 + -0xc) = pcVar27;\n              *(char **)(puVar25 + 8) = pcVar27;\n              *(bfd **)(puVar25 + -0x10) = link_info.output_bfd;\n              *(undefined4 *)(puVar25 + -0x14) = 0x3454c;\n              pbVar28 = (bfd *)bfd_demangle();\n              pcVar27 = *(char **)(puVar25 + 8);\n              if (pbVar28 != (bfd *)0x0) {\n                *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x3456d;\n                fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x34575;\n                free(*(void **)(puVar25 + -0x10));\n                bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n                fmt = (char *)pbVar29;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto LAB_00034957;\n          }\n          *(undefined4 *)(puVar25 + -8) = 5;\n          *(char **)(puVar25 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar25 + -0x10) = 0;\n          *(undefined4 *)(puVar25 + -0x14) = 0x34b14;\n          pcVar27 = (char *)dcgettext();\n          puVar26 = puVar25 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        puVar24 = *(undefined1 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        if (puVar24 == (undefined1 *)0x0) {\n          *(undefined4 *)(puVar25 + -4) = 0x34c1e;\n          pcVar27 = ldlex_filename();\n          *(char **)(puVar25 + 0x44) = pcVar27;\n          *(uint *)(puVar25 + 0x40) = lineno;\n          puVar24 = puVar25 + 0x3c;\n        }\n        else {\n          pcVar27 = *(char **)(puVar24 + 8);\n        }\n        if (pcVar27 != (char *)0x0) {\n          *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar24 + 4);\n          *(char **)(puVar25 + -8) = pcVar27;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d7b0;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34b67;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n      }" if (parenthesized_expression "(cVar2 == 'I')" ( (binary_expression "cVar2 == 'I'" identifier == (char_literal "'I'" ' character ')) )) (compound_statement "{\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        pbVar28 = *(bfd **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        pbVar19 = pbVar28->lru_prev->my_archive;\n        if ((pbVar19 != (bfd *)0x0) && ((pbVar19->field_0x2c & 1) == 0)) {\nLAB_00034be8:\n          *(char **)(puVar25 + -8) = pbVar19->filename;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n        *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n        *(bfd_iovec **)(puVar25 + -0x10) = pbVar28->iovec;\n        *(undefined4 *)(puVar25 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n        pbVar19 = pbVar28->lru_prev->my_archive;\n        if ((pbVar19 == (bfd *)0x0) || ((pbVar19->field_0x2c & 1) != 0)) {\n          *(void **)(puVar25 + -0xc) = pbVar28->iostream;\n          *(bfd_iovec **)(puVar25 + -0x10) = pbVar28->iovec;\n          *(undefined4 *)(puVar25 + -0x14) = 0x349cf;\n          iVar23 = filename_cmp();\n          if (iVar23 != 0) {\n            pcVar27 = " (%s)";\n            puVar26 = puVar25 + -8;\n            *(void **)(puVar25 + -8) = pbVar28->iostream;\n            goto LAB_00034ae6;\n          }\n        }\n      }" { (expression_statement "pbVar29 = (bfd *)((int)&pbVar30->filename + 2);" (assignment_expression "pbVar29 = (bfd *)((int)&pbVar30->filename + 2)" identifier = (cast_expression "(bfd *)((int)&pbVar30->filename + 2)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar30->filename + 2)" ( (binary_expression "(int)&pbVar30->filename + 2" (cast_expression "(int)&pbVar30->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar30->filename" & (field_expression "pbVar30->filename" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pbVar28 = *(bfd **)(puVar25 + iVar23 * 0x10 + 0xa0);" (assignment_expression "pbVar28 = *(bfd **)(puVar25 + iVar23 * 0x10 + 0xa0)" identifier = (pointer_expression "*(bfd **)(puVar25 + iVar23 * 0x10 + 0xa0)" * (cast_expression "(bfd **)(puVar25 + iVar23 * 0x10 + 0xa0)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + iVar23 * 0x10 + 0xa0)" ( (binary_expression "puVar25 + iVar23 * 0x10 + 0xa0" (binary_expression "puVar25 + iVar23 * 0x10" identifier + (binary_expression "iVar23 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "pbVar19 = pbVar28->lru_prev->my_archive;" (assignment_expression "pbVar19 = pbVar28->lru_prev->my_archive" identifier = (field_expression "pbVar28->lru_prev->my_archive" (field_expression "pbVar28->lru_prev" identifier -> field_identifier) -> field_identifier)) ;) (if_statement "if ((pbVar19 != (bfd *)0x0) && ((pbVar19->field_0x2c & 1) == 0)) {\nLAB_00034be8:\n          *(char **)(puVar25 + -8) = pbVar19->filename;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }" if (parenthesized_expression "((pbVar19 != (bfd *)0x0) && ((pbVar19->field_0x2c & 1) == 0))" ( (binary_expression "(pbVar19 != (bfd *)0x0) && ((pbVar19->field_0x2c & 1) == 0)" (parenthesized_expression "(pbVar19 != (bfd *)0x0)" ( (binary_expression "pbVar19 != (bfd *)0x0" identifier != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((pbVar19->field_0x2c & 1) == 0)" ( (binary_expression "(pbVar19->field_0x2c & 1) == 0" (parenthesized_expression "(pbVar19->field_0x2c & 1)" ( (binary_expression "pbVar19->field_0x2c & 1" (field_expression "pbVar19->field_0x2c" identifier -> field_identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\nLAB_00034be8:\n          *(char **)(puVar25 + -8) = pbVar19->filename;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }" { (labeled_statement "LAB_00034be8:\n          *(char **)(puVar25 + -8) = pbVar19->filename;" statement_identifier : (expression_statement "*(char **)(puVar25 + -8) = pbVar19->filename;" (assignment_expression "*(char **)(puVar25 + -8) = pbVar19->filename" (pointer_expression "*(char **)(puVar25 + -8)" * (cast_expression "(char **)(puVar25 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) = (field_expression "pbVar19->filename" identifier -> field_identifier)) ;)) (expression_statement "*(undefined **)(puVar25 + -0xc) = &DAT_0007d3a1;" (assignment_expression "*(undefined **)(puVar25 + -0xc) = &DAT_0007d3a1" (pointer_expression "*(undefined **)(puVar25 + -0xc)" * (cast_expression "(undefined **)(puVar25 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_0007d3a1" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);" (assignment_expression "*(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150)" (pointer_expression "*(undefined4 *)(puVar25 + -0x10)" * (cast_expression "(undefined4 *)(puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x150)" * (cast_expression "(undefined4 *)(puVar25 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x150)" ( (binary_expression "puVar25 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x34c00;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x34c00" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));" (call_expression "fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc))" identifier (argument_list "(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc))" ( (pointer_expression "*(FILE **)(puVar25 + -0x10)" * (cast_expression "(FILE **)(puVar25 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar25 + -0xc)" * (cast_expression "(char **)(puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) ))) ;) })) (expression_statement "*(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);" (assignment_expression "*(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150)" (pointer_expression "*(undefined4 *)(puVar25 + -0xc)" * (cast_expression "(undefined4 *)(puVar25 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x150)" * (cast_expression "(undefined4 *)(puVar25 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x150)" ( (binary_expression "puVar25 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(bfd_iovec **)(puVar25 + -0x10) = pbVar28->iovec;" (assignment_expression "*(bfd_iovec **)(puVar25 + -0x10) = pbVar28->iovec" (pointer_expression "*(bfd_iovec **)(puVar25 + -0x10)" * (cast_expression "(bfd_iovec **)(puVar25 + -0x10)" ( (type_descriptor "bfd_iovec **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = (field_expression "pbVar28->iovec" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x349ab;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x349ab" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));" (call_expression "fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc))" identifier (argument_list "(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc))" ( (pointer_expression "*(char **)(puVar25 + -0x10)" * (cast_expression "(char **)(puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar25 + -0xc)" * (cast_expression "(FILE **)(puVar25 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "pbVar19 = pbVar28->lru_prev->my_archive;" (assignment_expression "pbVar19 = pbVar28->lru_prev->my_archive" identifier = (field_expression "pbVar28->lru_prev->my_archive" (field_expression "pbVar28->lru_prev" identifier -> field_identifier) -> field_identifier)) ;) (if_statement "if ((pbVar19 == (bfd *)0x0) || ((pbVar19->field_0x2c & 1) != 0)) {\n          *(void **)(puVar25 + -0xc) = pbVar28->iostream;\n          *(bfd_iovec **)(puVar25 + -0x10) = pbVar28->iovec;\n          *(undefined4 *)(puVar25 + -0x14) = 0x349cf;\n          iVar23 = filename_cmp();\n          if (iVar23 != 0) {\n            pcVar27 = " (%s)";\n            puVar26 = puVar25 + -8;\n            *(void **)(puVar25 + -8) = pbVar28->iostream;\n            goto LAB_00034ae6;\n          }\n        }" if (parenthesized_expression "((pbVar19 == (bfd *)0x0) || ((pbVar19->field_0x2c & 1) != 0))" ( (binary_expression "(pbVar19 == (bfd *)0x0) || ((pbVar19->field_0x2c & 1) != 0)" (parenthesized_expression "(pbVar19 == (bfd *)0x0)" ( (binary_expression "pbVar19 == (bfd *)0x0" identifier == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((pbVar19->field_0x2c & 1) != 0)" ( (binary_expression "(pbVar19->field_0x2c & 1) != 0" (parenthesized_expression "(pbVar19->field_0x2c & 1)" ( (binary_expression "pbVar19->field_0x2c & 1" (field_expression "pbVar19->field_0x2c" identifier -> field_identifier) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n          *(void **)(puVar25 + -0xc) = pbVar28->iostream;\n          *(bfd_iovec **)(puVar25 + -0x10) = pbVar28->iovec;\n          *(undefined4 *)(puVar25 + -0x14) = 0x349cf;\n          iVar23 = filename_cmp();\n          if (iVar23 != 0) {\n            pcVar27 = " (%s)";\n            puVar26 = puVar25 + -8;\n            *(void **)(puVar25 + -8) = pbVar28->iostream;\n            goto LAB_00034ae6;\n          }\n        }" { (expression_statement "*(void **)(puVar25 + -0xc) = pbVar28->iostream;" (assignment_expression "*(void **)(puVar25 + -0xc) = pbVar28->iostream" (pointer_expression "*(void **)(puVar25 + -0xc)" * (cast_expression "(void **)(puVar25 + -0xc)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = (field_expression "pbVar28->iostream" identifier -> field_identifier)) ;) (expression_statement "*(bfd_iovec **)(puVar25 + -0x10) = pbVar28->iovec;" (assignment_expression "*(bfd_iovec **)(puVar25 + -0x10) = pbVar28->iovec" (pointer_expression "*(bfd_iovec **)(puVar25 + -0x10)" * (cast_expression "(bfd_iovec **)(puVar25 + -0x10)" ( (type_descriptor "bfd_iovec **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = (field_expression "pbVar28->iovec" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x349cf;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x349cf" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar23 = filename_cmp();" (assignment_expression "iVar23 = filename_cmp()" identifier = (call_expression "filename_cmp()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar23 != 0) {\n            pcVar27 = " (%s)";\n            puVar26 = puVar25 + -8;\n            *(void **)(puVar25 + -8) = pbVar28->iostream;\n            goto LAB_00034ae6;\n          }" if (parenthesized_expression "(iVar23 != 0)" ( (binary_expression "iVar23 != 0" identifier != number_literal) )) (compound_statement "{\n            pcVar27 = " (%s)";\n            puVar26 = puVar25 + -8;\n            *(void **)(puVar25 + -8) = pbVar28->iostream;\n            goto LAB_00034ae6;\n          }" { (expression_statement "pcVar27 = " (%s)";" (assignment_expression "pcVar27 = " (%s)"" identifier = (string_literal "" (%s)"" " string_content ")) ;) (expression_statement "puVar26 = puVar25 + -8;" (assignment_expression "puVar26 = puVar25 + -8" identifier = (binary_expression "puVar25 + -8" identifier + number_literal)) ;) (expression_statement "*(void **)(puVar25 + -8) = pbVar28->iostream;" (assignment_expression "*(void **)(puVar25 + -8) = pbVar28->iostream" (pointer_expression "*(void **)(puVar25 + -8)" * (cast_expression "(void **)(puVar25 + -8)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) = (field_expression "pbVar28->iostream" identifier -> field_identifier)) ;) (goto_statement "goto LAB_00034ae6;" goto statement_identifier ;) })) })) }) (else_clause "else {\n        if (cVar2 == 'R') {\n          puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar7[5] + 0x20);\n          *(undefined4 *)(puVar25 + -0x10) = puVar7[4];\n          *(undefined4 *)(puVar25 + -0x14) = puVar7[3];\n          *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(*(int *)*puVar7 + 4);\n          *(char **)(puVar25 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x348d6;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n          bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n          fmt = (char *)((int)&pbVar30->filename + 2);\n          goto joined_r0x000340a6;\n        }\n        if (cVar2 != 'S') {\n          if (cVar2 != 'T') {\n            pcVar27 = "%p";\n            *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n          pcVar27 = *(char **)(puVar25 + iVar23 * 0x10 + 0xa0);\n          if ((pcVar27 != (char *)0x0) && (*pcVar27 != '\0')) {\n            pbVar28 = (bfd *)**(undefined4 **)(puVar25 + 0x14);\n            if (pbVar28 != (bfd *)0x0) {\n              *(undefined4 *)(puVar25 + -8) = 3;\n              *(char **)(puVar25 + -0xc) = pcVar27;\n              *(char **)(puVar25 + 8) = pcVar27;\n              *(bfd **)(puVar25 + -0x10) = link_info.output_bfd;\n              *(undefined4 *)(puVar25 + -0x14) = 0x3454c;\n              pbVar28 = (bfd *)bfd_demangle();\n              pcVar27 = *(char **)(puVar25 + 8);\n              if (pbVar28 != (bfd *)0x0) {\n                *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x3456d;\n                fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x34575;\n                free(*(void **)(puVar25 + -0x10));\n                bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n                fmt = (char *)pbVar29;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto LAB_00034957;\n          }\n          *(undefined4 *)(puVar25 + -8) = 5;\n          *(char **)(puVar25 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar25 + -0x10) = 0;\n          *(undefined4 *)(puVar25 + -0x14) = 0x34b14;\n          pcVar27 = (char *)dcgettext();\n          puVar26 = puVar25 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        puVar24 = *(undefined1 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        if (puVar24 == (undefined1 *)0x0) {\n          *(undefined4 *)(puVar25 + -4) = 0x34c1e;\n          pcVar27 = ldlex_filename();\n          *(char **)(puVar25 + 0x44) = pcVar27;\n          *(uint *)(puVar25 + 0x40) = lineno;\n          puVar24 = puVar25 + 0x3c;\n        }\n        else {\n          pcVar27 = *(char **)(puVar24 + 8);\n        }\n        if (pcVar27 != (char *)0x0) {\n          *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar24 + 4);\n          *(char **)(puVar25 + -8) = pcVar27;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d7b0;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34b67;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n      }" else (compound_statement "{\n        if (cVar2 == 'R') {\n          puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar7[5] + 0x20);\n          *(undefined4 *)(puVar25 + -0x10) = puVar7[4];\n          *(undefined4 *)(puVar25 + -0x14) = puVar7[3];\n          *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(*(int *)*puVar7 + 4);\n          *(char **)(puVar25 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x348d6;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n          bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n          fmt = (char *)((int)&pbVar30->filename + 2);\n          goto joined_r0x000340a6;\n        }\n        if (cVar2 != 'S') {\n          if (cVar2 != 'T') {\n            pcVar27 = "%p";\n            *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n          pcVar27 = *(char **)(puVar25 + iVar23 * 0x10 + 0xa0);\n          if ((pcVar27 != (char *)0x0) && (*pcVar27 != '\0')) {\n            pbVar28 = (bfd *)**(undefined4 **)(puVar25 + 0x14);\n            if (pbVar28 != (bfd *)0x0) {\n              *(undefined4 *)(puVar25 + -8) = 3;\n              *(char **)(puVar25 + -0xc) = pcVar27;\n              *(char **)(puVar25 + 8) = pcVar27;\n              *(bfd **)(puVar25 + -0x10) = link_info.output_bfd;\n              *(undefined4 *)(puVar25 + -0x14) = 0x3454c;\n              pbVar28 = (bfd *)bfd_demangle();\n              pcVar27 = *(char **)(puVar25 + 8);\n              if (pbVar28 != (bfd *)0x0) {\n                *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x3456d;\n                fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x34575;\n                free(*(void **)(puVar25 + -0x10));\n                bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n                fmt = (char *)pbVar29;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto LAB_00034957;\n          }\n          *(undefined4 *)(puVar25 + -8) = 5;\n          *(char **)(puVar25 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar25 + -0x10) = 0;\n          *(undefined4 *)(puVar25 + -0x14) = 0x34b14;\n          pcVar27 = (char *)dcgettext();\n          puVar26 = puVar25 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n        puVar24 = *(undefined1 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n        if (puVar24 == (undefined1 *)0x0) {\n          *(undefined4 *)(puVar25 + -4) = 0x34c1e;\n          pcVar27 = ldlex_filename();\n          *(char **)(puVar25 + 0x44) = pcVar27;\n          *(uint *)(puVar25 + 0x40) = lineno;\n          puVar24 = puVar25 + 0x3c;\n        }\n        else {\n          pcVar27 = *(char **)(puVar24 + 8);\n        }\n        if (pcVar27 != (char *)0x0) {\n          *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar24 + 4);\n          *(char **)(puVar25 + -8) = pcVar27;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d7b0;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34b67;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }\n      }" { (if_statement "if (cVar2 == 'R') {\n          puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar7[5] + 0x20);\n          *(undefined4 *)(puVar25 + -0x10) = puVar7[4];\n          *(undefined4 *)(puVar25 + -0x14) = puVar7[3];\n          *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(*(int *)*puVar7 + 4);\n          *(char **)(puVar25 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x348d6;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n          bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n          fmt = (char *)((int)&pbVar30->filename + 2);\n          goto joined_r0x000340a6;\n        }" if (parenthesized_expression "(cVar2 == 'R')" ( (binary_expression "cVar2 == 'R'" identifier == (char_literal "'R'" ' character ')) )) (compound_statement "{\n          puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar7[5] + 0x20);\n          *(undefined4 *)(puVar25 + -0x10) = puVar7[4];\n          *(undefined4 *)(puVar25 + -0x14) = puVar7[3];\n          *(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(*(int *)*puVar7 + 4);\n          *(char **)(puVar25 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x24) = 0x348d6;\n          lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));\n          bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n          fmt = (char *)((int)&pbVar30->filename + 2);\n          goto joined_r0x000340a6;\n        }" { (expression_statement "puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0);" (assignment_expression "puVar7 = *(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0)" identifier = (pointer_expression "*(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0)" * (cast_expression "(undefined4 **)(puVar25 + iVar23 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + iVar23 * 0x10 + 0xa0)" ( (binary_expression "puVar25 + iVar23 * 0x10 + 0xa0" (binary_expression "puVar25 + iVar23 * 0x10" identifier + (binary_expression "iVar23 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar7[5] + 0x20);" (assignment_expression "*(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar7[5] + 0x20)" (pointer_expression "*(undefined4 *)(puVar25 + -0xc)" * (cast_expression "(undefined4 *)(puVar25 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar7[5] + 0x20)" * (cast_expression "(undefined4 *)(puVar7[5] + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7[5] + 0x20)" ( (binary_expression "puVar7[5] + 0x20" (subscript_expression "puVar7[5]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x10) = puVar7[4];" (assignment_expression "*(undefined4 *)(puVar25 + -0x10) = puVar7[4]" (pointer_expression "*(undefined4 *)(puVar25 + -0x10)" * (cast_expression "(undefined4 *)(puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = (subscript_expression "puVar7[4]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = puVar7[3];" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = puVar7[3]" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = (subscript_expression "puVar7[3]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(*(int *)*puVar7 + 4);" (assignment_expression "*(undefined4 *)(puVar25 + -0x18) = *(undefined4 *)(*(int *)*puVar7 + 4)" (pointer_expression "*(undefined4 *)(puVar25 + -0x18)" * (cast_expression "(undefined4 *)(puVar25 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x18)" ( (binary_expression "puVar25 + -0x18" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)*puVar7 + 4)" * (cast_expression "(undefined4 *)(*(int *)*puVar7 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)*puVar7 + 4)" ( (binary_expression "*(int *)*puVar7 + 4" (pointer_expression "*(int *)*puVar7" * (cast_expression "(int *)*puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar7" * identifier))) + number_literal) ))))) ;) (expression_statement "*(char **)(puVar25 + -0x1c) = "%s+0x%v (type %s)";" (assignment_expression "*(char **)(puVar25 + -0x1c) = "%s+0x%v (type %s)"" (pointer_expression "*(char **)(puVar25 + -0x1c)" * (cast_expression "(char **)(puVar25 + -0x1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x1c)" ( (binary_expression "puVar25 + -0x1c" identifier + number_literal) )))) = (string_literal ""%s+0x%v (type %s)"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150);" (assignment_expression "*(undefined4 *)(puVar25 + -0x20) = *(undefined4 *)(puVar25 + 0x150)" (pointer_expression "*(undefined4 *)(puVar25 + -0x20)" * (cast_expression "(undefined4 *)(puVar25 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x20)" ( (binary_expression "puVar25 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x150)" * (cast_expression "(undefined4 *)(puVar25 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x150)" ( (binary_expression "puVar25 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x24) = 0x348d6;" (assignment_expression "*(undefined4 *)(puVar25 + -0x24) = 0x348d6" (pointer_expression "*(undefined4 *)(puVar25 + -0x24)" * (cast_expression "(undefined4 *)(puVar25 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x24)" ( (binary_expression "puVar25 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c));" (call_expression "lfinfo(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c))" identifier (argument_list "(*(FILE **)(puVar25 + -0x20),*(char **)(puVar25 + -0x1c))" ( (pointer_expression "*(FILE **)(puVar25 + -0x20)" * (cast_expression "(FILE **)(puVar25 + -0x20)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x20)" ( (binary_expression "puVar25 + -0x20" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar25 + -0x1c)" * (cast_expression "(char **)(puVar25 + -0x1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x1c)" ( (binary_expression "puVar25 + -0x1c" identifier + number_literal) )))) ))) ;) (expression_statement "bVar12 = *(byte *)((int)&pbVar30->filename + 2);" (assignment_expression "bVar12 = *(byte *)((int)&pbVar30->filename + 2)" identifier = (pointer_expression "*(byte *)((int)&pbVar30->filename + 2)" * (cast_expression "(byte *)((int)&pbVar30->filename + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar30->filename + 2)" ( (binary_expression "(int)&pbVar30->filename + 2" (cast_expression "(int)&pbVar30->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar30->filename" & (field_expression "pbVar30->filename" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "fmt = (char *)((int)&pbVar30->filename + 2);" (assignment_expression "fmt = (char *)((int)&pbVar30->filename + 2)" identifier = (cast_expression "(char *)((int)&pbVar30->filename + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar30->filename + 2)" ( (binary_expression "(int)&pbVar30->filename + 2" (cast_expression "(int)&pbVar30->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar30->filename" & (field_expression "pbVar30->filename" identifier -> field_identifier))) + number_literal) )))) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;) })) (if_statement "if (cVar2 != 'S') {\n          if (cVar2 != 'T') {\n            pcVar27 = "%p";\n            *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n          pcVar27 = *(char **)(puVar25 + iVar23 * 0x10 + 0xa0);\n          if ((pcVar27 != (char *)0x0) && (*pcVar27 != '\0')) {\n            pbVar28 = (bfd *)**(undefined4 **)(puVar25 + 0x14);\n            if (pbVar28 != (bfd *)0x0) {\n              *(undefined4 *)(puVar25 + -8) = 3;\n              *(char **)(puVar25 + -0xc) = pcVar27;\n              *(char **)(puVar25 + 8) = pcVar27;\n              *(bfd **)(puVar25 + -0x10) = link_info.output_bfd;\n              *(undefined4 *)(puVar25 + -0x14) = 0x3454c;\n              pbVar28 = (bfd *)bfd_demangle();\n              pcVar27 = *(char **)(puVar25 + 8);\n              if (pbVar28 != (bfd *)0x0) {\n                *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x3456d;\n                fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x34575;\n                free(*(void **)(puVar25 + -0x10));\n                bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n                fmt = (char *)pbVar29;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto LAB_00034957;\n          }\n          *(undefined4 *)(puVar25 + -8) = 5;\n          *(char **)(puVar25 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar25 + -0x10) = 0;\n          *(undefined4 *)(puVar25 + -0x14) = 0x34b14;\n          pcVar27 = (char *)dcgettext();\n          puVar26 = puVar25 + -8;\n          goto LAB_00034ae6;\n        }" if (parenthesized_expression "(cVar2 != 'S')" ( (binary_expression "cVar2 != 'S'" identifier != (char_literal "'S'" ' character ')) )) (compound_statement "{\n          if (cVar2 != 'T') {\n            pcVar27 = "%p";\n            *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar29 = (bfd *)((int)&pbVar30->filename + 2);\n          pcVar27 = *(char **)(puVar25 + iVar23 * 0x10 + 0xa0);\n          if ((pcVar27 != (char *)0x0) && (*pcVar27 != '\0')) {\n            pbVar28 = (bfd *)**(undefined4 **)(puVar25 + 0x14);\n            if (pbVar28 != (bfd *)0x0) {\n              *(undefined4 *)(puVar25 + -8) = 3;\n              *(char **)(puVar25 + -0xc) = pcVar27;\n              *(char **)(puVar25 + 8) = pcVar27;\n              *(bfd **)(puVar25 + -0x10) = link_info.output_bfd;\n              *(undefined4 *)(puVar25 + -0x14) = 0x3454c;\n              pbVar28 = (bfd *)bfd_demangle();\n              pcVar27 = *(char **)(puVar25 + 8);\n              if (pbVar28 != (bfd *)0x0) {\n                *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x3456d;\n                fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x34575;\n                free(*(void **)(puVar25 + -0x10));\n                bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n                fmt = (char *)pbVar29;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto LAB_00034957;\n          }\n          *(undefined4 *)(puVar25 + -8) = 5;\n          *(char **)(puVar25 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar25 + -0x10) = 0;\n          *(undefined4 *)(puVar25 + -0x14) = 0x34b14;\n          pcVar27 = (char *)dcgettext();\n          puVar26 = puVar25 + -8;\n          goto LAB_00034ae6;\n        }" { (if_statement "if (cVar2 != 'T') {\n            pcVar27 = "%p";\n            *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n            break;\n          }" if (parenthesized_expression "(cVar2 != 'T')" ( (binary_expression "cVar2 != 'T'" identifier != (char_literal "'T'" ' character ')) )) (compound_statement "{\n            pcVar27 = "%p";\n            *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n            break;\n          }" { (expression_statement "pcVar27 = "%p";" (assignment_expression "pcVar27 = "%p"" identifier = (string_literal ""%p"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar25 + -8)" * (cast_expression "(undefined4 *)(puVar25 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0)" * (cast_expression "(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + iVar23 * 0x10 + 0xa0)" ( (binary_expression "puVar25 + iVar23 * 0x10 + 0xa0" (binary_expression "puVar25 + iVar23 * 0x10" identifier + (binary_expression "iVar23 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (break_statement "break;" break ;) })) (expression_statement "pbVar29 = (bfd *)((int)&pbVar30->filename + 2);" (assignment_expression "pbVar29 = (bfd *)((int)&pbVar30->filename + 2)" identifier = (cast_expression "(bfd *)((int)&pbVar30->filename + 2)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar30->filename + 2)" ( (binary_expression "(int)&pbVar30->filename + 2" (cast_expression "(int)&pbVar30->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar30->filename" & (field_expression "pbVar30->filename" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pcVar27 = *(char **)(puVar25 + iVar23 * 0x10 + 0xa0);" (assignment_expression "pcVar27 = *(char **)(puVar25 + iVar23 * 0x10 + 0xa0)" identifier = (pointer_expression "*(char **)(puVar25 + iVar23 * 0x10 + 0xa0)" * (cast_expression "(char **)(puVar25 + iVar23 * 0x10 + 0xa0)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + iVar23 * 0x10 + 0xa0)" ( (binary_expression "puVar25 + iVar23 * 0x10 + 0xa0" (binary_expression "puVar25 + iVar23 * 0x10" identifier + (binary_expression "iVar23 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if ((pcVar27 != (char *)0x0) && (*pcVar27 != '\0')) {\n            pbVar28 = (bfd *)**(undefined4 **)(puVar25 + 0x14);\n            if (pbVar28 != (bfd *)0x0) {\n              *(undefined4 *)(puVar25 + -8) = 3;\n              *(char **)(puVar25 + -0xc) = pcVar27;\n              *(char **)(puVar25 + 8) = pcVar27;\n              *(bfd **)(puVar25 + -0x10) = link_info.output_bfd;\n              *(undefined4 *)(puVar25 + -0x14) = 0x3454c;\n              pbVar28 = (bfd *)bfd_demangle();\n              pcVar27 = *(char **)(puVar25 + 8);\n              if (pbVar28 != (bfd *)0x0) {\n                *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x3456d;\n                fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x34575;\n                free(*(void **)(puVar25 + -0x10));\n                bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n                fmt = (char *)pbVar29;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto LAB_00034957;\n          }" if (parenthesized_expression "((pcVar27 != (char *)0x0) && (*pcVar27 != '\0'))" ( (binary_expression "(pcVar27 != (char *)0x0) && (*pcVar27 != '\0')" (parenthesized_expression "(pcVar27 != (char *)0x0)" ( (binary_expression "pcVar27 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*pcVar27 != '\0')" ( (binary_expression "*pcVar27 != '\0'" (pointer_expression "*pcVar27" * identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            pbVar28 = (bfd *)**(undefined4 **)(puVar25 + 0x14);\n            if (pbVar28 != (bfd *)0x0) {\n              *(undefined4 *)(puVar25 + -8) = 3;\n              *(char **)(puVar25 + -0xc) = pcVar27;\n              *(char **)(puVar25 + 8) = pcVar27;\n              *(bfd **)(puVar25 + -0x10) = link_info.output_bfd;\n              *(undefined4 *)(puVar25 + -0x14) = 0x3454c;\n              pbVar28 = (bfd *)bfd_demangle();\n              pcVar27 = *(char **)(puVar25 + 8);\n              if (pbVar28 != (bfd *)0x0) {\n                *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x3456d;\n                fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x34575;\n                free(*(void **)(puVar25 + -0x10));\n                bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n                fmt = (char *)pbVar29;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto LAB_00034957;\n          }" { (expression_statement "pbVar28 = (bfd *)**(undefined4 **)(puVar25 + 0x14);" (assignment_expression "pbVar28 = (bfd *)**(undefined4 **)(puVar25 + 0x14)" identifier = (cast_expression "(bfd *)**(undefined4 **)(puVar25 + 0x14)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puVar25 + 0x14)" * (pointer_expression "*(undefined4 **)(puVar25 + 0x14)" * (cast_expression "(undefined4 **)(puVar25 + 0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x14)" ( (binary_expression "puVar25 + 0x14" identifier + number_literal) ))))))) ;) (if_statement "if (pbVar28 != (bfd *)0x0) {\n              *(undefined4 *)(puVar25 + -8) = 3;\n              *(char **)(puVar25 + -0xc) = pcVar27;\n              *(char **)(puVar25 + 8) = pcVar27;\n              *(bfd **)(puVar25 + -0x10) = link_info.output_bfd;\n              *(undefined4 *)(puVar25 + -0x14) = 0x3454c;\n              pbVar28 = (bfd *)bfd_demangle();\n              pcVar27 = *(char **)(puVar25 + 8);\n              if (pbVar28 != (bfd *)0x0) {\n                *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x3456d;\n                fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x34575;\n                free(*(void **)(puVar25 + -0x10));\n                bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n                fmt = (char *)pbVar29;\n                goto joined_r0x000340a6;\n              }\n            }" if (parenthesized_expression "(pbVar28 != (bfd *)0x0)" ( (binary_expression "pbVar28 != (bfd *)0x0" identifier != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              *(undefined4 *)(puVar25 + -8) = 3;\n              *(char **)(puVar25 + -0xc) = pcVar27;\n              *(char **)(puVar25 + 8) = pcVar27;\n              *(bfd **)(puVar25 + -0x10) = link_info.output_bfd;\n              *(undefined4 *)(puVar25 + -0x14) = 0x3454c;\n              pbVar28 = (bfd *)bfd_demangle();\n              pcVar27 = *(char **)(puVar25 + 8);\n              if (pbVar28 != (bfd *)0x0) {\n                *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x3456d;\n                fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x34575;\n                free(*(void **)(puVar25 + -0x10));\n                bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n                fmt = (char *)pbVar29;\n                goto joined_r0x000340a6;\n              }\n            }" { (expression_statement "*(undefined4 *)(puVar25 + -8) = 3;" (assignment_expression "*(undefined4 *)(puVar25 + -8) = 3" (pointer_expression "*(undefined4 *)(puVar25 + -8)" * (cast_expression "(undefined4 *)(puVar25 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar25 + -0xc) = pcVar27;" (assignment_expression "*(char **)(puVar25 + -0xc) = pcVar27" (pointer_expression "*(char **)(puVar25 + -0xc)" * (cast_expression "(char **)(puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar25 + 8) = pcVar27;" (assignment_expression "*(char **)(puVar25 + 8) = pcVar27" (pointer_expression "*(char **)(puVar25 + 8)" * (cast_expression "(char **)(puVar25 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 8)" ( (binary_expression "puVar25 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(bfd **)(puVar25 + -0x10) = link_info.output_bfd;" (assignment_expression "*(bfd **)(puVar25 + -0x10) = link_info.output_bfd" (pointer_expression "*(bfd **)(puVar25 + -0x10)" * (cast_expression "(bfd **)(puVar25 + -0x10)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = (field_expression "link_info.output_bfd" identifier . field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x3454c;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x3454c" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pbVar28 = (bfd *)bfd_demangle();" (assignment_expression "pbVar28 = (bfd *)bfd_demangle()" identifier = (cast_expression "(bfd *)bfd_demangle()" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_demangle()" identifier (argument_list "()" ( ))))) ;) (expression_statement "pcVar27 = *(char **)(puVar25 + 8);" (assignment_expression "pcVar27 = *(char **)(puVar25 + 8)" identifier = (pointer_expression "*(char **)(puVar25 + 8)" * (cast_expression "(char **)(puVar25 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 8)" ( (binary_expression "puVar25 + 8" identifier + number_literal) ))))) ;) (if_statement "if (pbVar28 != (bfd *)0x0) {\n                *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x3456d;\n                fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x34575;\n                free(*(void **)(puVar25 + -0x10));\n                bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n                fmt = (char *)pbVar29;\n                goto joined_r0x000340a6;\n              }" if (parenthesized_expression "(pbVar28 != (bfd *)0x0)" ( (binary_expression "pbVar28 != (bfd *)0x0" identifier != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x3456d;\n                fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n                *(bfd **)(puVar25 + -0x10) = pbVar28;\n                *(undefined4 *)(puVar25 + -0x14) = 0x34575;\n                free(*(void **)(puVar25 + -0x10));\n                bVar12 = *(byte *)((int)&pbVar30->filename + 2);\n                fmt = (char *)pbVar29;\n                goto joined_r0x000340a6;\n              }" { (expression_statement "*(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);" (assignment_expression "*(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150)" (pointer_expression "*(undefined4 *)(puVar25 + -0xc)" * (cast_expression "(undefined4 *)(puVar25 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x150)" * (cast_expression "(undefined4 *)(puVar25 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x150)" ( (binary_expression "puVar25 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(bfd **)(puVar25 + -0x10) = pbVar28;" (assignment_expression "*(bfd **)(puVar25 + -0x10) = pbVar28" (pointer_expression "*(bfd **)(puVar25 + -0x10)" * (cast_expression "(bfd **)(puVar25 + -0x10)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x3456d;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x3456d" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));" (call_expression "fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc))" identifier (argument_list "(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc))" ( (pointer_expression "*(char **)(puVar25 + -0x10)" * (cast_expression "(char **)(puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar25 + -0xc)" * (cast_expression "(FILE **)(puVar25 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "*(bfd **)(puVar25 + -0x10) = pbVar28;" (assignment_expression "*(bfd **)(puVar25 + -0x10) = pbVar28" (pointer_expression "*(bfd **)(puVar25 + -0x10)" * (cast_expression "(bfd **)(puVar25 + -0x10)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x34575;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x34575" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar25 + -0x10));" (call_expression "free(*(void **)(puVar25 + -0x10))" identifier (argument_list "(*(void **)(puVar25 + -0x10))" ( (pointer_expression "*(void **)(puVar25 + -0x10)" * (cast_expression "(void **)(puVar25 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "bVar12 = *(byte *)((int)&pbVar30->filename + 2);" (assignment_expression "bVar12 = *(byte *)((int)&pbVar30->filename + 2)" identifier = (pointer_expression "*(byte *)((int)&pbVar30->filename + 2)" * (cast_expression "(byte *)((int)&pbVar30->filename + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar30->filename + 2)" ( (binary_expression "(int)&pbVar30->filename + 2" (cast_expression "(int)&pbVar30->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar30->filename" & (field_expression "pbVar30->filename" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "fmt = (char *)pbVar29;" (assignment_expression "fmt = (char *)pbVar29" identifier = (cast_expression "(char *)pbVar29" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;) })) })) (goto_statement "goto LAB_00034957;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(puVar25 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar25 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar25 + -8)" * (cast_expression "(undefined4 *)(puVar25 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar25 + -0xc) = "no symbol";" (assignment_expression "*(char **)(puVar25 + -0xc) = "no symbol"" (pointer_expression "*(char **)(puVar25 + -0xc)" * (cast_expression "(char **)(puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = (string_literal ""no symbol"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar25 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar25 + -0x10)" * (cast_expression "(undefined4 *)(puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x34b14;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x34b14" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar27 = (char *)dcgettext();" (assignment_expression "pcVar27 = (char *)dcgettext()" identifier = (cast_expression "(char *)dcgettext()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puVar26 = puVar25 + -8;" (assignment_expression "puVar26 = puVar25 + -8" identifier = (binary_expression "puVar25 + -8" identifier + number_literal)) ;) (goto_statement "goto LAB_00034ae6;" goto statement_identifier ;) })) (expression_statement "pbVar29 = (bfd *)((int)&pbVar30->filename + 2);" (assignment_expression "pbVar29 = (bfd *)((int)&pbVar30->filename + 2)" identifier = (cast_expression "(bfd *)((int)&pbVar30->filename + 2)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar30->filename + 2)" ( (binary_expression "(int)&pbVar30->filename + 2" (cast_expression "(int)&pbVar30->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar30->filename" & (field_expression "pbVar30->filename" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "puVar24 = *(undefined1 **)(puVar25 + iVar23 * 0x10 + 0xa0);" (assignment_expression "puVar24 = *(undefined1 **)(puVar25 + iVar23 * 0x10 + 0xa0)" identifier = (pointer_expression "*(undefined1 **)(puVar25 + iVar23 * 0x10 + 0xa0)" * (cast_expression "(undefined1 **)(puVar25 + iVar23 * 0x10 + 0xa0)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + iVar23 * 0x10 + 0xa0)" ( (binary_expression "puVar25 + iVar23 * 0x10 + 0xa0" (binary_expression "puVar25 + iVar23 * 0x10" identifier + (binary_expression "iVar23 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (puVar24 == (undefined1 *)0x0) {\n          *(undefined4 *)(puVar25 + -4) = 0x34c1e;\n          pcVar27 = ldlex_filename();\n          *(char **)(puVar25 + 0x44) = pcVar27;\n          *(uint *)(puVar25 + 0x40) = lineno;\n          puVar24 = puVar25 + 0x3c;\n        }\n        else {\n          pcVar27 = *(char **)(puVar24 + 8);\n        }" if (parenthesized_expression "(puVar24 == (undefined1 *)0x0)" ( (binary_expression "puVar24 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *(undefined4 *)(puVar25 + -4) = 0x34c1e;\n          pcVar27 = ldlex_filename();\n          *(char **)(puVar25 + 0x44) = pcVar27;\n          *(uint *)(puVar25 + 0x40) = lineno;\n          puVar24 = puVar25 + 0x3c;\n        }" { (expression_statement "*(undefined4 *)(puVar25 + -4) = 0x34c1e;" (assignment_expression "*(undefined4 *)(puVar25 + -4) = 0x34c1e" (pointer_expression "*(undefined4 *)(puVar25 + -4)" * (cast_expression "(undefined4 *)(puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -4)" ( (binary_expression "puVar25 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar27 = ldlex_filename();" (assignment_expression "pcVar27 = ldlex_filename()" identifier = (call_expression "ldlex_filename()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(char **)(puVar25 + 0x44) = pcVar27;" (assignment_expression "*(char **)(puVar25 + 0x44) = pcVar27" (pointer_expression "*(char **)(puVar25 + 0x44)" * (cast_expression "(char **)(puVar25 + 0x44)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x44)" ( (binary_expression "puVar25 + 0x44" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar25 + 0x40) = lineno;" (assignment_expression "*(uint *)(puVar25 + 0x40) = lineno" (pointer_expression "*(uint *)(puVar25 + 0x40)" * (cast_expression "(uint *)(puVar25 + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x40)" ( (binary_expression "puVar25 + 0x40" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar24 = puVar25 + 0x3c;" (assignment_expression "puVar24 = puVar25 + 0x3c" identifier = (binary_expression "puVar25 + 0x3c" identifier + number_literal)) ;) }) (else_clause "else {\n          pcVar27 = *(char **)(puVar24 + 8);\n        }" else (compound_statement "{\n          pcVar27 = *(char **)(puVar24 + 8);\n        }" { (expression_statement "pcVar27 = *(char **)(puVar24 + 8);" (assignment_expression "pcVar27 = *(char **)(puVar24 + 8)" identifier = (pointer_expression "*(char **)(puVar24 + 8)" * (cast_expression "(char **)(puVar24 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 8)" ( (binary_expression "puVar24 + 8" identifier + number_literal) ))))) ;) }))) (if_statement "if (pcVar27 != (char *)0x0) {\n          *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar24 + 4);\n          *(char **)(puVar25 + -8) = pcVar27;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d7b0;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34b67;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }" if (parenthesized_expression "(pcVar27 != (char *)0x0)" ( (binary_expression "pcVar27 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar24 + 4);\n          *(char **)(puVar25 + -8) = pcVar27;\n          *(undefined **)(puVar25 + -0xc) = &DAT_0007d7b0;\n          *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n          *(undefined4 *)(puVar25 + -0x14) = 0x34b67;\n          fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n        }" { (expression_statement "*(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar24 + 4);" (assignment_expression "*(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar24 + 4)" (pointer_expression "*(undefined4 *)(puVar25 + -4)" * (cast_expression "(undefined4 *)(puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -4)" ( (binary_expression "puVar25 + -4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar24 + 4)" * (cast_expression "(undefined4 *)(puVar24 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 4)" ( (binary_expression "puVar24 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(char **)(puVar25 + -8) = pcVar27;" (assignment_expression "*(char **)(puVar25 + -8) = pcVar27" (pointer_expression "*(char **)(puVar25 + -8)" * (cast_expression "(char **)(puVar25 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar25 + -0xc) = &DAT_0007d7b0;" (assignment_expression "*(undefined **)(puVar25 + -0xc) = &DAT_0007d7b0" (pointer_expression "*(undefined **)(puVar25 + -0xc)" * (cast_expression "(undefined **)(puVar25 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_0007d7b0" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);" (assignment_expression "*(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150)" (pointer_expression "*(undefined4 *)(puVar25 + -0x10)" * (cast_expression "(undefined4 *)(puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x150)" * (cast_expression "(undefined4 *)(puVar25 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x150)" ( (binary_expression "puVar25 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x34b67;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x34b67" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));" (call_expression "fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc))" identifier (argument_list "(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc))" ( (pointer_expression "*(FILE **)(puVar25 + -0x10)" * (cast_expression "(FILE **)(puVar25 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar25 + -0xc)" * (cast_expression "(char **)(puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) ))) ;) })) }))) }))) (labeled_statement "LAB_000349da:\n    bVar12 = *(byte *)((int)&pbVar30->filename + 2);" statement_identifier : (expression_statement "bVar12 = *(byte *)((int)&pbVar30->filename + 2);" (assignment_expression "bVar12 = *(byte *)((int)&pbVar30->filename + 2)" identifier = (pointer_expression "*(byte *)((int)&pbVar30->filename + 2)" * (cast_expression "(byte *)((int)&pbVar30->filename + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar30->filename + 2)" ( (binary_expression "(int)&pbVar30->filename + 2" (cast_expression "(int)&pbVar30->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar30->filename" & (field_expression "pbVar30->filename" identifier -> field_identifier))) + number_literal) ))))) ;)) (expression_statement "fmt = (char *)pbVar29;" (assignment_expression "fmt = (char *)pbVar29" identifier = (cast_expression "(char *)pbVar29" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) (case_statement "case 0x73:\n    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n    *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n    *(undefined4 *)(puVar25 + -0x14) = 0x34489;\n    fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;" case number_literal : (expression_statement "*(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);" (assignment_expression "*(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150)" (pointer_expression "*(undefined4 *)(puVar25 + -0xc)" * (cast_expression "(undefined4 *)(puVar25 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x150)" * (cast_expression "(undefined4 *)(puVar25 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x150)" ( (binary_expression "puVar25 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar25 + -0x10)" * (cast_expression "(undefined4 *)(puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0)" * (cast_expression "(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + iVar23 * 0x10 + 0xa0)" ( (binary_expression "puVar25 + iVar23 * 0x10 + 0xa0" (binary_expression "puVar25 + iVar23 * 0x10" identifier + (binary_expression "iVar23 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x34489;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x34489" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));" (call_expression "fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc))" identifier (argument_list "(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc))" ( (pointer_expression "*(char **)(puVar25 + -0x10)" * (cast_expression "(char **)(puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar25 + -0xc)" * (cast_expression "(FILE **)(puVar25 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "*(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;" (assignment_expression "*(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1" (pointer_expression "*(int *)(puVar25 + 4)" * (cast_expression "(int *)(puVar25 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 4)" ( (binary_expression "puVar25 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar25 + 4) + 1" (pointer_expression "*(int *)(puVar25 + 4)" * (cast_expression "(int *)(puVar25 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 4)" ( (binary_expression "puVar25 + 4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "bVar12 = *(byte *)((int)&pbVar30->filename + 1);" (assignment_expression "bVar12 = *(byte *)((int)&pbVar30->filename + 1)" identifier = (pointer_expression "*(byte *)((int)&pbVar30->filename + 1)" * (cast_expression "(byte *)((int)&pbVar30->filename + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar30->filename + 1)" ( (binary_expression "(int)&pbVar30->filename + 1" (cast_expression "(int)&pbVar30->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar30->filename" & (field_expression "pbVar30->filename" identifier -> field_identifier))) + number_literal) ))))) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) (case_statement "case 0x75:\n    puVar15 = &DAT_0007d7b3;\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\nLAB_000344af:\n    *(undefined **)(puVar25 + -0xc) = puVar15;\n    *(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);\n    *(undefined4 *)(puVar25 + -0x14) = 0x344bc;\n    fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;" case number_literal : (expression_statement "puVar15 = &DAT_0007d7b3;" (assignment_expression "puVar15 = &DAT_0007d7b3" identifier = (pointer_expression "&DAT_0007d7b3" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar25 + -8)" * (cast_expression "(undefined4 *)(puVar25 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0)" * (cast_expression "(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + iVar23 * 0x10 + 0xa0)" ( (binary_expression "puVar25 + iVar23 * 0x10 + 0xa0" (binary_expression "puVar25 + iVar23 * 0x10" identifier + (binary_expression "iVar23 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (labeled_statement "LAB_000344af:\n    *(undefined **)(puVar25 + -0xc) = puVar15;" statement_identifier : (expression_statement "*(undefined **)(puVar25 + -0xc) = puVar15;" (assignment_expression "*(undefined **)(puVar25 + -0xc) = puVar15" (pointer_expression "*(undefined **)(puVar25 + -0xc)" * (cast_expression "(undefined **)(puVar25 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);" (assignment_expression "*(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150)" (pointer_expression "*(undefined4 *)(puVar25 + -0x10)" * (cast_expression "(undefined4 *)(puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x150)" * (cast_expression "(undefined4 *)(puVar25 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x150)" ( (binary_expression "puVar25 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x344bc;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x344bc" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));" (call_expression "fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc))" identifier (argument_list "(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc))" ( (pointer_expression "*(FILE **)(puVar25 + -0x10)" * (cast_expression "(FILE **)(puVar25 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar25 + -0xc)" * (cast_expression "(char **)(puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "*(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;" (assignment_expression "*(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1" (pointer_expression "*(int *)(puVar25 + 4)" * (cast_expression "(int *)(puVar25 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 4)" ( (binary_expression "puVar25 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar25 + 4) + 1" (pointer_expression "*(int *)(puVar25 + 4)" * (cast_expression "(int *)(puVar25 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 4)" ( (binary_expression "puVar25 + 4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "bVar12 = *(byte *)((int)&pbVar30->filename + 1);" (assignment_expression "bVar12 = *(byte *)((int)&pbVar30->filename + 1)" identifier = (pointer_expression "*(byte *)((int)&pbVar30->filename + 1)" * (cast_expression "(byte *)((int)&pbVar30->filename + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar30->filename + 1)" ( (binary_expression "(int)&pbVar30->filename + 1" (cast_expression "(int)&pbVar30->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar30->filename" & (field_expression "pbVar30->filename" identifier -> field_identifier))) + number_literal) ))))) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) (case_statement "case 0x76:\n    *(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;\n    *(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);\n    *(char **)(puVar25 + -0xc) = "%016llx";\n    pcVar27 = puVar25 + 0x3c;\n    *(char **)(puVar25 + -0x10) = pcVar27;\n    *(undefined4 *)(puVar25 + -0x14) = 0x3426c;\n    sprintf(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));\n    cVar2 = puVar25[0x3c];\n    while (cVar2 == '0') {\n      pcVar27 = pcVar27 + 1;\n      cVar2 = *pcVar27;\n    }\n    pbVar28 = (bfd *)(pcVar27 + -(uint)(cVar2 == '\0'));\n    *(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);\n    *(bfd **)(puVar25 + -0x10) = pbVar28;\n    *(undefined4 *)(puVar25 + -0x14) = 0x34298;\n    fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));\n    bVar12 = *(byte *)((int)&pbVar30->filename + 1);\n    goto joined_r0x000340a6;" case number_literal : (expression_statement "*(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1;" (assignment_expression "*(int *)(puVar25 + 4) = *(int *)(puVar25 + 4) + 1" (pointer_expression "*(int *)(puVar25 + 4)" * (cast_expression "(int *)(puVar25 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 4)" ( (binary_expression "puVar25 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar25 + 4) + 1" (pointer_expression "*(int *)(puVar25 + 4)" * (cast_expression "(int *)(puVar25 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 4)" ( (binary_expression "puVar25 + 4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar25 + -4) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar25 + -4)" * (cast_expression "(undefined4 *)(puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -4)" ( (binary_expression "puVar25 + -4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4)" * (cast_expression "(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + iVar23 * 0x10 + 0xa4)" ( (binary_expression "puVar25 + iVar23 * 0x10 + 0xa4" (binary_expression "puVar25 + iVar23 * 0x10" identifier + (binary_expression "iVar23 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar25 + -8) = *(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar25 + -8)" * (cast_expression "(undefined4 *)(puVar25 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0)" * (cast_expression "(undefined4 *)(puVar25 + iVar23 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + iVar23 * 0x10 + 0xa0)" ( (binary_expression "puVar25 + iVar23 * 0x10 + 0xa0" (binary_expression "puVar25 + iVar23 * 0x10" identifier + (binary_expression "iVar23 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(char **)(puVar25 + -0xc) = "%016llx";" (assignment_expression "*(char **)(puVar25 + -0xc) = "%016llx"" (pointer_expression "*(char **)(puVar25 + -0xc)" * (cast_expression "(char **)(puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = (string_literal ""%016llx"" " string_content ")) ;) (expression_statement "pcVar27 = puVar25 + 0x3c;" (assignment_expression "pcVar27 = puVar25 + 0x3c" identifier = (binary_expression "puVar25 + 0x3c" identifier + number_literal)) ;) (expression_statement "*(char **)(puVar25 + -0x10) = pcVar27;" (assignment_expression "*(char **)(puVar25 + -0x10) = pcVar27" (pointer_expression "*(char **)(puVar25 + -0x10)" * (cast_expression "(char **)(puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x3426c;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x3426c" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sprintf(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));" (call_expression "sprintf(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc))" identifier (argument_list "(*(char **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc))" ( (pointer_expression "*(char **)(puVar25 + -0x10)" * (cast_expression "(char **)(puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar25 + -0xc)" * (cast_expression "(char **)(puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "cVar2 = puVar25[0x3c];" (assignment_expression "cVar2 = puVar25[0x3c]" identifier = (subscript_expression "puVar25[0x3c]" identifier [ number_literal ])) ;) (while_statement "while (cVar2 == '0') {\n      pcVar27 = pcVar27 + 1;\n      cVar2 = *pcVar27;\n    }" while (parenthesized_expression "(cVar2 == '0')" ( (binary_expression "cVar2 == '0'" identifier == (char_literal "'0'" ' character ')) )) (compound_statement "{\n      pcVar27 = pcVar27 + 1;\n      cVar2 = *pcVar27;\n    }" { (expression_statement "pcVar27 = pcVar27 + 1;" (assignment_expression "pcVar27 = pcVar27 + 1" identifier = (binary_expression "pcVar27 + 1" identifier + number_literal)) ;) (expression_statement "cVar2 = *pcVar27;" (assignment_expression "cVar2 = *pcVar27" identifier = (pointer_expression "*pcVar27" * identifier)) ;) })) (expression_statement "pbVar28 = (bfd *)(pcVar27 + -(uint)(cVar2 == '\0'));" (assignment_expression "pbVar28 = (bfd *)(pcVar27 + -(uint)(cVar2 == '\0'))" identifier = (cast_expression "(bfd *)(pcVar27 + -(uint)(cVar2 == '\0'))" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + -(uint)(cVar2 == '\0'))" ( (binary_expression "pcVar27 + -(uint)(cVar2 == '\0')" identifier + (unary_expression "-(uint)(cVar2 == '\0')" - (call_expression "(uint)(cVar2 == '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))))) )))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150);" (assignment_expression "*(undefined4 *)(puVar25 + -0xc) = *(undefined4 *)(puVar25 + 0x150)" (pointer_expression "*(undefined4 *)(puVar25 + -0xc)" * (cast_expression "(undefined4 *)(puVar25 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x150)" * (cast_expression "(undefined4 *)(puVar25 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x150)" ( (binary_expression "puVar25 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(bfd **)(puVar25 + -0x10) = pbVar28;" (assignment_expression "*(bfd **)(puVar25 + -0x10) = pbVar28" (pointer_expression "*(bfd **)(puVar25 + -0x10)" * (cast_expression "(bfd **)(puVar25 + -0x10)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x34298;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x34298" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc));" (call_expression "fputs(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc))" identifier (argument_list "(*(char **)(puVar25 + -0x10),*(FILE **)(puVar25 + -0xc))" ( (pointer_expression "*(char **)(puVar25 + -0x10)" * (cast_expression "(char **)(puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar25 + -0xc)" * (cast_expression "(FILE **)(puVar25 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "bVar12 = *(byte *)((int)&pbVar30->filename + 1);" (assignment_expression "bVar12 = *(byte *)((int)&pbVar30->filename + 1)" identifier = (pointer_expression "*(byte *)((int)&pbVar30->filename + 1)" * (cast_expression "(byte *)((int)&pbVar30->filename + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar30->filename + 1)" ( (binary_expression "(int)&pbVar30->filename + 1" (cast_expression "(int)&pbVar30->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar30->filename" & (field_expression "pbVar30->filename" identifier -> field_identifier))) + number_literal) ))))) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) })) (expression_statement "*(char **)(puVar25 + -0xc) = pcVar27;" (assignment_expression "*(char **)(puVar25 + -0xc) = pcVar27" (pointer_expression "*(char **)(puVar25 + -0xc)" * (cast_expression "(char **)(puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150);" (assignment_expression "*(undefined4 *)(puVar25 + -0x10) = *(undefined4 *)(puVar25 + 0x150)" (pointer_expression "*(undefined4 *)(puVar25 + -0x10)" * (cast_expression "(undefined4 *)(puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar25 + 0x150)" * (cast_expression "(undefined4 *)(puVar25 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x150)" ( (binary_expression "puVar25 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x14) = 0x34237;" (assignment_expression "*(undefined4 *)(puVar25 + -0x14) = 0x34237" (pointer_expression "*(undefined4 *)(puVar25 + -0x14)" * (cast_expression "(undefined4 *)(puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc));" (call_expression "fprintf(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc))" identifier (argument_list "(*(FILE **)(puVar25 + -0x10),*(char **)(puVar25 + -0xc))" ( (pointer_expression "*(FILE **)(puVar25 + -0x10)" * (cast_expression "(FILE **)(puVar25 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar25 + -0xc)" * (cast_expression "(char **)(puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "bVar12 = *(byte *)((int)&pbVar30->filename + 1);" (assignment_expression "bVar12 = *(byte *)((int)&pbVar30->filename + 1)" identifier = (pointer_expression "*(byte *)((int)&pbVar30->filename + 1)" * (cast_expression "(byte *)((int)&pbVar30->filename + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar30->filename + 1)" ( (binary_expression "(int)&pbVar30->filename + 1" (cast_expression "(int)&pbVar30->filename" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar30->filename" & (field_expression "pbVar30->filename" identifier -> field_identifier))) + number_literal) ))))) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;) })))
(translation_unit "void FUN_00033f20(undefined4 param_1,byte *param_2,byte *param_3)\n\n{\n  byte bVar1;\n  char cVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  code *pcVar5;\n  int *piVar6;\n  byte bVar7;\n  undefined4 *puVar8;\n  uint uVar9;\n  undefined *puVar10;\n  size_t sVar11;\n  undefined4 uVar12;\n  undefined4 *puVar13;\n  int iVar14;\n  byte *pbVar15;\n  int iVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  undefined1 *puVar19;\n  char *pcVar20;\n  byte *pbVar21;\n  byte *pbVar22;\n  undefined8 uVar23;\n  undefined1 auStack_14c [4];\n  undefined4 *local_148;\n  byte *local_144;\n  undefined *local_140;\n  undefined4 local_13c;\n  undefined4 *local_138;\n  int local_134;\n  undefined4 local_ac [36];\n  undefined4 local_1c [2];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x33f29;\n  puVar18 = auStack_14c;\n  puVar13 = local_ac;\n  puVar8 = puVar13;\n  do {\n    *puVar8 = 0;\n    puVar8 = puVar8 + 4;\n  } while (local_1c != puVar8);\n  bVar7 = *param_2;\n  local_148 = (undefined4 *)0x0;\n  local_13c = CONCAT31(local_13c._1_3_,bVar7);\n  local_138 = (undefined4 *)PTR__sch_istable_001cefa0;\n  uVar9 = (uint)bVar7;\n  pbVar15 = param_2;\nLAB_00033f90:\n  if ((char)uVar9 != '\0') {\n    if ((char)uVar9 != '%') goto LAB_00033fb0;\n    goto LAB_00033fd0;\n  }\n  uVar9 = 0;\n  pbVar15 = param_3;\n  if (local_148 != (undefined4 *)0x0) {\n    do {\n      switch(*puVar13) {\n      default:\n                    \n        FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar15 = param_3 + 4;\n        *puVar13 = *(undefined4 *)param_3;\n        break;\n      case 4:\n        uVar12 = *(undefined4 *)(param_3 + 4);\n        pbVar15 = param_3 + 8;\n        *puVar13 = *(undefined4 *)param_3;\n        puVar13[1] = uVar12;\n        break;\n      case 5:\n        uVar12 = *(undefined4 *)(param_3 + 8);\n        pbVar15 = param_3 + 0x10;\n        uVar3 = *(undefined4 *)(param_3 + 0xc);\n        *puVar13 = *(undefined4 *)param_3;\n        uVar4 = *(undefined4 *)(param_3 + 4);\n        puVar13[2] = uVar12;\n        puVar13[1] = uVar4;\n        puVar13[3] = uVar3;\n      }\n      uVar9 = uVar9 + 1;\n      puVar13 = puVar13 + 4;\n      param_3 = pbVar15;\n    } while (local_148 != (undefined4 *)uVar9);\n  }\n  local_148 = (undefined4 *)0x0;\n  local_13c = 0;\n  local_140 = PTR__sch_istable_001cefa0;\n  local_138 = &DAT_001d13c4;\njoined_r0x000340a6:\n  if (bVar7 != 0) {\n    pbVar21 = param_2;\n    pbVar15 = param_2;\n    if (bVar7 != 0x25) goto LAB_000340c2;\n    goto LAB_00034170;\n  }\n  pbVar21 = *(byte **)(puVar18 + 0x15c);\n  if ((pbVar21 != (byte *)0x0) && (DAT_001d1508 != 0)) {\n    DAT_001d14e4 = 0;\n  }\n  if (*(int *)(puVar18 + 0x10) == 0) {\n    return;\n  }\n  *(undefined4 *)(puVar18 + -0x10) = 1;\n  *(undefined4 *)(puVar18 + -0x14) = 0x34be1;\n  puVar13 = (undefined4 *)xexit();\n  puVar18 = puVar18 + -0x10;\n  pbVar22 = param_2;\n  goto code_r0x00034be8;\nLAB_00033fb0:\n  do {\n    pbVar15 = pbVar15 + 1;\n    bVar1 = *pbVar15;\n    uVar9 = (uint)bVar1;\n    if (bVar1 == 0x25) break;\n  } while (bVar1 != 0);\n  if (bVar1 != 0x25) goto LAB_00033f90;\nLAB_00033fd0:\n  local_144 = pbVar15 + 1;\n  bVar1 = pbVar15[1];\n  uVar9 = (uint)bVar1;\n  if (bVar1 == 0x30) {\n    pbVar15 = pbVar15 + 2;\nLAB_000347d7:\n    uVar9 = (uint)local_144[1];\n    goto LAB_00033f90;\n  }\n  local_134 = (int)(char)bVar1;\n  local_140 = (undefined *)local_148;\n  if (((PTR__sch_istable_001cefa0[uVar9 * 2] & 4) != 0) && (pbVar15[2] == 0x24)) {\n    local_140 = (undefined *)((int)(char)bVar1 - 0x31);\n    local_144 = pbVar15 + 3;\n    uVar9 = (uint)pbVar15[3];\n  }\n  pbVar21 = local_144;\n  pbVar15 = local_144 + 1;\n  switch(uVar9) {\n  case 0:\n    pbVar15 = local_144;\n    goto LAB_00033f90;\n  default:\n    goto LAB_000347d7;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    local_144 = (byte *)0x5;\n    break;\n  case 0x56:\n  case 0x57:\n  case 0x76:\n    local_144 = (byte *)0x4;\n    break;\n  case 100:\n  case 0x75:\n    local_144 = (byte *)0x1;\n    break;\n  case 0x6c:\n    bVar1 = local_144[1];\n    uVar9 = (uint)bVar1;\n    if ((bVar1 != 100) && (bVar1 != 0x75)) goto LAB_00033f90;\n    local_144 = (byte *)0x2;\n    pbVar15 = pbVar21 + 2;\n    break;\n  case 0x70:\n    local_144 = (byte *)0x3;\n    uVar9 = pbVar21[1] - 0x41;\n    if (((byte)uVar9 < 0x14) && ((0xe0103U >> (uVar9 & 0x1f) & 1) != 0)) {\n      pbVar15 = pbVar21 + 2;\n    }\n    break;\n  case 0x73:\n    local_144 = (byte *)0x3;\n  }\n  if (8 < local_140) {\n    local_148 = puVar13;\n                    \n    FUN_00033e90("../../ld/ldmisc.c",0xa9,"vfinfo",uVar9);\n  }\n  local_148 = (undefined4 *)((int)local_148 + 1);\n  local_ac[(int)local_140 * 4] = local_144;\n  uVar9 = (uint)*pbVar15;\n  goto LAB_00033f90;\nLAB_000340c2:\n  do {\n    pbVar15 = pbVar21;\n    bVar7 = pbVar15[1];\n    pbVar21 = pbVar15 + 1;\n    if (bVar7 == 0x25) break;\n  } while (bVar7 != 0);\n  if (param_2 != pbVar21) {\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + 0x150);\n    *(int *)(puVar18 + -8) = (int)pbVar21 - (int)param_2;\n    *(undefined4 *)(puVar18 + -0xc) = 1;\n    *(byte **)(puVar18 + -0x10) = param_2;\n    *(undefined4 *)(puVar18 + -0x14) = 0x340e9;\n    fwrite(*(void **)(puVar18 + -0x10),*(size_t *)(puVar18 + -0xc),*(size_t *)(puVar18 + -8),\n           *(FILE **)(puVar18 + -4));\n    bVar7 = pbVar15[1];\n  }\n  param_2 = pbVar21;\n  if (bVar7 != 0x25) goto joined_r0x000340a6;\nLAB_00034170:\n  bVar7 = param_2[1];\n  pbVar22 = param_2 + 1;\n  *(int *)(puVar18 + 8) = (int)(char)bVar7;\n  if (bVar7 == 0x30) {\n    *(undefined4 *)(puVar18 + 8) = 0x30;\n    param_2 = param_2 + 2;\n    goto LAB_0003421d;\n  }\n  pbVar15 = *(byte **)(puVar18 + 0xc);\n  iVar16 = *(int *)(puVar18 + 4);\n  if (((pbVar15[(uint)bVar7 * 2] & 4) != 0) && (param_2[2] == 0x24)) {\n    bVar7 = param_2[3];\n    iVar16 = *(int *)(puVar18 + 8);\n    pbVar22 = param_2 + 3;\n    *(int *)(puVar18 + 8) = (int)(char)bVar7;\n    iVar16 = iVar16 + -0x31;\n  }\n  param_2 = pbVar22 + 1;\n  switch(bVar7) {\n  case 0:\n    param_2 = pbVar22;\n  case 0x25:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = 0x25;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034207;\n    putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = *param_2;\n    goto joined_r0x000340a6;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    iVar16 = iVar16 * 0x10;\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pbVar15 = *(byte **)(puVar18 + iVar16 + 0xa0);\n    *(undefined4 *)(puVar18 + 0x1c) = *(undefined4 *)(puVar18 + iVar16 + 0xa4);\n    uVar12 = *(undefined4 *)(puVar18 + iVar16 + 0xac);\n    *(undefined4 *)(puVar18 + 0x20) = *(undefined4 *)(puVar18 + iVar16 + 0xa8);\n    *(undefined4 *)(puVar18 + 0x24) = uVar12;\n    if (pbVar15 == (byte *)0x0) {\ncode_r0x00034747:\n      *(byte **)(puVar18 + -8) = pbVar15;\n      *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003475e;\n      FUN_00034e30();\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x24) = &UNK_0003477e;\n      FUN_00034e30();\n    }\n    else {\n      *(byte **)(puVar18 + -0x10) = pbVar15;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034331;\n      iVar16 = bfd_generic_link_read_symbols();\n      if (iVar16 == 0) {\n        *(undefined4 *)(puVar18 + -8) = 5;\n        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar18 + -0x10) = 0;\n        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;\n        uVar12 = dcgettext();\n        *(byte **)(puVar18 + -0xc) = pbVar15;\n        *(undefined4 *)(puVar18 + -0x10) = uVar12;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;\n        FUN_00034d20();\n      }\n      iVar16 = *(int *)(pbVar15 + 4);\n      *(undefined4 *)(puVar18 + -0x10) = 0;\n      *(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c;\n      *(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38;\n      *(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78);\n      *(byte **)(puVar18 + -0x30) = pbVar15;\n      pcVar5 = *(code **)(iVar16 + 0x128);\n      *(undefined **)(puVar18 + -0x34) = &UNK_00034369;\n      iVar16 = (*pcVar5)();\n      if (iVar16 == 0) goto code_r0x00034747;\n      iVar16 = *(int *)(puVar18 + 0x38);\n      *(int *)(puVar18 + 8) = iVar16;\n      if ((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))) {\n        *(byte **)(puVar18 + -8) = pbVar15;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;\n        FUN_00034e30();\n        *(undefined4 *)(puVar18 + 0x18) = 1;\ncode_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }\n        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x38);\n        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;\n        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;\n        if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }\n        *(char **)(puVar18 + -4) = "";\n        *(int *)(puVar18 + -8) = iVar16;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      }\n      else {\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }\n      if (*(int *)(puVar18 + 0x18) == 0) goto code_r0x0003443a;\n    }\n    pbRam001d0878 = (byte *)0x0;\n    if (iRam001d0870 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0870;\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003479e;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0870 = 0;\n    }\n    if (iRam001d0874 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0874;\n      *(undefined **)(puVar18 + -0x14) = &UNK_000347c2;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0874 = 0;\n    }\ncode_r0x0003443a:\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x45:\n    *(undefined **)(puVar18 + -4) = &UNK_0003444a;\n    uVar12 = bfd_get_error();\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034453;\n    uVar12 = func_0x00016b10();\n    pbVar15 = *(byte **)(puVar18 + -0xc);\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034462;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x46:\n    bVar7 = pbVar22[1];\n    *(undefined4 *)(puVar18 + 0x10) = 1;\n    goto joined_r0x000340a6;\n  case 0x50:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = DAT_001d1558;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034695;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x56:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pcVar20 = "%016llx";\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    break;\n  case 0x57:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345d0;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345f5;\n    sVar11 = strlen(*(char **)(puVar18 + -0x10));\n    if (sVar11 < 8) {\n      *(byte **)(puVar18 + 8) = pbVar22;\n      uVar12 = *(undefined4 *)(puVar18 + 0x150);\n      *(byte **)(puVar18 + 0x18) = param_2;\n      do {\n        sVar11 = sVar11 + 1;\n        *(undefined4 *)(puVar18 + -0xc) = uVar12;\n        *(undefined4 *)(puVar18 + -0x10) = 0x20;\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003461c;\n        putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      } while (sVar11 != 8);\n      pbVar22 = *(byte **)(puVar18 + 8);\n      param_2 = *(byte **)(puVar18 + 0x18);\n    }\n    pcVar20 = "0x%s";\n    *(byte **)(puVar18 + -8) = pbVar15;\n    break;\n  case 0x58:\n    DAT_001d14e4 = 0;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 100:\n    puVar10 = &DAT_0006c013;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    goto code_r0x000344af;\n  case 0x6c:\n    if (pbVar22[1] == 100) {\n      puVar10 = &UNK_0007d7c3;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000342cd:\n      *(undefined **)(puVar18 + -0xc) = puVar10;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_000342dd;\n      fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n      bVar7 = pbVar22[2];\n      param_2 = pbVar22 + 2;\n      goto joined_r0x000340a6;\n    }\n    if (pbVar22[1] == 0x75) {\n      puVar10 = &UNK_0007d7c7;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n      goto code_r0x000342cd;\n    }\n  default:\nLAB_0003421d:\n    pcVar20 = "%%%c";\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + 8);\n    break;\n  case 0x70:\n    bVar7 = pbVar22[1];\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    if (bVar7 == 0x41) {\n      pbVar21 = pbVar22 + 2;\n      puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n      pbVar15 = (byte *)puVar13[0x2b];\n      *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined4 *)(puVar18 + -0x10) = *puVar13;\n      *(undefined4 **)(puVar18 + 8) = puVar13;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034a7f;\n      fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      iVar16 = *(int *)(puVar18 + 8);\n      if (pbVar15 != (byte *)0x0) {\n        if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }\n        if (iVar16 != 0) {\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }\n    }\n    else {\n      if (bVar7 == 0x42) {\n        pbVar21 = pbVar22 + 2;\n        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;\n        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);\n        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));\n        bVar7 = pbVar22[2];\n        puVar18 = puVar19 + 8;\n        param_2 = pbVar21;\n        goto joined_r0x000340a6;\n      }\n      if (bVar7 == 0x49) {\n        pbVar21 = pbVar22 + 2;\n        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);\n        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }\n    }\nLAB_000349da:\n    bVar7 = pbVar22[2];\n    param_2 = pbVar21;\n    goto joined_r0x000340a6;\n  case 0x73:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034489;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x75:\n    puVar10 = &UNK_0007d7b3;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000344af:\n    *(undefined **)(puVar18 + -0xc) = puVar10;\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined **)(puVar18 + -0x14) = &UNK_000344bc;\n    fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x76:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_0003426c;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034298;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  }\n  *(char **)(puVar18 + -0xc) = pcVar20;\n  *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n  *(undefined4 *)(puVar18 + -0x14) = 0x34237;\n  fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n  bVar7 = pbVar22[1];\n  goto joined_r0x000340a6;\n}\n\n" (function_definition "void FUN_00033f20(undefined4 param_1,byte *param_2,byte *param_3)\n\n{\n  byte bVar1;\n  char cVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  code *pcVar5;\n  int *piVar6;\n  byte bVar7;\n  undefined4 *puVar8;\n  uint uVar9;\n  undefined *puVar10;\n  size_t sVar11;\n  undefined4 uVar12;\n  undefined4 *puVar13;\n  int iVar14;\n  byte *pbVar15;\n  int iVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  undefined1 *puVar19;\n  char *pcVar20;\n  byte *pbVar21;\n  byte *pbVar22;\n  undefined8 uVar23;\n  undefined1 auStack_14c [4];\n  undefined4 *local_148;\n  byte *local_144;\n  undefined *local_140;\n  undefined4 local_13c;\n  undefined4 *local_138;\n  int local_134;\n  undefined4 local_ac [36];\n  undefined4 local_1c [2];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x33f29;\n  puVar18 = auStack_14c;\n  puVar13 = local_ac;\n  puVar8 = puVar13;\n  do {\n    *puVar8 = 0;\n    puVar8 = puVar8 + 4;\n  } while (local_1c != puVar8);\n  bVar7 = *param_2;\n  local_148 = (undefined4 *)0x0;\n  local_13c = CONCAT31(local_13c._1_3_,bVar7);\n  local_138 = (undefined4 *)PTR__sch_istable_001cefa0;\n  uVar9 = (uint)bVar7;\n  pbVar15 = param_2;\nLAB_00033f90:\n  if ((char)uVar9 != '\0') {\n    if ((char)uVar9 != '%') goto LAB_00033fb0;\n    goto LAB_00033fd0;\n  }\n  uVar9 = 0;\n  pbVar15 = param_3;\n  if (local_148 != (undefined4 *)0x0) {\n    do {\n      switch(*puVar13) {\n      default:\n                    \n        FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar15 = param_3 + 4;\n        *puVar13 = *(undefined4 *)param_3;\n        break;\n      case 4:\n        uVar12 = *(undefined4 *)(param_3 + 4);\n        pbVar15 = param_3 + 8;\n        *puVar13 = *(undefined4 *)param_3;\n        puVar13[1] = uVar12;\n        break;\n      case 5:\n        uVar12 = *(undefined4 *)(param_3 + 8);\n        pbVar15 = param_3 + 0x10;\n        uVar3 = *(undefined4 *)(param_3 + 0xc);\n        *puVar13 = *(undefined4 *)param_3;\n        uVar4 = *(undefined4 *)(param_3 + 4);\n        puVar13[2] = uVar12;\n        puVar13[1] = uVar4;\n        puVar13[3] = uVar3;\n      }\n      uVar9 = uVar9 + 1;\n      puVar13 = puVar13 + 4;\n      param_3 = pbVar15;\n    } while (local_148 != (undefined4 *)uVar9);\n  }\n  local_148 = (undefined4 *)0x0;\n  local_13c = 0;\n  local_140 = PTR__sch_istable_001cefa0;\n  local_138 = &DAT_001d13c4;\njoined_r0x000340a6:\n  if (bVar7 != 0) {\n    pbVar21 = param_2;\n    pbVar15 = param_2;\n    if (bVar7 != 0x25) goto LAB_000340c2;\n    goto LAB_00034170;\n  }\n  pbVar21 = *(byte **)(puVar18 + 0x15c);\n  if ((pbVar21 != (byte *)0x0) && (DAT_001d1508 != 0)) {\n    DAT_001d14e4 = 0;\n  }\n  if (*(int *)(puVar18 + 0x10) == 0) {\n    return;\n  }\n  *(undefined4 *)(puVar18 + -0x10) = 1;\n  *(undefined4 *)(puVar18 + -0x14) = 0x34be1;\n  puVar13 = (undefined4 *)xexit();\n  puVar18 = puVar18 + -0x10;\n  pbVar22 = param_2;\n  goto code_r0x00034be8;\nLAB_00033fb0:\n  do {\n    pbVar15 = pbVar15 + 1;\n    bVar1 = *pbVar15;\n    uVar9 = (uint)bVar1;\n    if (bVar1 == 0x25) break;\n  } while (bVar1 != 0);\n  if (bVar1 != 0x25) goto LAB_00033f90;\nLAB_00033fd0:\n  local_144 = pbVar15 + 1;\n  bVar1 = pbVar15[1];\n  uVar9 = (uint)bVar1;\n  if (bVar1 == 0x30) {\n    pbVar15 = pbVar15 + 2;\nLAB_000347d7:\n    uVar9 = (uint)local_144[1];\n    goto LAB_00033f90;\n  }\n  local_134 = (int)(char)bVar1;\n  local_140 = (undefined *)local_148;\n  if (((PTR__sch_istable_001cefa0[uVar9 * 2] & 4) != 0) && (pbVar15[2] == 0x24)) {\n    local_140 = (undefined *)((int)(char)bVar1 - 0x31);\n    local_144 = pbVar15 + 3;\n    uVar9 = (uint)pbVar15[3];\n  }\n  pbVar21 = local_144;\n  pbVar15 = local_144 + 1;\n  switch(uVar9) {\n  case 0:\n    pbVar15 = local_144;\n    goto LAB_00033f90;\n  default:\n    goto LAB_000347d7;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    local_144 = (byte *)0x5;\n    break;\n  case 0x56:\n  case 0x57:\n  case 0x76:\n    local_144 = (byte *)0x4;\n    break;\n  case 100:\n  case 0x75:\n    local_144 = (byte *)0x1;\n    break;\n  case 0x6c:\n    bVar1 = local_144[1];\n    uVar9 = (uint)bVar1;\n    if ((bVar1 != 100) && (bVar1 != 0x75)) goto LAB_00033f90;\n    local_144 = (byte *)0x2;\n    pbVar15 = pbVar21 + 2;\n    break;\n  case 0x70:\n    local_144 = (byte *)0x3;\n    uVar9 = pbVar21[1] - 0x41;\n    if (((byte)uVar9 < 0x14) && ((0xe0103U >> (uVar9 & 0x1f) & 1) != 0)) {\n      pbVar15 = pbVar21 + 2;\n    }\n    break;\n  case 0x73:\n    local_144 = (byte *)0x3;\n  }\n  if (8 < local_140) {\n    local_148 = puVar13;\n                    \n    FUN_00033e90("../../ld/ldmisc.c",0xa9,"vfinfo",uVar9);\n  }\n  local_148 = (undefined4 *)((int)local_148 + 1);\n  local_ac[(int)local_140 * 4] = local_144;\n  uVar9 = (uint)*pbVar15;\n  goto LAB_00033f90;\nLAB_000340c2:\n  do {\n    pbVar15 = pbVar21;\n    bVar7 = pbVar15[1];\n    pbVar21 = pbVar15 + 1;\n    if (bVar7 == 0x25) break;\n  } while (bVar7 != 0);\n  if (param_2 != pbVar21) {\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + 0x150);\n    *(int *)(puVar18 + -8) = (int)pbVar21 - (int)param_2;\n    *(undefined4 *)(puVar18 + -0xc) = 1;\n    *(byte **)(puVar18 + -0x10) = param_2;\n    *(undefined4 *)(puVar18 + -0x14) = 0x340e9;\n    fwrite(*(void **)(puVar18 + -0x10),*(size_t *)(puVar18 + -0xc),*(size_t *)(puVar18 + -8),\n           *(FILE **)(puVar18 + -4));\n    bVar7 = pbVar15[1];\n  }\n  param_2 = pbVar21;\n  if (bVar7 != 0x25) goto joined_r0x000340a6;\nLAB_00034170:\n  bVar7 = param_2[1];\n  pbVar22 = param_2 + 1;\n  *(int *)(puVar18 + 8) = (int)(char)bVar7;\n  if (bVar7 == 0x30) {\n    *(undefined4 *)(puVar18 + 8) = 0x30;\n    param_2 = param_2 + 2;\n    goto LAB_0003421d;\n  }\n  pbVar15 = *(byte **)(puVar18 + 0xc);\n  iVar16 = *(int *)(puVar18 + 4);\n  if (((pbVar15[(uint)bVar7 * 2] & 4) != 0) && (param_2[2] == 0x24)) {\n    bVar7 = param_2[3];\n    iVar16 = *(int *)(puVar18 + 8);\n    pbVar22 = param_2 + 3;\n    *(int *)(puVar18 + 8) = (int)(char)bVar7;\n    iVar16 = iVar16 + -0x31;\n  }\n  param_2 = pbVar22 + 1;\n  switch(bVar7) {\n  case 0:\n    param_2 = pbVar22;\n  case 0x25:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = 0x25;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034207;\n    putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = *param_2;\n    goto joined_r0x000340a6;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    iVar16 = iVar16 * 0x10;\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pbVar15 = *(byte **)(puVar18 + iVar16 + 0xa0);\n    *(undefined4 *)(puVar18 + 0x1c) = *(undefined4 *)(puVar18 + iVar16 + 0xa4);\n    uVar12 = *(undefined4 *)(puVar18 + iVar16 + 0xac);\n    *(undefined4 *)(puVar18 + 0x20) = *(undefined4 *)(puVar18 + iVar16 + 0xa8);\n    *(undefined4 *)(puVar18 + 0x24) = uVar12;\n    if (pbVar15 == (byte *)0x0) {\ncode_r0x00034747:\n      *(byte **)(puVar18 + -8) = pbVar15;\n      *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003475e;\n      FUN_00034e30();\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x24) = &UNK_0003477e;\n      FUN_00034e30();\n    }\n    else {\n      *(byte **)(puVar18 + -0x10) = pbVar15;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034331;\n      iVar16 = bfd_generic_link_read_symbols();\n      if (iVar16 == 0) {\n        *(undefined4 *)(puVar18 + -8) = 5;\n        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar18 + -0x10) = 0;\n        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;\n        uVar12 = dcgettext();\n        *(byte **)(puVar18 + -0xc) = pbVar15;\n        *(undefined4 *)(puVar18 + -0x10) = uVar12;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;\n        FUN_00034d20();\n      }\n      iVar16 = *(int *)(pbVar15 + 4);\n      *(undefined4 *)(puVar18 + -0x10) = 0;\n      *(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c;\n      *(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38;\n      *(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78);\n      *(byte **)(puVar18 + -0x30) = pbVar15;\n      pcVar5 = *(code **)(iVar16 + 0x128);\n      *(undefined **)(puVar18 + -0x34) = &UNK_00034369;\n      iVar16 = (*pcVar5)();\n      if (iVar16 == 0) goto code_r0x00034747;\n      iVar16 = *(int *)(puVar18 + 0x38);\n      *(int *)(puVar18 + 8) = iVar16;\n      if ((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))) {\n        *(byte **)(puVar18 + -8) = pbVar15;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;\n        FUN_00034e30();\n        *(undefined4 *)(puVar18 + 0x18) = 1;\ncode_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }\n        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x38);\n        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;\n        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;\n        if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }\n        *(char **)(puVar18 + -4) = "";\n        *(int *)(puVar18 + -8) = iVar16;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      }\n      else {\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }\n      if (*(int *)(puVar18 + 0x18) == 0) goto code_r0x0003443a;\n    }\n    pbRam001d0878 = (byte *)0x0;\n    if (iRam001d0870 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0870;\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003479e;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0870 = 0;\n    }\n    if (iRam001d0874 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0874;\n      *(undefined **)(puVar18 + -0x14) = &UNK_000347c2;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0874 = 0;\n    }\ncode_r0x0003443a:\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x45:\n    *(undefined **)(puVar18 + -4) = &UNK_0003444a;\n    uVar12 = bfd_get_error();\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034453;\n    uVar12 = func_0x00016b10();\n    pbVar15 = *(byte **)(puVar18 + -0xc);\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034462;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x46:\n    bVar7 = pbVar22[1];\n    *(undefined4 *)(puVar18 + 0x10) = 1;\n    goto joined_r0x000340a6;\n  case 0x50:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = DAT_001d1558;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034695;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x56:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pcVar20 = "%016llx";\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    break;\n  case 0x57:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345d0;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345f5;\n    sVar11 = strlen(*(char **)(puVar18 + -0x10));\n    if (sVar11 < 8) {\n      *(byte **)(puVar18 + 8) = pbVar22;\n      uVar12 = *(undefined4 *)(puVar18 + 0x150);\n      *(byte **)(puVar18 + 0x18) = param_2;\n      do {\n        sVar11 = sVar11 + 1;\n        *(undefined4 *)(puVar18 + -0xc) = uVar12;\n        *(undefined4 *)(puVar18 + -0x10) = 0x20;\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003461c;\n        putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      } while (sVar11 != 8);\n      pbVar22 = *(byte **)(puVar18 + 8);\n      param_2 = *(byte **)(puVar18 + 0x18);\n    }\n    pcVar20 = "0x%s";\n    *(byte **)(puVar18 + -8) = pbVar15;\n    break;\n  case 0x58:\n    DAT_001d14e4 = 0;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 100:\n    puVar10 = &DAT_0006c013;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    goto code_r0x000344af;\n  case 0x6c:\n    if (pbVar22[1] == 100) {\n      puVar10 = &UNK_0007d7c3;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000342cd:\n      *(undefined **)(puVar18 + -0xc) = puVar10;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_000342dd;\n      fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n      bVar7 = pbVar22[2];\n      param_2 = pbVar22 + 2;\n      goto joined_r0x000340a6;\n    }\n    if (pbVar22[1] == 0x75) {\n      puVar10 = &UNK_0007d7c7;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n      goto code_r0x000342cd;\n    }\n  default:\nLAB_0003421d:\n    pcVar20 = "%%%c";\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + 8);\n    break;\n  case 0x70:\n    bVar7 = pbVar22[1];\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    if (bVar7 == 0x41) {\n      pbVar21 = pbVar22 + 2;\n      puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n      pbVar15 = (byte *)puVar13[0x2b];\n      *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined4 *)(puVar18 + -0x10) = *puVar13;\n      *(undefined4 **)(puVar18 + 8) = puVar13;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034a7f;\n      fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      iVar16 = *(int *)(puVar18 + 8);\n      if (pbVar15 != (byte *)0x0) {\n        if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }\n        if (iVar16 != 0) {\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }\n    }\n    else {\n      if (bVar7 == 0x42) {\n        pbVar21 = pbVar22 + 2;\n        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;\n        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);\n        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));\n        bVar7 = pbVar22[2];\n        puVar18 = puVar19 + 8;\n        param_2 = pbVar21;\n        goto joined_r0x000340a6;\n      }\n      if (bVar7 == 0x49) {\n        pbVar21 = pbVar22 + 2;\n        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);\n        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }\n    }\nLAB_000349da:\n    bVar7 = pbVar22[2];\n    param_2 = pbVar21;\n    goto joined_r0x000340a6;\n  case 0x73:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034489;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x75:\n    puVar10 = &UNK_0007d7b3;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000344af:\n    *(undefined **)(puVar18 + -0xc) = puVar10;\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined **)(puVar18 + -0x14) = &UNK_000344bc;\n    fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x76:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_0003426c;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034298;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  }\n  *(char **)(puVar18 + -0xc) = pcVar20;\n  *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n  *(undefined4 *)(puVar18 + -0x14) = 0x34237;\n  fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n  bVar7 = pbVar22[1];\n  goto joined_r0x000340a6;\n}" primitive_type (function_declarator "FUN_00033f20(undefined4 param_1,byte *param_2,byte *param_3)" identifier (parameter_list "(undefined4 param_1,byte *param_2,byte *param_3)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "byte *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "byte *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  char cVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  code *pcVar5;\n  int *piVar6;\n  byte bVar7;\n  undefined4 *puVar8;\n  uint uVar9;\n  undefined *puVar10;\n  size_t sVar11;\n  undefined4 uVar12;\n  undefined4 *puVar13;\n  int iVar14;\n  byte *pbVar15;\n  int iVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  undefined1 *puVar19;\n  char *pcVar20;\n  byte *pbVar21;\n  byte *pbVar22;\n  undefined8 uVar23;\n  undefined1 auStack_14c [4];\n  undefined4 *local_148;\n  byte *local_144;\n  undefined *local_140;\n  undefined4 local_13c;\n  undefined4 *local_138;\n  int local_134;\n  undefined4 local_ac [36];\n  undefined4 local_1c [2];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x33f29;\n  puVar18 = auStack_14c;\n  puVar13 = local_ac;\n  puVar8 = puVar13;\n  do {\n    *puVar8 = 0;\n    puVar8 = puVar8 + 4;\n  } while (local_1c != puVar8);\n  bVar7 = *param_2;\n  local_148 = (undefined4 *)0x0;\n  local_13c = CONCAT31(local_13c._1_3_,bVar7);\n  local_138 = (undefined4 *)PTR__sch_istable_001cefa0;\n  uVar9 = (uint)bVar7;\n  pbVar15 = param_2;\nLAB_00033f90:\n  if ((char)uVar9 != '\0') {\n    if ((char)uVar9 != '%') goto LAB_00033fb0;\n    goto LAB_00033fd0;\n  }\n  uVar9 = 0;\n  pbVar15 = param_3;\n  if (local_148 != (undefined4 *)0x0) {\n    do {\n      switch(*puVar13) {\n      default:\n                    \n        FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar15 = param_3 + 4;\n        *puVar13 = *(undefined4 *)param_3;\n        break;\n      case 4:\n        uVar12 = *(undefined4 *)(param_3 + 4);\n        pbVar15 = param_3 + 8;\n        *puVar13 = *(undefined4 *)param_3;\n        puVar13[1] = uVar12;\n        break;\n      case 5:\n        uVar12 = *(undefined4 *)(param_3 + 8);\n        pbVar15 = param_3 + 0x10;\n        uVar3 = *(undefined4 *)(param_3 + 0xc);\n        *puVar13 = *(undefined4 *)param_3;\n        uVar4 = *(undefined4 *)(param_3 + 4);\n        puVar13[2] = uVar12;\n        puVar13[1] = uVar4;\n        puVar13[3] = uVar3;\n      }\n      uVar9 = uVar9 + 1;\n      puVar13 = puVar13 + 4;\n      param_3 = pbVar15;\n    } while (local_148 != (undefined4 *)uVar9);\n  }\n  local_148 = (undefined4 *)0x0;\n  local_13c = 0;\n  local_140 = PTR__sch_istable_001cefa0;\n  local_138 = &DAT_001d13c4;\njoined_r0x000340a6:\n  if (bVar7 != 0) {\n    pbVar21 = param_2;\n    pbVar15 = param_2;\n    if (bVar7 != 0x25) goto LAB_000340c2;\n    goto LAB_00034170;\n  }\n  pbVar21 = *(byte **)(puVar18 + 0x15c);\n  if ((pbVar21 != (byte *)0x0) && (DAT_001d1508 != 0)) {\n    DAT_001d14e4 = 0;\n  }\n  if (*(int *)(puVar18 + 0x10) == 0) {\n    return;\n  }\n  *(undefined4 *)(puVar18 + -0x10) = 1;\n  *(undefined4 *)(puVar18 + -0x14) = 0x34be1;\n  puVar13 = (undefined4 *)xexit();\n  puVar18 = puVar18 + -0x10;\n  pbVar22 = param_2;\n  goto code_r0x00034be8;\nLAB_00033fb0:\n  do {\n    pbVar15 = pbVar15 + 1;\n    bVar1 = *pbVar15;\n    uVar9 = (uint)bVar1;\n    if (bVar1 == 0x25) break;\n  } while (bVar1 != 0);\n  if (bVar1 != 0x25) goto LAB_00033f90;\nLAB_00033fd0:\n  local_144 = pbVar15 + 1;\n  bVar1 = pbVar15[1];\n  uVar9 = (uint)bVar1;\n  if (bVar1 == 0x30) {\n    pbVar15 = pbVar15 + 2;\nLAB_000347d7:\n    uVar9 = (uint)local_144[1];\n    goto LAB_00033f90;\n  }\n  local_134 = (int)(char)bVar1;\n  local_140 = (undefined *)local_148;\n  if (((PTR__sch_istable_001cefa0[uVar9 * 2] & 4) != 0) && (pbVar15[2] == 0x24)) {\n    local_140 = (undefined *)((int)(char)bVar1 - 0x31);\n    local_144 = pbVar15 + 3;\n    uVar9 = (uint)pbVar15[3];\n  }\n  pbVar21 = local_144;\n  pbVar15 = local_144 + 1;\n  switch(uVar9) {\n  case 0:\n    pbVar15 = local_144;\n    goto LAB_00033f90;\n  default:\n    goto LAB_000347d7;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    local_144 = (byte *)0x5;\n    break;\n  case 0x56:\n  case 0x57:\n  case 0x76:\n    local_144 = (byte *)0x4;\n    break;\n  case 100:\n  case 0x75:\n    local_144 = (byte *)0x1;\n    break;\n  case 0x6c:\n    bVar1 = local_144[1];\n    uVar9 = (uint)bVar1;\n    if ((bVar1 != 100) && (bVar1 != 0x75)) goto LAB_00033f90;\n    local_144 = (byte *)0x2;\n    pbVar15 = pbVar21 + 2;\n    break;\n  case 0x70:\n    local_144 = (byte *)0x3;\n    uVar9 = pbVar21[1] - 0x41;\n    if (((byte)uVar9 < 0x14) && ((0xe0103U >> (uVar9 & 0x1f) & 1) != 0)) {\n      pbVar15 = pbVar21 + 2;\n    }\n    break;\n  case 0x73:\n    local_144 = (byte *)0x3;\n  }\n  if (8 < local_140) {\n    local_148 = puVar13;\n                    \n    FUN_00033e90("../../ld/ldmisc.c",0xa9,"vfinfo",uVar9);\n  }\n  local_148 = (undefined4 *)((int)local_148 + 1);\n  local_ac[(int)local_140 * 4] = local_144;\n  uVar9 = (uint)*pbVar15;\n  goto LAB_00033f90;\nLAB_000340c2:\n  do {\n    pbVar15 = pbVar21;\n    bVar7 = pbVar15[1];\n    pbVar21 = pbVar15 + 1;\n    if (bVar7 == 0x25) break;\n  } while (bVar7 != 0);\n  if (param_2 != pbVar21) {\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + 0x150);\n    *(int *)(puVar18 + -8) = (int)pbVar21 - (int)param_2;\n    *(undefined4 *)(puVar18 + -0xc) = 1;\n    *(byte **)(puVar18 + -0x10) = param_2;\n    *(undefined4 *)(puVar18 + -0x14) = 0x340e9;\n    fwrite(*(void **)(puVar18 + -0x10),*(size_t *)(puVar18 + -0xc),*(size_t *)(puVar18 + -8),\n           *(FILE **)(puVar18 + -4));\n    bVar7 = pbVar15[1];\n  }\n  param_2 = pbVar21;\n  if (bVar7 != 0x25) goto joined_r0x000340a6;\nLAB_00034170:\n  bVar7 = param_2[1];\n  pbVar22 = param_2 + 1;\n  *(int *)(puVar18 + 8) = (int)(char)bVar7;\n  if (bVar7 == 0x30) {\n    *(undefined4 *)(puVar18 + 8) = 0x30;\n    param_2 = param_2 + 2;\n    goto LAB_0003421d;\n  }\n  pbVar15 = *(byte **)(puVar18 + 0xc);\n  iVar16 = *(int *)(puVar18 + 4);\n  if (((pbVar15[(uint)bVar7 * 2] & 4) != 0) && (param_2[2] == 0x24)) {\n    bVar7 = param_2[3];\n    iVar16 = *(int *)(puVar18 + 8);\n    pbVar22 = param_2 + 3;\n    *(int *)(puVar18 + 8) = (int)(char)bVar7;\n    iVar16 = iVar16 + -0x31;\n  }\n  param_2 = pbVar22 + 1;\n  switch(bVar7) {\n  case 0:\n    param_2 = pbVar22;\n  case 0x25:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = 0x25;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034207;\n    putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = *param_2;\n    goto joined_r0x000340a6;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    iVar16 = iVar16 * 0x10;\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pbVar15 = *(byte **)(puVar18 + iVar16 + 0xa0);\n    *(undefined4 *)(puVar18 + 0x1c) = *(undefined4 *)(puVar18 + iVar16 + 0xa4);\n    uVar12 = *(undefined4 *)(puVar18 + iVar16 + 0xac);\n    *(undefined4 *)(puVar18 + 0x20) = *(undefined4 *)(puVar18 + iVar16 + 0xa8);\n    *(undefined4 *)(puVar18 + 0x24) = uVar12;\n    if (pbVar15 == (byte *)0x0) {\ncode_r0x00034747:\n      *(byte **)(puVar18 + -8) = pbVar15;\n      *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003475e;\n      FUN_00034e30();\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x24) = &UNK_0003477e;\n      FUN_00034e30();\n    }\n    else {\n      *(byte **)(puVar18 + -0x10) = pbVar15;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034331;\n      iVar16 = bfd_generic_link_read_symbols();\n      if (iVar16 == 0) {\n        *(undefined4 *)(puVar18 + -8) = 5;\n        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar18 + -0x10) = 0;\n        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;\n        uVar12 = dcgettext();\n        *(byte **)(puVar18 + -0xc) = pbVar15;\n        *(undefined4 *)(puVar18 + -0x10) = uVar12;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;\n        FUN_00034d20();\n      }\n      iVar16 = *(int *)(pbVar15 + 4);\n      *(undefined4 *)(puVar18 + -0x10) = 0;\n      *(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c;\n      *(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38;\n      *(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78);\n      *(byte **)(puVar18 + -0x30) = pbVar15;\n      pcVar5 = *(code **)(iVar16 + 0x128);\n      *(undefined **)(puVar18 + -0x34) = &UNK_00034369;\n      iVar16 = (*pcVar5)();\n      if (iVar16 == 0) goto code_r0x00034747;\n      iVar16 = *(int *)(puVar18 + 0x38);\n      *(int *)(puVar18 + 8) = iVar16;\n      if ((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))) {\n        *(byte **)(puVar18 + -8) = pbVar15;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;\n        FUN_00034e30();\n        *(undefined4 *)(puVar18 + 0x18) = 1;\ncode_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }\n        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x38);\n        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;\n        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;\n        if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }\n        *(char **)(puVar18 + -4) = "";\n        *(int *)(puVar18 + -8) = iVar16;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      }\n      else {\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }\n      if (*(int *)(puVar18 + 0x18) == 0) goto code_r0x0003443a;\n    }\n    pbRam001d0878 = (byte *)0x0;\n    if (iRam001d0870 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0870;\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003479e;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0870 = 0;\n    }\n    if (iRam001d0874 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0874;\n      *(undefined **)(puVar18 + -0x14) = &UNK_000347c2;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0874 = 0;\n    }\ncode_r0x0003443a:\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x45:\n    *(undefined **)(puVar18 + -4) = &UNK_0003444a;\n    uVar12 = bfd_get_error();\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034453;\n    uVar12 = func_0x00016b10();\n    pbVar15 = *(byte **)(puVar18 + -0xc);\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034462;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x46:\n    bVar7 = pbVar22[1];\n    *(undefined4 *)(puVar18 + 0x10) = 1;\n    goto joined_r0x000340a6;\n  case 0x50:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = DAT_001d1558;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034695;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x56:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pcVar20 = "%016llx";\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    break;\n  case 0x57:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345d0;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345f5;\n    sVar11 = strlen(*(char **)(puVar18 + -0x10));\n    if (sVar11 < 8) {\n      *(byte **)(puVar18 + 8) = pbVar22;\n      uVar12 = *(undefined4 *)(puVar18 + 0x150);\n      *(byte **)(puVar18 + 0x18) = param_2;\n      do {\n        sVar11 = sVar11 + 1;\n        *(undefined4 *)(puVar18 + -0xc) = uVar12;\n        *(undefined4 *)(puVar18 + -0x10) = 0x20;\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003461c;\n        putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      } while (sVar11 != 8);\n      pbVar22 = *(byte **)(puVar18 + 8);\n      param_2 = *(byte **)(puVar18 + 0x18);\n    }\n    pcVar20 = "0x%s";\n    *(byte **)(puVar18 + -8) = pbVar15;\n    break;\n  case 0x58:\n    DAT_001d14e4 = 0;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 100:\n    puVar10 = &DAT_0006c013;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    goto code_r0x000344af;\n  case 0x6c:\n    if (pbVar22[1] == 100) {\n      puVar10 = &UNK_0007d7c3;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000342cd:\n      *(undefined **)(puVar18 + -0xc) = puVar10;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_000342dd;\n      fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n      bVar7 = pbVar22[2];\n      param_2 = pbVar22 + 2;\n      goto joined_r0x000340a6;\n    }\n    if (pbVar22[1] == 0x75) {\n      puVar10 = &UNK_0007d7c7;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n      goto code_r0x000342cd;\n    }\n  default:\nLAB_0003421d:\n    pcVar20 = "%%%c";\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + 8);\n    break;\n  case 0x70:\n    bVar7 = pbVar22[1];\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    if (bVar7 == 0x41) {\n      pbVar21 = pbVar22 + 2;\n      puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n      pbVar15 = (byte *)puVar13[0x2b];\n      *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined4 *)(puVar18 + -0x10) = *puVar13;\n      *(undefined4 **)(puVar18 + 8) = puVar13;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034a7f;\n      fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      iVar16 = *(int *)(puVar18 + 8);\n      if (pbVar15 != (byte *)0x0) {\n        if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }\n        if (iVar16 != 0) {\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }\n    }\n    else {\n      if (bVar7 == 0x42) {\n        pbVar21 = pbVar22 + 2;\n        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;\n        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);\n        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));\n        bVar7 = pbVar22[2];\n        puVar18 = puVar19 + 8;\n        param_2 = pbVar21;\n        goto joined_r0x000340a6;\n      }\n      if (bVar7 == 0x49) {\n        pbVar21 = pbVar22 + 2;\n        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);\n        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }\n    }\nLAB_000349da:\n    bVar7 = pbVar22[2];\n    param_2 = pbVar21;\n    goto joined_r0x000340a6;\n  case 0x73:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034489;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x75:\n    puVar10 = &UNK_0007d7b3;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000344af:\n    *(undefined **)(puVar18 + -0xc) = puVar10;\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined **)(puVar18 + -0x14) = &UNK_000344bc;\n    fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x76:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_0003426c;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034298;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  }\n  *(char **)(puVar18 + -0xc) = pcVar20;\n  *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n  *(undefined4 *)(puVar18 + -0x14) = 0x34237;\n  fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n  bVar7 = pbVar22[1];\n  goto joined_r0x000340a6;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "code *pcVar5;" type_identifier (pointer_declarator "*pcVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "byte bVar7;" type_identifier identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "size_t sVar11;" primitive_type identifier ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "undefined4 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "byte *pbVar15;" type_identifier (pointer_declarator "*pbVar15" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "undefined1 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "undefined1 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "undefined1 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "char *pcVar20;" primitive_type (pointer_declarator "*pcVar20" * identifier) ;) (declaration "byte *pbVar21;" type_identifier (pointer_declarator "*pbVar21" * identifier) ;) (declaration "byte *pbVar22;" type_identifier (pointer_declarator "*pbVar22" * identifier) ;) (declaration "undefined8 uVar23;" type_identifier identifier ;) (declaration "undefined1 auStack_14c [4];" type_identifier (array_declarator "auStack_14c [4]" identifier [ number_literal ]) ;) (declaration "undefined4 *local_148;" type_identifier (pointer_declarator "*local_148" * identifier) ;) (declaration "byte *local_144;" type_identifier (pointer_declarator "*local_144" * identifier) ;) (declaration "undefined *local_140;" type_identifier (pointer_declarator "*local_140" * identifier) ;) (declaration "undefined4 local_13c;" type_identifier identifier ;) (declaration "undefined4 *local_138;" type_identifier (pointer_declarator "*local_138" * identifier) ;) (declaration "int local_134;" primitive_type identifier ;) (declaration "undefined4 local_ac [36];" type_identifier (array_declarator "local_ac [36]" identifier [ number_literal ]) ;) (declaration "undefined4 local_1c [2];" type_identifier (array_declarator "local_1c [2]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x33f29;" (assignment_expression "uStack_14 = 0x33f29" identifier = number_literal) ;) (expression_statement "puVar18 = auStack_14c;" (assignment_expression "puVar18 = auStack_14c" identifier = identifier) ;) (expression_statement "puVar13 = local_ac;" (assignment_expression "puVar13 = local_ac" identifier = identifier) ;) (expression_statement "puVar8 = puVar13;" (assignment_expression "puVar8 = puVar13" identifier = identifier) ;) (do_statement "do {\n    *puVar8 = 0;\n    puVar8 = puVar8 + 4;\n  } while (local_1c != puVar8);" do (compound_statement "{\n    *puVar8 = 0;\n    puVar8 = puVar8 + 4;\n  }" { (expression_statement "*puVar8 = 0;" (assignment_expression "*puVar8 = 0" (pointer_expression "*puVar8" * identifier) = number_literal) ;) (expression_statement "puVar8 = puVar8 + 4;" (assignment_expression "puVar8 = puVar8 + 4" identifier = (binary_expression "puVar8 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_1c != puVar8)" ( (binary_expression "local_1c != puVar8" identifier != identifier) )) ;) (expression_statement "bVar7 = *param_2;" (assignment_expression "bVar7 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "local_148 = (undefined4 *)0x0;" (assignment_expression "local_148 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_13c = CONCAT31(local_13c._1_3_,bVar7);" (assignment_expression "local_13c = CONCAT31(local_13c._1_3_,bVar7)" identifier = (call_expression "CONCAT31(local_13c._1_3_,bVar7)" identifier (argument_list "(local_13c._1_3_,bVar7)" ( (field_expression "local_13c._1_3_" identifier . field_identifier) , identifier )))) ;) (expression_statement "local_138 = (undefined4 *)PTR__sch_istable_001cefa0;" (assignment_expression "local_138 = (undefined4 *)PTR__sch_istable_001cefa0" identifier = (cast_expression "(undefined4 *)PTR__sch_istable_001cefa0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar9 = (uint)bVar7;" (assignment_expression "uVar9 = (uint)bVar7" identifier = (cast_expression "(uint)bVar7" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pbVar15 = param_2;" (assignment_expression "pbVar15 = param_2" identifier = identifier) ;) (labeled_statement "LAB_00033f90:\n  if ((char)uVar9 != '\0') {\n    if ((char)uVar9 != '%') goto LAB_00033fb0;\n    goto LAB_00033fd0;\n  }" statement_identifier : (if_statement "if ((char)uVar9 != '\0') {\n    if ((char)uVar9 != '%') goto LAB_00033fb0;\n    goto LAB_00033fd0;\n  }" if (parenthesized_expression "((char)uVar9 != '\0')" ( (binary_expression "(char)uVar9 != '\0'" (cast_expression "(char)uVar9" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if ((char)uVar9 != '%') goto LAB_00033fb0;\n    goto LAB_00033fd0;\n  }" { (if_statement "if ((char)uVar9 != '%') goto LAB_00033fb0;" if (parenthesized_expression "((char)uVar9 != '%')" ( (binary_expression "(char)uVar9 != '%'" (cast_expression "(char)uVar9" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'%'" ' character ')) )) (goto_statement "goto LAB_00033fb0;" goto statement_identifier ;)) (goto_statement "goto LAB_00033fd0;" goto statement_identifier ;) }))) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (expression_statement "pbVar15 = param_3;" (assignment_expression "pbVar15 = param_3" identifier = identifier) ;) (if_statement "if (local_148 != (undefined4 *)0x0) {\n    do {\n      switch(*puVar13) {\n      default:\n                    \n        FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar15 = param_3 + 4;\n        *puVar13 = *(undefined4 *)param_3;\n        break;\n      case 4:\n        uVar12 = *(undefined4 *)(param_3 + 4);\n        pbVar15 = param_3 + 8;\n        *puVar13 = *(undefined4 *)param_3;\n        puVar13[1] = uVar12;\n        break;\n      case 5:\n        uVar12 = *(undefined4 *)(param_3 + 8);\n        pbVar15 = param_3 + 0x10;\n        uVar3 = *(undefined4 *)(param_3 + 0xc);\n        *puVar13 = *(undefined4 *)param_3;\n        uVar4 = *(undefined4 *)(param_3 + 4);\n        puVar13[2] = uVar12;\n        puVar13[1] = uVar4;\n        puVar13[3] = uVar3;\n      }\n      uVar9 = uVar9 + 1;\n      puVar13 = puVar13 + 4;\n      param_3 = pbVar15;\n    } while (local_148 != (undefined4 *)uVar9);\n  }" if (parenthesized_expression "(local_148 != (undefined4 *)0x0)" ( (binary_expression "local_148 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    do {\n      switch(*puVar13) {\n      default:\n                    \n        FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar15 = param_3 + 4;\n        *puVar13 = *(undefined4 *)param_3;\n        break;\n      case 4:\n        uVar12 = *(undefined4 *)(param_3 + 4);\n        pbVar15 = param_3 + 8;\n        *puVar13 = *(undefined4 *)param_3;\n        puVar13[1] = uVar12;\n        break;\n      case 5:\n        uVar12 = *(undefined4 *)(param_3 + 8);\n        pbVar15 = param_3 + 0x10;\n        uVar3 = *(undefined4 *)(param_3 + 0xc);\n        *puVar13 = *(undefined4 *)param_3;\n        uVar4 = *(undefined4 *)(param_3 + 4);\n        puVar13[2] = uVar12;\n        puVar13[1] = uVar4;\n        puVar13[3] = uVar3;\n      }\n      uVar9 = uVar9 + 1;\n      puVar13 = puVar13 + 4;\n      param_3 = pbVar15;\n    } while (local_148 != (undefined4 *)uVar9);\n  }" { (do_statement "do {\n      switch(*puVar13) {\n      default:\n                    \n        FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar15 = param_3 + 4;\n        *puVar13 = *(undefined4 *)param_3;\n        break;\n      case 4:\n        uVar12 = *(undefined4 *)(param_3 + 4);\n        pbVar15 = param_3 + 8;\n        *puVar13 = *(undefined4 *)param_3;\n        puVar13[1] = uVar12;\n        break;\n      case 5:\n        uVar12 = *(undefined4 *)(param_3 + 8);\n        pbVar15 = param_3 + 0x10;\n        uVar3 = *(undefined4 *)(param_3 + 0xc);\n        *puVar13 = *(undefined4 *)param_3;\n        uVar4 = *(undefined4 *)(param_3 + 4);\n        puVar13[2] = uVar12;\n        puVar13[1] = uVar4;\n        puVar13[3] = uVar3;\n      }\n      uVar9 = uVar9 + 1;\n      puVar13 = puVar13 + 4;\n      param_3 = pbVar15;\n    } while (local_148 != (undefined4 *)uVar9);" do (compound_statement "{\n      switch(*puVar13) {\n      default:\n                    \n        FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar15 = param_3 + 4;\n        *puVar13 = *(undefined4 *)param_3;\n        break;\n      case 4:\n        uVar12 = *(undefined4 *)(param_3 + 4);\n        pbVar15 = param_3 + 8;\n        *puVar13 = *(undefined4 *)param_3;\n        puVar13[1] = uVar12;\n        break;\n      case 5:\n        uVar12 = *(undefined4 *)(param_3 + 8);\n        pbVar15 = param_3 + 0x10;\n        uVar3 = *(undefined4 *)(param_3 + 0xc);\n        *puVar13 = *(undefined4 *)param_3;\n        uVar4 = *(undefined4 *)(param_3 + 4);\n        puVar13[2] = uVar12;\n        puVar13[1] = uVar4;\n        puVar13[3] = uVar3;\n      }\n      uVar9 = uVar9 + 1;\n      puVar13 = puVar13 + 4;\n      param_3 = pbVar15;\n    }" { (switch_statement "switch(*puVar13) {\n      default:\n                    \n        FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar15 = param_3 + 4;\n        *puVar13 = *(undefined4 *)param_3;\n        break;\n      case 4:\n        uVar12 = *(undefined4 *)(param_3 + 4);\n        pbVar15 = param_3 + 8;\n        *puVar13 = *(undefined4 *)param_3;\n        puVar13[1] = uVar12;\n        break;\n      case 5:\n        uVar12 = *(undefined4 *)(param_3 + 8);\n        pbVar15 = param_3 + 0x10;\n        uVar3 = *(undefined4 *)(param_3 + 0xc);\n        *puVar13 = *(undefined4 *)param_3;\n        uVar4 = *(undefined4 *)(param_3 + 4);\n        puVar13[2] = uVar12;\n        puVar13[1] = uVar4;\n        puVar13[3] = uVar3;\n      }" switch (parenthesized_expression "(*puVar13)" ( (pointer_expression "*puVar13" * identifier) )) (compound_statement "{\n      default:\n                    \n        FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar15 = param_3 + 4;\n        *puVar13 = *(undefined4 *)param_3;\n        break;\n      case 4:\n        uVar12 = *(undefined4 *)(param_3 + 4);\n        pbVar15 = param_3 + 8;\n        *puVar13 = *(undefined4 *)param_3;\n        puVar13[1] = uVar12;\n        break;\n      case 5:\n        uVar12 = *(undefined4 *)(param_3 + 8);\n        pbVar15 = param_3 + 0x10;\n        uVar3 = *(undefined4 *)(param_3 + 0xc);\n        *puVar13 = *(undefined4 *)param_3;\n        uVar4 = *(undefined4 *)(param_3 + 4);\n        puVar13[2] = uVar12;\n        puVar13[1] = uVar4;\n        puVar13[3] = uVar3;\n      }" { (case_statement "default:\n                    \n        FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");" default : (expression_statement "FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");" (call_expression "FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo")" identifier (argument_list "("../../ld/ldmisc.c",0xc6,"vfinfo")" ( (string_literal ""../../ld/ldmisc.c"" " string_content ") , number_literal , (string_literal ""vfinfo"" " string_content ") ))) ;)) (case_statement "case 1:" case number_literal :) (case_statement "case 2:" case number_literal :) (case_statement "case 3:\n        pbVar15 = param_3 + 4;\n        *puVar13 = *(undefined4 *)param_3;\n        break;" case number_literal : (expression_statement "pbVar15 = param_3 + 4;" (assignment_expression "pbVar15 = param_3 + 4" identifier = (binary_expression "param_3 + 4" identifier + number_literal)) ;) (expression_statement "*puVar13 = *(undefined4 *)param_3;" (assignment_expression "*puVar13 = *(undefined4 *)param_3" (pointer_expression "*puVar13" * identifier) = (pointer_expression "*(undefined4 *)param_3" * (cast_expression "(undefined4 *)param_3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n        uVar12 = *(undefined4 *)(param_3 + 4);\n        pbVar15 = param_3 + 8;\n        *puVar13 = *(undefined4 *)param_3;\n        puVar13[1] = uVar12;\n        break;" case number_literal : (expression_statement "uVar12 = *(undefined4 *)(param_3 + 4);" (assignment_expression "uVar12 = *(undefined4 *)(param_3 + 4)" identifier = (pointer_expression "*(undefined4 *)(param_3 + 4)" * (cast_expression "(undefined4 *)(param_3 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) ;) (expression_statement "pbVar15 = param_3 + 8;" (assignment_expression "pbVar15 = param_3 + 8" identifier = (binary_expression "param_3 + 8" identifier + number_literal)) ;) (expression_statement "*puVar13 = *(undefined4 *)param_3;" (assignment_expression "*puVar13 = *(undefined4 *)param_3" (pointer_expression "*puVar13" * identifier) = (pointer_expression "*(undefined4 *)param_3" * (cast_expression "(undefined4 *)param_3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar13[1] = uVar12;" (assignment_expression "puVar13[1] = uVar12" (subscript_expression "puVar13[1]" identifier [ number_literal ]) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n        uVar12 = *(undefined4 *)(param_3 + 8);\n        pbVar15 = param_3 + 0x10;\n        uVar3 = *(undefined4 *)(param_3 + 0xc);\n        *puVar13 = *(undefined4 *)param_3;\n        uVar4 = *(undefined4 *)(param_3 + 4);\n        puVar13[2] = uVar12;\n        puVar13[1] = uVar4;\n        puVar13[3] = uVar3;" case number_literal : (expression_statement "uVar12 = *(undefined4 *)(param_3 + 8);" (assignment_expression "uVar12 = *(undefined4 *)(param_3 + 8)" identifier = (pointer_expression "*(undefined4 *)(param_3 + 8)" * (cast_expression "(undefined4 *)(param_3 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 8)" ( (binary_expression "param_3 + 8" identifier + number_literal) ))))) ;) (expression_statement "pbVar15 = param_3 + 0x10;" (assignment_expression "pbVar15 = param_3 + 0x10" identifier = (binary_expression "param_3 + 0x10" identifier + number_literal)) ;) (expression_statement "uVar3 = *(undefined4 *)(param_3 + 0xc);" (assignment_expression "uVar3 = *(undefined4 *)(param_3 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(param_3 + 0xc)" * (cast_expression "(undefined4 *)(param_3 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*puVar13 = *(undefined4 *)param_3;" (assignment_expression "*puVar13 = *(undefined4 *)param_3" (pointer_expression "*puVar13" * identifier) = (pointer_expression "*(undefined4 *)param_3" * (cast_expression "(undefined4 *)param_3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar4 = *(undefined4 *)(param_3 + 4);" (assignment_expression "uVar4 = *(undefined4 *)(param_3 + 4)" identifier = (pointer_expression "*(undefined4 *)(param_3 + 4)" * (cast_expression "(undefined4 *)(param_3 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) ;) (expression_statement "puVar13[2] = uVar12;" (assignment_expression "puVar13[2] = uVar12" (subscript_expression "puVar13[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar13[1] = uVar4;" (assignment_expression "puVar13[1] = uVar4" (subscript_expression "puVar13[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar13[3] = uVar3;" (assignment_expression "puVar13[3] = uVar3" (subscript_expression "puVar13[3]" identifier [ number_literal ]) = identifier) ;)) })) (expression_statement "uVar9 = uVar9 + 1;" (assignment_expression "uVar9 = uVar9 + 1" identifier = (binary_expression "uVar9 + 1" identifier + number_literal)) ;) (expression_statement "puVar13 = puVar13 + 4;" (assignment_expression "puVar13 = puVar13 + 4" identifier = (binary_expression "puVar13 + 4" identifier + number_literal)) ;) (expression_statement "param_3 = pbVar15;" (assignment_expression "param_3 = pbVar15" identifier = identifier) ;) }) while (parenthesized_expression "(local_148 != (undefined4 *)uVar9)" ( (binary_expression "local_148 != (undefined4 *)uVar9" identifier != (cast_expression "(undefined4 *)uVar9" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) ;) })) (expression_statement "local_148 = (undefined4 *)0x0;" (assignment_expression "local_148 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_13c = 0;" (assignment_expression "local_13c = 0" identifier = number_literal) ;) (expression_statement "local_140 = PTR__sch_istable_001cefa0;" (assignment_expression "local_140 = PTR__sch_istable_001cefa0" identifier = identifier) ;) (expression_statement "local_138 = &DAT_001d13c4;" (assignment_expression "local_138 = &DAT_001d13c4" identifier = (pointer_expression "&DAT_001d13c4" & identifier)) ;) (labeled_statement "joined_r0x000340a6:\n  if (bVar7 != 0) {\n    pbVar21 = param_2;\n    pbVar15 = param_2;\n    if (bVar7 != 0x25) goto LAB_000340c2;\n    goto LAB_00034170;\n  }" statement_identifier : (if_statement "if (bVar7 != 0) {\n    pbVar21 = param_2;\n    pbVar15 = param_2;\n    if (bVar7 != 0x25) goto LAB_000340c2;\n    goto LAB_00034170;\n  }" if (parenthesized_expression "(bVar7 != 0)" ( (binary_expression "bVar7 != 0" identifier != number_literal) )) (compound_statement "{\n    pbVar21 = param_2;\n    pbVar15 = param_2;\n    if (bVar7 != 0x25) goto LAB_000340c2;\n    goto LAB_00034170;\n  }" { (expression_statement "pbVar21 = param_2;" (assignment_expression "pbVar21 = param_2" identifier = identifier) ;) (expression_statement "pbVar15 = param_2;" (assignment_expression "pbVar15 = param_2" identifier = identifier) ;) (if_statement "if (bVar7 != 0x25) goto LAB_000340c2;" if (parenthesized_expression "(bVar7 != 0x25)" ( (binary_expression "bVar7 != 0x25" identifier != number_literal) )) (goto_statement "goto LAB_000340c2;" goto statement_identifier ;)) (goto_statement "goto LAB_00034170;" goto statement_identifier ;) }))) (expression_statement "pbVar21 = *(byte **)(puVar18 + 0x15c);" (assignment_expression "pbVar21 = *(byte **)(puVar18 + 0x15c)" identifier = (pointer_expression "*(byte **)(puVar18 + 0x15c)" * (cast_expression "(byte **)(puVar18 + 0x15c)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x15c)" ( (binary_expression "puVar18 + 0x15c" identifier + number_literal) ))))) ;) (if_statement "if ((pbVar21 != (byte *)0x0) && (DAT_001d1508 != 0)) {\n    DAT_001d14e4 = 0;\n  }" if (parenthesized_expression "((pbVar21 != (byte *)0x0) && (DAT_001d1508 != 0))" ( (binary_expression "(pbVar21 != (byte *)0x0) && (DAT_001d1508 != 0)" (parenthesized_expression "(pbVar21 != (byte *)0x0)" ( (binary_expression "pbVar21 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(DAT_001d1508 != 0)" ( (binary_expression "DAT_001d1508 != 0" identifier != number_literal) ))) )) (compound_statement "{\n    DAT_001d14e4 = 0;\n  }" { (expression_statement "DAT_001d14e4 = 0;" (assignment_expression "DAT_001d14e4 = 0" identifier = number_literal) ;) })) (if_statement "if (*(int *)(puVar18 + 0x10) == 0) {\n    return;\n  }" if (parenthesized_expression "(*(int *)(puVar18 + 0x10) == 0)" ( (binary_expression "*(int *)(puVar18 + 0x10) == 0" (pointer_expression "*(int *)(puVar18 + 0x10)" * (cast_expression "(int *)(puVar18 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x10)" ( (binary_expression "puVar18 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x34be1;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x34be1" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar13 = (undefined4 *)xexit();" (assignment_expression "puVar13 = (undefined4 *)xexit()" identifier = (cast_expression "(undefined4 *)xexit()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xexit()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puVar18 = puVar18 + -0x10;" (assignment_expression "puVar18 = puVar18 + -0x10" identifier = (binary_expression "puVar18 + -0x10" identifier + number_literal)) ;) (expression_statement "pbVar22 = param_2;" (assignment_expression "pbVar22 = param_2" identifier = identifier) ;) (goto_statement "goto code_r0x00034be8;" goto statement_identifier ;) (labeled_statement "LAB_00033fb0:\n  do {\n    pbVar15 = pbVar15 + 1;\n    bVar1 = *pbVar15;\n    uVar9 = (uint)bVar1;\n    if (bVar1 == 0x25) break;\n  } while (bVar1 != 0);" statement_identifier : (do_statement "do {\n    pbVar15 = pbVar15 + 1;\n    bVar1 = *pbVar15;\n    uVar9 = (uint)bVar1;\n    if (bVar1 == 0x25) break;\n  } while (bVar1 != 0);" do (compound_statement "{\n    pbVar15 = pbVar15 + 1;\n    bVar1 = *pbVar15;\n    uVar9 = (uint)bVar1;\n    if (bVar1 == 0x25) break;\n  }" { (expression_statement "pbVar15 = pbVar15 + 1;" (assignment_expression "pbVar15 = pbVar15 + 1" identifier = (binary_expression "pbVar15 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = *pbVar15;" (assignment_expression "bVar1 = *pbVar15" identifier = (pointer_expression "*pbVar15" * identifier)) ;) (expression_statement "uVar9 = (uint)bVar1;" (assignment_expression "uVar9 = (uint)bVar1" identifier = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (bVar1 == 0x25) break;" if (parenthesized_expression "(bVar1 == 0x25)" ( (binary_expression "bVar1 == 0x25" identifier == number_literal) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "(bVar1 != 0)" ( (binary_expression "bVar1 != 0" identifier != number_literal) )) ;)) (if_statement "if (bVar1 != 0x25) goto LAB_00033f90;" if (parenthesized_expression "(bVar1 != 0x25)" ( (binary_expression "bVar1 != 0x25" identifier != number_literal) )) (goto_statement "goto LAB_00033f90;" goto statement_identifier ;)) (labeled_statement "LAB_00033fd0:\n  local_144 = pbVar15 + 1;" statement_identifier : (expression_statement "local_144 = pbVar15 + 1;" (assignment_expression "local_144 = pbVar15 + 1" identifier = (binary_expression "pbVar15 + 1" identifier + number_literal)) ;)) (expression_statement "bVar1 = pbVar15[1];" (assignment_expression "bVar1 = pbVar15[1]" identifier = (subscript_expression "pbVar15[1]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = (uint)bVar1;" (assignment_expression "uVar9 = (uint)bVar1" identifier = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (bVar1 == 0x30) {\n    pbVar15 = pbVar15 + 2;\nLAB_000347d7:\n    uVar9 = (uint)local_144[1];\n    goto LAB_00033f90;\n  }" if (parenthesized_expression "(bVar1 == 0x30)" ( (binary_expression "bVar1 == 0x30" identifier == number_literal) )) (compound_statement "{\n    pbVar15 = pbVar15 + 2;\nLAB_000347d7:\n    uVar9 = (uint)local_144[1];\n    goto LAB_00033f90;\n  }" { (expression_statement "pbVar15 = pbVar15 + 2;" (assignment_expression "pbVar15 = pbVar15 + 2" identifier = (binary_expression "pbVar15 + 2" identifier + number_literal)) ;) (labeled_statement "LAB_000347d7:\n    uVar9 = (uint)local_144[1];" statement_identifier : (expression_statement "uVar9 = (uint)local_144[1];" (assignment_expression "uVar9 = (uint)local_144[1]" identifier = (cast_expression "(uint)local_144[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_144[1]" identifier [ number_literal ]))) ;)) (goto_statement "goto LAB_00033f90;" goto statement_identifier ;) })) (expression_statement "local_134 = (int)(char)bVar1;" (assignment_expression "local_134 = (int)(char)bVar1" identifier = (cast_expression "(int)(char)bVar1" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "local_140 = (undefined *)local_148;" (assignment_expression "local_140 = (undefined *)local_148" identifier = (cast_expression "(undefined *)local_148" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (((PTR__sch_istable_001cefa0[uVar9 * 2] & 4) != 0) && (pbVar15[2] == 0x24)) {\n    local_140 = (undefined *)((int)(char)bVar1 - 0x31);\n    local_144 = pbVar15 + 3;\n    uVar9 = (uint)pbVar15[3];\n  }" if (parenthesized_expression "(((PTR__sch_istable_001cefa0[uVar9 * 2] & 4) != 0) && (pbVar15[2] == 0x24))" ( (binary_expression "((PTR__sch_istable_001cefa0[uVar9 * 2] & 4) != 0) && (pbVar15[2] == 0x24)" (parenthesized_expression "((PTR__sch_istable_001cefa0[uVar9 * 2] & 4) != 0)" ( (binary_expression "(PTR__sch_istable_001cefa0[uVar9 * 2] & 4) != 0" (parenthesized_expression "(PTR__sch_istable_001cefa0[uVar9 * 2] & 4)" ( (binary_expression "PTR__sch_istable_001cefa0[uVar9 * 2] & 4" (subscript_expression "PTR__sch_istable_001cefa0[uVar9 * 2]" identifier [ (binary_expression "uVar9 * 2" identifier * number_literal) ]) & number_literal) )) != number_literal) )) && (parenthesized_expression "(pbVar15[2] == 0x24)" ( (binary_expression "pbVar15[2] == 0x24" (subscript_expression "pbVar15[2]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n    local_140 = (undefined *)((int)(char)bVar1 - 0x31);\n    local_144 = pbVar15 + 3;\n    uVar9 = (uint)pbVar15[3];\n  }" { (expression_statement "local_140 = (undefined *)((int)(char)bVar1 - 0x31);" (assignment_expression "local_140 = (undefined *)((int)(char)bVar1 - 0x31)" identifier = (cast_expression "(undefined *)((int)(char)bVar1 - 0x31)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(char)bVar1 - 0x31)" ( (binary_expression "(int)(char)bVar1 - 0x31" (cast_expression "(int)(char)bVar1" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier)) - number_literal) )))) ;) (expression_statement "local_144 = pbVar15 + 3;" (assignment_expression "local_144 = pbVar15 + 3" identifier = (binary_expression "pbVar15 + 3" identifier + number_literal)) ;) (expression_statement "uVar9 = (uint)pbVar15[3];" (assignment_expression "uVar9 = (uint)pbVar15[3]" identifier = (cast_expression "(uint)pbVar15[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar15[3]" identifier [ number_literal ]))) ;) })) (expression_statement "pbVar21 = local_144;" (assignment_expression "pbVar21 = local_144" identifier = identifier) ;) (expression_statement "pbVar15 = local_144 + 1;" (assignment_expression "pbVar15 = local_144 + 1" identifier = (binary_expression "local_144 + 1" identifier + number_literal)) ;) (switch_statement "switch(uVar9) {\n  case 0:\n    pbVar15 = local_144;\n    goto LAB_00033f90;\n  default:\n    goto LAB_000347d7;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    local_144 = (byte *)0x5;\n    break;\n  case 0x56:\n  case 0x57:\n  case 0x76:\n    local_144 = (byte *)0x4;\n    break;\n  case 100:\n  case 0x75:\n    local_144 = (byte *)0x1;\n    break;\n  case 0x6c:\n    bVar1 = local_144[1];\n    uVar9 = (uint)bVar1;\n    if ((bVar1 != 100) && (bVar1 != 0x75)) goto LAB_00033f90;\n    local_144 = (byte *)0x2;\n    pbVar15 = pbVar21 + 2;\n    break;\n  case 0x70:\n    local_144 = (byte *)0x3;\n    uVar9 = pbVar21[1] - 0x41;\n    if (((byte)uVar9 < 0x14) && ((0xe0103U >> (uVar9 & 0x1f) & 1) != 0)) {\n      pbVar15 = pbVar21 + 2;\n    }\n    break;\n  case 0x73:\n    local_144 = (byte *)0x3;\n  }" switch (parenthesized_expression "(uVar9)" ( identifier )) (compound_statement "{\n  case 0:\n    pbVar15 = local_144;\n    goto LAB_00033f90;\n  default:\n    goto LAB_000347d7;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    local_144 = (byte *)0x5;\n    break;\n  case 0x56:\n  case 0x57:\n  case 0x76:\n    local_144 = (byte *)0x4;\n    break;\n  case 100:\n  case 0x75:\n    local_144 = (byte *)0x1;\n    break;\n  case 0x6c:\n    bVar1 = local_144[1];\n    uVar9 = (uint)bVar1;\n    if ((bVar1 != 100) && (bVar1 != 0x75)) goto LAB_00033f90;\n    local_144 = (byte *)0x2;\n    pbVar15 = pbVar21 + 2;\n    break;\n  case 0x70:\n    local_144 = (byte *)0x3;\n    uVar9 = pbVar21[1] - 0x41;\n    if (((byte)uVar9 < 0x14) && ((0xe0103U >> (uVar9 & 0x1f) & 1) != 0)) {\n      pbVar15 = pbVar21 + 2;\n    }\n    break;\n  case 0x73:\n    local_144 = (byte *)0x3;\n  }" { (case_statement "case 0:\n    pbVar15 = local_144;\n    goto LAB_00033f90;" case number_literal : (expression_statement "pbVar15 = local_144;" (assignment_expression "pbVar15 = local_144" identifier = identifier) ;) (goto_statement "goto LAB_00033f90;" goto statement_identifier ;)) (case_statement "default:\n    goto LAB_000347d7;" default : (goto_statement "goto LAB_000347d7;" goto statement_identifier ;)) (case_statement "case 0x43:" case number_literal :) (case_statement "case 0x44:" case number_literal :) (case_statement "case 0x47:" case number_literal :) (case_statement "case 0x48:\n    local_144 = (byte *)0x5;\n    break;" case number_literal : (expression_statement "local_144 = (byte *)0x5;" (assignment_expression "local_144 = (byte *)0x5" identifier = (cast_expression "(byte *)0x5" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x56:" case number_literal :) (case_statement "case 0x57:" case number_literal :) (case_statement "case 0x76:\n    local_144 = (byte *)0x4;\n    break;" case number_literal : (expression_statement "local_144 = (byte *)0x4;" (assignment_expression "local_144 = (byte *)0x4" identifier = (cast_expression "(byte *)0x4" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 100:" case number_literal :) (case_statement "case 0x75:\n    local_144 = (byte *)0x1;\n    break;" case number_literal : (expression_statement "local_144 = (byte *)0x1;" (assignment_expression "local_144 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x6c:\n    bVar1 = local_144[1];\n    uVar9 = (uint)bVar1;\n    if ((bVar1 != 100) && (bVar1 != 0x75)) goto LAB_00033f90;\n    local_144 = (byte *)0x2;\n    pbVar15 = pbVar21 + 2;\n    break;" case number_literal : (expression_statement "bVar1 = local_144[1];" (assignment_expression "bVar1 = local_144[1]" identifier = (subscript_expression "local_144[1]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = (uint)bVar1;" (assignment_expression "uVar9 = (uint)bVar1" identifier = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((bVar1 != 100) && (bVar1 != 0x75)) goto LAB_00033f90;" if (parenthesized_expression "((bVar1 != 100) && (bVar1 != 0x75))" ( (binary_expression "(bVar1 != 100) && (bVar1 != 0x75)" (parenthesized_expression "(bVar1 != 100)" ( (binary_expression "bVar1 != 100" identifier != number_literal) )) && (parenthesized_expression "(bVar1 != 0x75)" ( (binary_expression "bVar1 != 0x75" identifier != number_literal) ))) )) (goto_statement "goto LAB_00033f90;" goto statement_identifier ;)) (expression_statement "local_144 = (byte *)0x2;" (assignment_expression "local_144 = (byte *)0x2" identifier = (cast_expression "(byte *)0x2" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar15 = pbVar21 + 2;" (assignment_expression "pbVar15 = pbVar21 + 2" identifier = (binary_expression "pbVar21 + 2" identifier + number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x70:\n    local_144 = (byte *)0x3;\n    uVar9 = pbVar21[1] - 0x41;\n    if (((byte)uVar9 < 0x14) && ((0xe0103U >> (uVar9 & 0x1f) & 1) != 0)) {\n      pbVar15 = pbVar21 + 2;\n    }\n    break;" case number_literal : (expression_statement "local_144 = (byte *)0x3;" (assignment_expression "local_144 = (byte *)0x3" identifier = (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar9 = pbVar21[1] - 0x41;" (assignment_expression "uVar9 = pbVar21[1] - 0x41" identifier = (binary_expression "pbVar21[1] - 0x41" (subscript_expression "pbVar21[1]" identifier [ number_literal ]) - number_literal)) ;) (if_statement "if (((byte)uVar9 < 0x14) && ((0xe0103U >> (uVar9 & 0x1f) & 1) != 0)) {\n      pbVar15 = pbVar21 + 2;\n    }" if (parenthesized_expression "(((byte)uVar9 < 0x14) && ((0xe0103U >> (uVar9 & 0x1f) & 1) != 0))" ( (binary_expression "((byte)uVar9 < 0x14) && ((0xe0103U >> (uVar9 & 0x1f) & 1) != 0)" (parenthesized_expression "((byte)uVar9 < 0x14)" ( (binary_expression "(byte)uVar9 < 0x14" (cast_expression "(byte)uVar9" ( (type_descriptor "byte" type_identifier) ) identifier) < number_literal) )) && (parenthesized_expression "((0xe0103U >> (uVar9 & 0x1f) & 1) != 0)" ( (binary_expression "(0xe0103U >> (uVar9 & 0x1f) & 1) != 0" (parenthesized_expression "(0xe0103U >> (uVar9 & 0x1f) & 1)" ( (binary_expression "0xe0103U >> (uVar9 & 0x1f) & 1" (binary_expression "0xe0103U >> (uVar9 & 0x1f)" number_literal >> (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) ))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n      pbVar15 = pbVar21 + 2;\n    }" { (expression_statement "pbVar15 = pbVar21 + 2;" (assignment_expression "pbVar15 = pbVar21 + 2" identifier = (binary_expression "pbVar21 + 2" identifier + number_literal)) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x73:\n    local_144 = (byte *)0x3;" case number_literal : (expression_statement "local_144 = (byte *)0x3;" (assignment_expression "local_144 = (byte *)0x3" identifier = (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) })) (if_statement "if (8 < local_140) {\n    local_148 = puVar13;\n                    \n    FUN_00033e90("../../ld/ldmisc.c",0xa9,"vfinfo",uVar9);\n  }" if (parenthesized_expression "(8 < local_140)" ( (binary_expression "8 < local_140" number_literal < identifier) )) (compound_statement "{\n    local_148 = puVar13;\n                    \n    FUN_00033e90("../../ld/ldmisc.c",0xa9,"vfinfo",uVar9);\n  }" { (expression_statement "local_148 = puVar13;" (assignment_expression "local_148 = puVar13" identifier = identifier) ;) (expression_statement "FUN_00033e90("../../ld/ldmisc.c",0xa9,"vfinfo",uVar9);" (call_expression "FUN_00033e90("../../ld/ldmisc.c",0xa9,"vfinfo",uVar9)" identifier (argument_list "("../../ld/ldmisc.c",0xa9,"vfinfo",uVar9)" ( (string_literal ""../../ld/ldmisc.c"" " string_content ") , number_literal , (string_literal ""vfinfo"" " string_content ") , identifier ))) ;) })) (expression_statement "local_148 = (undefined4 *)((int)local_148 + 1);" (assignment_expression "local_148 = (undefined4 *)((int)local_148 + 1)" identifier = (cast_expression "(undefined4 *)((int)local_148 + 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_148 + 1)" ( (binary_expression "(int)local_148 + 1" (cast_expression "(int)local_148" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_ac[(int)local_140 * 4] = local_144;" (assignment_expression "local_ac[(int)local_140 * 4] = local_144" (subscript_expression "local_ac[(int)local_140 * 4]" identifier [ (binary_expression "(int)local_140 * 4" (cast_expression "(int)local_140" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ]) = identifier) ;) (expression_statement "uVar9 = (uint)*pbVar15;" (assignment_expression "uVar9 = (uint)*pbVar15" identifier = (binary_expression "(uint)*pbVar15" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (goto_statement "goto LAB_00033f90;" goto statement_identifier ;) (labeled_statement "LAB_000340c2:\n  do {\n    pbVar15 = pbVar21;\n    bVar7 = pbVar15[1];\n    pbVar21 = pbVar15 + 1;\n    if (bVar7 == 0x25) break;\n  } while (bVar7 != 0);" statement_identifier : (do_statement "do {\n    pbVar15 = pbVar21;\n    bVar7 = pbVar15[1];\n    pbVar21 = pbVar15 + 1;\n    if (bVar7 == 0x25) break;\n  } while (bVar7 != 0);" do (compound_statement "{\n    pbVar15 = pbVar21;\n    bVar7 = pbVar15[1];\n    pbVar21 = pbVar15 + 1;\n    if (bVar7 == 0x25) break;\n  }" { (expression_statement "pbVar15 = pbVar21;" (assignment_expression "pbVar15 = pbVar21" identifier = identifier) ;) (expression_statement "bVar7 = pbVar15[1];" (assignment_expression "bVar7 = pbVar15[1]" identifier = (subscript_expression "pbVar15[1]" identifier [ number_literal ])) ;) (expression_statement "pbVar21 = pbVar15 + 1;" (assignment_expression "pbVar21 = pbVar15 + 1" identifier = (binary_expression "pbVar15 + 1" identifier + number_literal)) ;) (if_statement "if (bVar7 == 0x25) break;" if (parenthesized_expression "(bVar7 == 0x25)" ( (binary_expression "bVar7 == 0x25" identifier == number_literal) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "(bVar7 != 0)" ( (binary_expression "bVar7 != 0" identifier != number_literal) )) ;)) (if_statement "if (param_2 != pbVar21) {\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + 0x150);\n    *(int *)(puVar18 + -8) = (int)pbVar21 - (int)param_2;\n    *(undefined4 *)(puVar18 + -0xc) = 1;\n    *(byte **)(puVar18 + -0x10) = param_2;\n    *(undefined4 *)(puVar18 + -0x14) = 0x340e9;\n    fwrite(*(void **)(puVar18 + -0x10),*(size_t *)(puVar18 + -0xc),*(size_t *)(puVar18 + -8),\n           *(FILE **)(puVar18 + -4));\n    bVar7 = pbVar15[1];\n  }" if (parenthesized_expression "(param_2 != pbVar21)" ( (binary_expression "param_2 != pbVar21" identifier != identifier) )) (compound_statement "{\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + 0x150);\n    *(int *)(puVar18 + -8) = (int)pbVar21 - (int)param_2;\n    *(undefined4 *)(puVar18 + -0xc) = 1;\n    *(byte **)(puVar18 + -0x10) = param_2;\n    *(undefined4 *)(puVar18 + -0x14) = 0x340e9;\n    fwrite(*(void **)(puVar18 + -0x10),*(size_t *)(puVar18 + -0xc),*(size_t *)(puVar18 + -8),\n           *(FILE **)(puVar18 + -4));\n    bVar7 = pbVar15[1];\n  }" { (expression_statement "*(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -4)" * (cast_expression "(undefined4 *)(puVar18 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar18 + -8) = (int)pbVar21 - (int)param_2;" (assignment_expression "*(int *)(puVar18 + -8) = (int)pbVar21 - (int)param_2" (pointer_expression "*(int *)(puVar18 + -8)" * (cast_expression "(int *)(puVar18 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = (binary_expression "(int)pbVar21 - (int)param_2" (cast_expression "(int)pbVar21" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" * (cast_expression "(undefined4 *)(puVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(byte **)(puVar18 + -0x10) = param_2;" (assignment_expression "*(byte **)(puVar18 + -0x10) = param_2" (pointer_expression "*(byte **)(puVar18 + -0x10)" * (cast_expression "(byte **)(puVar18 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x340e9;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x340e9" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fwrite(*(void **)(puVar18 + -0x10),*(size_t *)(puVar18 + -0xc),*(size_t *)(puVar18 + -8),\n           *(FILE **)(puVar18 + -4));" (call_expression "fwrite(*(void **)(puVar18 + -0x10),*(size_t *)(puVar18 + -0xc),*(size_t *)(puVar18 + -8),\n           *(FILE **)(puVar18 + -4))" identifier (argument_list "(*(void **)(puVar18 + -0x10),*(size_t *)(puVar18 + -0xc),*(size_t *)(puVar18 + -8),\n           *(FILE **)(puVar18 + -4))" ( (pointer_expression "*(void **)(puVar18 + -0x10)" * (cast_expression "(void **)(puVar18 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar18 + -0xc)" * (cast_expression "(size_t *)(puVar18 + -0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar18 + -8)" * (cast_expression "(size_t *)(puVar18 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar18 + -4)" * (cast_expression "(FILE **)(puVar18 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) ))) ;) (expression_statement "bVar7 = pbVar15[1];" (assignment_expression "bVar7 = pbVar15[1]" identifier = (subscript_expression "pbVar15[1]" identifier [ number_literal ])) ;) })) (expression_statement "param_2 = pbVar21;" (assignment_expression "param_2 = pbVar21" identifier = identifier) ;) (if_statement "if (bVar7 != 0x25) goto joined_r0x000340a6;" if (parenthesized_expression "(bVar7 != 0x25)" ( (binary_expression "bVar7 != 0x25" identifier != number_literal) )) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) (labeled_statement "LAB_00034170:\n  bVar7 = param_2[1];" statement_identifier : (expression_statement "bVar7 = param_2[1];" (assignment_expression "bVar7 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;)) (expression_statement "pbVar22 = param_2 + 1;" (assignment_expression "pbVar22 = param_2 + 1" identifier = (binary_expression "param_2 + 1" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar18 + 8) = (int)(char)bVar7;" (assignment_expression "*(int *)(puVar18 + 8) = (int)(char)bVar7" (pointer_expression "*(int *)(puVar18 + 8)" * (cast_expression "(int *)(puVar18 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) )))) = (cast_expression "(int)(char)bVar7" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar7" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (if_statement "if (bVar7 == 0x30) {\n    *(undefined4 *)(puVar18 + 8) = 0x30;\n    param_2 = param_2 + 2;\n    goto LAB_0003421d;\n  }" if (parenthesized_expression "(bVar7 == 0x30)" ( (binary_expression "bVar7 == 0x30" identifier == number_literal) )) (compound_statement "{\n    *(undefined4 *)(puVar18 + 8) = 0x30;\n    param_2 = param_2 + 2;\n    goto LAB_0003421d;\n  }" { (expression_statement "*(undefined4 *)(puVar18 + 8) = 0x30;" (assignment_expression "*(undefined4 *)(puVar18 + 8) = 0x30" (pointer_expression "*(undefined4 *)(puVar18 + 8)" * (cast_expression "(undefined4 *)(puVar18 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_2 = param_2 + 2;" (assignment_expression "param_2 = param_2 + 2" identifier = (binary_expression "param_2 + 2" identifier + number_literal)) ;) (goto_statement "goto LAB_0003421d;" goto statement_identifier ;) })) (expression_statement "pbVar15 = *(byte **)(puVar18 + 0xc);" (assignment_expression "pbVar15 = *(byte **)(puVar18 + 0xc)" identifier = (pointer_expression "*(byte **)(puVar18 + 0xc)" * (cast_expression "(byte **)(puVar18 + 0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0xc)" ( (binary_expression "puVar18 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar16 = *(int *)(puVar18 + 4);" (assignment_expression "iVar16 = *(int *)(puVar18 + 4)" identifier = (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) ))))) ;) (if_statement "if (((pbVar15[(uint)bVar7 * 2] & 4) != 0) && (param_2[2] == 0x24)) {\n    bVar7 = param_2[3];\n    iVar16 = *(int *)(puVar18 + 8);\n    pbVar22 = param_2 + 3;\n    *(int *)(puVar18 + 8) = (int)(char)bVar7;\n    iVar16 = iVar16 + -0x31;\n  }" if (parenthesized_expression "(((pbVar15[(uint)bVar7 * 2] & 4) != 0) && (param_2[2] == 0x24))" ( (binary_expression "((pbVar15[(uint)bVar7 * 2] & 4) != 0) && (param_2[2] == 0x24)" (parenthesized_expression "((pbVar15[(uint)bVar7 * 2] & 4) != 0)" ( (binary_expression "(pbVar15[(uint)bVar7 * 2] & 4) != 0" (parenthesized_expression "(pbVar15[(uint)bVar7 * 2] & 4)" ( (binary_expression "pbVar15[(uint)bVar7 * 2] & 4" (subscript_expression "pbVar15[(uint)bVar7 * 2]" identifier [ (binary_expression "(uint)bVar7 * 2" (cast_expression "(uint)bVar7" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) ]) & number_literal) )) != number_literal) )) && (parenthesized_expression "(param_2[2] == 0x24)" ( (binary_expression "param_2[2] == 0x24" (subscript_expression "param_2[2]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n    bVar7 = param_2[3];\n    iVar16 = *(int *)(puVar18 + 8);\n    pbVar22 = param_2 + 3;\n    *(int *)(puVar18 + 8) = (int)(char)bVar7;\n    iVar16 = iVar16 + -0x31;\n  }" { (expression_statement "bVar7 = param_2[3];" (assignment_expression "bVar7 = param_2[3]" identifier = (subscript_expression "param_2[3]" identifier [ number_literal ])) ;) (expression_statement "iVar16 = *(int *)(puVar18 + 8);" (assignment_expression "iVar16 = *(int *)(puVar18 + 8)" identifier = (pointer_expression "*(int *)(puVar18 + 8)" * (cast_expression "(int *)(puVar18 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) ))))) ;) (expression_statement "pbVar22 = param_2 + 3;" (assignment_expression "pbVar22 = param_2 + 3" identifier = (binary_expression "param_2 + 3" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar18 + 8) = (int)(char)bVar7;" (assignment_expression "*(int *)(puVar18 + 8) = (int)(char)bVar7" (pointer_expression "*(int *)(puVar18 + 8)" * (cast_expression "(int *)(puVar18 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) )))) = (cast_expression "(int)(char)bVar7" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar7" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "iVar16 = iVar16 + -0x31;" (assignment_expression "iVar16 = iVar16 + -0x31" identifier = (binary_expression "iVar16 + -0x31" identifier + number_literal)) ;) })) (expression_statement "param_2 = pbVar22 + 1;" (assignment_expression "param_2 = pbVar22 + 1" identifier = (binary_expression "pbVar22 + 1" identifier + number_literal)) ;) (switch_statement "switch(bVar7) {\n  case 0:\n    param_2 = pbVar22;\n  case 0x25:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = 0x25;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034207;\n    putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = *param_2;\n    goto joined_r0x000340a6;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    iVar16 = iVar16 * 0x10;\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pbVar15 = *(byte **)(puVar18 + iVar16 + 0xa0);\n    *(undefined4 *)(puVar18 + 0x1c) = *(undefined4 *)(puVar18 + iVar16 + 0xa4);\n    uVar12 = *(undefined4 *)(puVar18 + iVar16 + 0xac);\n    *(undefined4 *)(puVar18 + 0x20) = *(undefined4 *)(puVar18 + iVar16 + 0xa8);\n    *(undefined4 *)(puVar18 + 0x24) = uVar12;\n    if (pbVar15 == (byte *)0x0) {\ncode_r0x00034747:\n      *(byte **)(puVar18 + -8) = pbVar15;\n      *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003475e;\n      FUN_00034e30();\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x24) = &UNK_0003477e;\n      FUN_00034e30();\n    }\n    else {\n      *(byte **)(puVar18 + -0x10) = pbVar15;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034331;\n      iVar16 = bfd_generic_link_read_symbols();\n      if (iVar16 == 0) {\n        *(undefined4 *)(puVar18 + -8) = 5;\n        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar18 + -0x10) = 0;\n        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;\n        uVar12 = dcgettext();\n        *(byte **)(puVar18 + -0xc) = pbVar15;\n        *(undefined4 *)(puVar18 + -0x10) = uVar12;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;\n        FUN_00034d20();\n      }\n      iVar16 = *(int *)(pbVar15 + 4);\n      *(undefined4 *)(puVar18 + -0x10) = 0;\n      *(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c;\n      *(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38;\n      *(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78);\n      *(byte **)(puVar18 + -0x30) = pbVar15;\n      pcVar5 = *(code **)(iVar16 + 0x128);\n      *(undefined **)(puVar18 + -0x34) = &UNK_00034369;\n      iVar16 = (*pcVar5)();\n      if (iVar16 == 0) goto code_r0x00034747;\n      iVar16 = *(int *)(puVar18 + 0x38);\n      *(int *)(puVar18 + 8) = iVar16;\n      if ((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))) {\n        *(byte **)(puVar18 + -8) = pbVar15;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;\n        FUN_00034e30();\n        *(undefined4 *)(puVar18 + 0x18) = 1;\ncode_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }\n        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x38);\n        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;\n        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;\n        if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }\n        *(char **)(puVar18 + -4) = "";\n        *(int *)(puVar18 + -8) = iVar16;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      }\n      else {\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }\n      if (*(int *)(puVar18 + 0x18) == 0) goto code_r0x0003443a;\n    }\n    pbRam001d0878 = (byte *)0x0;\n    if (iRam001d0870 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0870;\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003479e;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0870 = 0;\n    }\n    if (iRam001d0874 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0874;\n      *(undefined **)(puVar18 + -0x14) = &UNK_000347c2;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0874 = 0;\n    }\ncode_r0x0003443a:\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x45:\n    *(undefined **)(puVar18 + -4) = &UNK_0003444a;\n    uVar12 = bfd_get_error();\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034453;\n    uVar12 = func_0x00016b10();\n    pbVar15 = *(byte **)(puVar18 + -0xc);\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034462;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x46:\n    bVar7 = pbVar22[1];\n    *(undefined4 *)(puVar18 + 0x10) = 1;\n    goto joined_r0x000340a6;\n  case 0x50:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = DAT_001d1558;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034695;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x56:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pcVar20 = "%016llx";\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    break;\n  case 0x57:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345d0;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345f5;\n    sVar11 = strlen(*(char **)(puVar18 + -0x10));\n    if (sVar11 < 8) {\n      *(byte **)(puVar18 + 8) = pbVar22;\n      uVar12 = *(undefined4 *)(puVar18 + 0x150);\n      *(byte **)(puVar18 + 0x18) = param_2;\n      do {\n        sVar11 = sVar11 + 1;\n        *(undefined4 *)(puVar18 + -0xc) = uVar12;\n        *(undefined4 *)(puVar18 + -0x10) = 0x20;\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003461c;\n        putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      } while (sVar11 != 8);\n      pbVar22 = *(byte **)(puVar18 + 8);\n      param_2 = *(byte **)(puVar18 + 0x18);\n    }\n    pcVar20 = "0x%s";\n    *(byte **)(puVar18 + -8) = pbVar15;\n    break;\n  case 0x58:\n    DAT_001d14e4 = 0;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 100:\n    puVar10 = &DAT_0006c013;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    goto code_r0x000344af;\n  case 0x6c:\n    if (pbVar22[1] == 100) {\n      puVar10 = &UNK_0007d7c3;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000342cd:\n      *(undefined **)(puVar18 + -0xc) = puVar10;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_000342dd;\n      fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n      bVar7 = pbVar22[2];\n      param_2 = pbVar22 + 2;\n      goto joined_r0x000340a6;\n    }\n    if (pbVar22[1] == 0x75) {\n      puVar10 = &UNK_0007d7c7;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n      goto code_r0x000342cd;\n    }\n  default:\nLAB_0003421d:\n    pcVar20 = "%%%c";\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + 8);\n    break;\n  case 0x70:\n    bVar7 = pbVar22[1];\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    if (bVar7 == 0x41) {\n      pbVar21 = pbVar22 + 2;\n      puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n      pbVar15 = (byte *)puVar13[0x2b];\n      *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined4 *)(puVar18 + -0x10) = *puVar13;\n      *(undefined4 **)(puVar18 + 8) = puVar13;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034a7f;\n      fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      iVar16 = *(int *)(puVar18 + 8);\n      if (pbVar15 != (byte *)0x0) {\n        if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }\n        if (iVar16 != 0) {\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }\n    }\n    else {\n      if (bVar7 == 0x42) {\n        pbVar21 = pbVar22 + 2;\n        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;\n        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);\n        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));\n        bVar7 = pbVar22[2];\n        puVar18 = puVar19 + 8;\n        param_2 = pbVar21;\n        goto joined_r0x000340a6;\n      }\n      if (bVar7 == 0x49) {\n        pbVar21 = pbVar22 + 2;\n        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);\n        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }\n    }\nLAB_000349da:\n    bVar7 = pbVar22[2];\n    param_2 = pbVar21;\n    goto joined_r0x000340a6;\n  case 0x73:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034489;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x75:\n    puVar10 = &UNK_0007d7b3;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000344af:\n    *(undefined **)(puVar18 + -0xc) = puVar10;\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined **)(puVar18 + -0x14) = &UNK_000344bc;\n    fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x76:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_0003426c;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034298;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  }" switch (parenthesized_expression "(bVar7)" ( identifier )) (compound_statement "{\n  case 0:\n    param_2 = pbVar22;\n  case 0x25:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = 0x25;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034207;\n    putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = *param_2;\n    goto joined_r0x000340a6;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    iVar16 = iVar16 * 0x10;\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pbVar15 = *(byte **)(puVar18 + iVar16 + 0xa0);\n    *(undefined4 *)(puVar18 + 0x1c) = *(undefined4 *)(puVar18 + iVar16 + 0xa4);\n    uVar12 = *(undefined4 *)(puVar18 + iVar16 + 0xac);\n    *(undefined4 *)(puVar18 + 0x20) = *(undefined4 *)(puVar18 + iVar16 + 0xa8);\n    *(undefined4 *)(puVar18 + 0x24) = uVar12;\n    if (pbVar15 == (byte *)0x0) {\ncode_r0x00034747:\n      *(byte **)(puVar18 + -8) = pbVar15;\n      *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003475e;\n      FUN_00034e30();\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x24) = &UNK_0003477e;\n      FUN_00034e30();\n    }\n    else {\n      *(byte **)(puVar18 + -0x10) = pbVar15;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034331;\n      iVar16 = bfd_generic_link_read_symbols();\n      if (iVar16 == 0) {\n        *(undefined4 *)(puVar18 + -8) = 5;\n        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar18 + -0x10) = 0;\n        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;\n        uVar12 = dcgettext();\n        *(byte **)(puVar18 + -0xc) = pbVar15;\n        *(undefined4 *)(puVar18 + -0x10) = uVar12;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;\n        FUN_00034d20();\n      }\n      iVar16 = *(int *)(pbVar15 + 4);\n      *(undefined4 *)(puVar18 + -0x10) = 0;\n      *(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c;\n      *(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38;\n      *(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78);\n      *(byte **)(puVar18 + -0x30) = pbVar15;\n      pcVar5 = *(code **)(iVar16 + 0x128);\n      *(undefined **)(puVar18 + -0x34) = &UNK_00034369;\n      iVar16 = (*pcVar5)();\n      if (iVar16 == 0) goto code_r0x00034747;\n      iVar16 = *(int *)(puVar18 + 0x38);\n      *(int *)(puVar18 + 8) = iVar16;\n      if ((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))) {\n        *(byte **)(puVar18 + -8) = pbVar15;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;\n        FUN_00034e30();\n        *(undefined4 *)(puVar18 + 0x18) = 1;\ncode_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }\n        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x38);\n        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;\n        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;\n        if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }\n        *(char **)(puVar18 + -4) = "";\n        *(int *)(puVar18 + -8) = iVar16;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      }\n      else {\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }\n      if (*(int *)(puVar18 + 0x18) == 0) goto code_r0x0003443a;\n    }\n    pbRam001d0878 = (byte *)0x0;\n    if (iRam001d0870 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0870;\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003479e;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0870 = 0;\n    }\n    if (iRam001d0874 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0874;\n      *(undefined **)(puVar18 + -0x14) = &UNK_000347c2;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0874 = 0;\n    }\ncode_r0x0003443a:\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x45:\n    *(undefined **)(puVar18 + -4) = &UNK_0003444a;\n    uVar12 = bfd_get_error();\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034453;\n    uVar12 = func_0x00016b10();\n    pbVar15 = *(byte **)(puVar18 + -0xc);\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034462;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x46:\n    bVar7 = pbVar22[1];\n    *(undefined4 *)(puVar18 + 0x10) = 1;\n    goto joined_r0x000340a6;\n  case 0x50:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = DAT_001d1558;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034695;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x56:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pcVar20 = "%016llx";\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    break;\n  case 0x57:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345d0;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345f5;\n    sVar11 = strlen(*(char **)(puVar18 + -0x10));\n    if (sVar11 < 8) {\n      *(byte **)(puVar18 + 8) = pbVar22;\n      uVar12 = *(undefined4 *)(puVar18 + 0x150);\n      *(byte **)(puVar18 + 0x18) = param_2;\n      do {\n        sVar11 = sVar11 + 1;\n        *(undefined4 *)(puVar18 + -0xc) = uVar12;\n        *(undefined4 *)(puVar18 + -0x10) = 0x20;\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003461c;\n        putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      } while (sVar11 != 8);\n      pbVar22 = *(byte **)(puVar18 + 8);\n      param_2 = *(byte **)(puVar18 + 0x18);\n    }\n    pcVar20 = "0x%s";\n    *(byte **)(puVar18 + -8) = pbVar15;\n    break;\n  case 0x58:\n    DAT_001d14e4 = 0;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 100:\n    puVar10 = &DAT_0006c013;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    goto code_r0x000344af;\n  case 0x6c:\n    if (pbVar22[1] == 100) {\n      puVar10 = &UNK_0007d7c3;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000342cd:\n      *(undefined **)(puVar18 + -0xc) = puVar10;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_000342dd;\n      fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n      bVar7 = pbVar22[2];\n      param_2 = pbVar22 + 2;\n      goto joined_r0x000340a6;\n    }\n    if (pbVar22[1] == 0x75) {\n      puVar10 = &UNK_0007d7c7;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n      goto code_r0x000342cd;\n    }\n  default:\nLAB_0003421d:\n    pcVar20 = "%%%c";\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + 8);\n    break;\n  case 0x70:\n    bVar7 = pbVar22[1];\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    if (bVar7 == 0x41) {\n      pbVar21 = pbVar22 + 2;\n      puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n      pbVar15 = (byte *)puVar13[0x2b];\n      *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined4 *)(puVar18 + -0x10) = *puVar13;\n      *(undefined4 **)(puVar18 + 8) = puVar13;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034a7f;\n      fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      iVar16 = *(int *)(puVar18 + 8);\n      if (pbVar15 != (byte *)0x0) {\n        if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }\n        if (iVar16 != 0) {\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }\n    }\n    else {\n      if (bVar7 == 0x42) {\n        pbVar21 = pbVar22 + 2;\n        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;\n        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);\n        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));\n        bVar7 = pbVar22[2];\n        puVar18 = puVar19 + 8;\n        param_2 = pbVar21;\n        goto joined_r0x000340a6;\n      }\n      if (bVar7 == 0x49) {\n        pbVar21 = pbVar22 + 2;\n        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);\n        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }\n    }\nLAB_000349da:\n    bVar7 = pbVar22[2];\n    param_2 = pbVar21;\n    goto joined_r0x000340a6;\n  case 0x73:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034489;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x75:\n    puVar10 = &UNK_0007d7b3;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000344af:\n    *(undefined **)(puVar18 + -0xc) = puVar10;\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined **)(puVar18 + -0x14) = &UNK_000344bc;\n    fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x76:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_0003426c;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034298;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  }" { (case_statement "case 0:\n    param_2 = pbVar22;" case number_literal : (expression_statement "param_2 = pbVar22;" (assignment_expression "param_2 = pbVar22" identifier = identifier) ;)) (case_statement "case 0x25:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = 0x25;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034207;\n    putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = *param_2;\n    goto joined_r0x000340a6;" case number_literal : (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" * (cast_expression "(undefined4 *)(puVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = 0x25;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = 0x25" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034207;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034207" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034207" & identifier)) ;) (expression_statement "putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));" (call_expression "putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" identifier (argument_list "(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" ( (pointer_expression "*(int *)(puVar18 + -0x10)" * (cast_expression "(int *)(puVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar18 + -0xc)" * (cast_expression "(FILE **)(puVar18 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "bVar7 = *param_2;" (assignment_expression "bVar7 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) (case_statement "case 0x43:" case number_literal :) (case_statement "case 0x44:" case number_literal :) (case_statement "case 0x47:" case number_literal :) (case_statement "case 0x48:\n    iVar16 = iVar16 * 0x10;\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pbVar15 = *(byte **)(puVar18 + iVar16 + 0xa0);\n    *(undefined4 *)(puVar18 + 0x1c) = *(undefined4 *)(puVar18 + iVar16 + 0xa4);\n    uVar12 = *(undefined4 *)(puVar18 + iVar16 + 0xac);\n    *(undefined4 *)(puVar18 + 0x20) = *(undefined4 *)(puVar18 + iVar16 + 0xa8);\n    *(undefined4 *)(puVar18 + 0x24) = uVar12;\n    if (pbVar15 == (byte *)0x0) {\ncode_r0x00034747:\n      *(byte **)(puVar18 + -8) = pbVar15;\n      *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003475e;\n      FUN_00034e30();\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x24) = &UNK_0003477e;\n      FUN_00034e30();\n    }\n    else {\n      *(byte **)(puVar18 + -0x10) = pbVar15;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034331;\n      iVar16 = bfd_generic_link_read_symbols();\n      if (iVar16 == 0) {\n        *(undefined4 *)(puVar18 + -8) = 5;\n        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar18 + -0x10) = 0;\n        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;\n        uVar12 = dcgettext();\n        *(byte **)(puVar18 + -0xc) = pbVar15;\n        *(undefined4 *)(puVar18 + -0x10) = uVar12;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;\n        FUN_00034d20();\n      }\n      iVar16 = *(int *)(pbVar15 + 4);\n      *(undefined4 *)(puVar18 + -0x10) = 0;\n      *(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c;\n      *(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38;\n      *(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78);\n      *(byte **)(puVar18 + -0x30) = pbVar15;\n      pcVar5 = *(code **)(iVar16 + 0x128);\n      *(undefined **)(puVar18 + -0x34) = &UNK_00034369;\n      iVar16 = (*pcVar5)();\n      if (iVar16 == 0) goto code_r0x00034747;\n      iVar16 = *(int *)(puVar18 + 0x38);\n      *(int *)(puVar18 + 8) = iVar16;\n      if ((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))) {\n        *(byte **)(puVar18 + -8) = pbVar15;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;\n        FUN_00034e30();\n        *(undefined4 *)(puVar18 + 0x18) = 1;\ncode_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }\n        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x38);\n        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;\n        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;\n        if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }\n        *(char **)(puVar18 + -4) = "";\n        *(int *)(puVar18 + -8) = iVar16;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      }\n      else {\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }\n      if (*(int *)(puVar18 + 0x18) == 0) goto code_r0x0003443a;\n    }\n    pbRam001d0878 = (byte *)0x0;\n    if (iRam001d0870 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0870;\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003479e;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0870 = 0;\n    }\n    if (iRam001d0874 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0874;\n      *(undefined **)(puVar18 + -0x14) = &UNK_000347c2;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0874 = 0;\n    }\ncode_r0x0003443a:\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;" case number_literal : (expression_statement "iVar16 = iVar16 * 0x10;" (assignment_expression "iVar16 = iVar16 * 0x10" identifier = (binary_expression "iVar16 * 0x10" identifier * number_literal)) ;) (expression_statement "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;" (assignment_expression "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pbVar15 = *(byte **)(puVar18 + iVar16 + 0xa0);" (assignment_expression "pbVar15 = *(byte **)(puVar18 + iVar16 + 0xa0)" identifier = (pointer_expression "*(byte **)(puVar18 + iVar16 + 0xa0)" * (cast_expression "(byte **)(puVar18 + iVar16 + 0xa0)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + iVar16 + 0xa0)" ( (binary_expression "puVar18 + iVar16 + 0xa0" (binary_expression "puVar18 + iVar16" identifier + identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + 0x1c) = *(undefined4 *)(puVar18 + iVar16 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar18 + 0x1c) = *(undefined4 *)(puVar18 + iVar16 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar18 + 0x1c)" * (cast_expression "(undefined4 *)(puVar18 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x1c)" ( (binary_expression "puVar18 + 0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + iVar16 + 0xa4)" * (cast_expression "(undefined4 *)(puVar18 + iVar16 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + iVar16 + 0xa4)" ( (binary_expression "puVar18 + iVar16 + 0xa4" (binary_expression "puVar18 + iVar16" identifier + identifier) + number_literal) ))))) ;) (expression_statement "uVar12 = *(undefined4 *)(puVar18 + iVar16 + 0xac);" (assignment_expression "uVar12 = *(undefined4 *)(puVar18 + iVar16 + 0xac)" identifier = (pointer_expression "*(undefined4 *)(puVar18 + iVar16 + 0xac)" * (cast_expression "(undefined4 *)(puVar18 + iVar16 + 0xac)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + iVar16 + 0xac)" ( (binary_expression "puVar18 + iVar16 + 0xac" (binary_expression "puVar18 + iVar16" identifier + identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + 0x20) = *(undefined4 *)(puVar18 + iVar16 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar18 + 0x20) = *(undefined4 *)(puVar18 + iVar16 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar18 + 0x20)" * (cast_expression "(undefined4 *)(puVar18 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x20)" ( (binary_expression "puVar18 + 0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + iVar16 + 0xa8)" * (cast_expression "(undefined4 *)(puVar18 + iVar16 + 0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + iVar16 + 0xa8)" ( (binary_expression "puVar18 + iVar16 + 0xa8" (binary_expression "puVar18 + iVar16" identifier + identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + 0x24) = uVar12;" (assignment_expression "*(undefined4 *)(puVar18 + 0x24) = uVar12" (pointer_expression "*(undefined4 *)(puVar18 + 0x24)" * (cast_expression "(undefined4 *)(puVar18 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x24)" ( (binary_expression "puVar18 + 0x24" identifier + number_literal) )))) = identifier) ;) (if_statement "if (pbVar15 == (byte *)0x0) {\ncode_r0x00034747:\n      *(byte **)(puVar18 + -8) = pbVar15;\n      *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003475e;\n      FUN_00034e30();\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x24) = &UNK_0003477e;\n      FUN_00034e30();\n    }\n    else {\n      *(byte **)(puVar18 + -0x10) = pbVar15;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034331;\n      iVar16 = bfd_generic_link_read_symbols();\n      if (iVar16 == 0) {\n        *(undefined4 *)(puVar18 + -8) = 5;\n        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar18 + -0x10) = 0;\n        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;\n        uVar12 = dcgettext();\n        *(byte **)(puVar18 + -0xc) = pbVar15;\n        *(undefined4 *)(puVar18 + -0x10) = uVar12;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;\n        FUN_00034d20();\n      }\n      iVar16 = *(int *)(pbVar15 + 4);\n      *(undefined4 *)(puVar18 + -0x10) = 0;\n      *(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c;\n      *(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38;\n      *(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78);\n      *(byte **)(puVar18 + -0x30) = pbVar15;\n      pcVar5 = *(code **)(iVar16 + 0x128);\n      *(undefined **)(puVar18 + -0x34) = &UNK_00034369;\n      iVar16 = (*pcVar5)();\n      if (iVar16 == 0) goto code_r0x00034747;\n      iVar16 = *(int *)(puVar18 + 0x38);\n      *(int *)(puVar18 + 8) = iVar16;\n      if ((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))) {\n        *(byte **)(puVar18 + -8) = pbVar15;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;\n        FUN_00034e30();\n        *(undefined4 *)(puVar18 + 0x18) = 1;\ncode_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }\n        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x38);\n        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;\n        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;\n        if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }\n        *(char **)(puVar18 + -4) = "";\n        *(int *)(puVar18 + -8) = iVar16;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      }\n      else {\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }\n      if (*(int *)(puVar18 + 0x18) == 0) goto code_r0x0003443a;\n    }" if (parenthesized_expression "(pbVar15 == (byte *)0x0)" ( (binary_expression "pbVar15 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\ncode_r0x00034747:\n      *(byte **)(puVar18 + -8) = pbVar15;\n      *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003475e;\n      FUN_00034e30();\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x24) = &UNK_0003477e;\n      FUN_00034e30();\n    }" { (labeled_statement "code_r0x00034747:\n      *(byte **)(puVar18 + -8) = pbVar15;" statement_identifier : (expression_statement "*(byte **)(puVar18 + -8) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -8) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -8)" * (cast_expression "(byte **)(puVar18 + -8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;" (assignment_expression "*(undefined **)(puVar18 + -0xc) = &UNK_0007d36d" (pointer_expression "*(undefined **)(puVar18 + -0xc)" * (cast_expression "(undefined **)(puVar18 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "&UNK_0007d36d" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_0003475e;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_0003475e" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0003475e" & identifier)) ;) (expression_statement "FUN_00034e30();" (call_expression "FUN_00034e30()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x24)" * (cast_expression "(undefined4 *)(puVar18 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x24)" ( (binary_expression "puVar18 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20)" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x20)" * (cast_expression "(undefined4 *)(puVar18 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x20)" ( (binary_expression "puVar18 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);" (assignment_expression "*(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c)" (pointer_expression "*(undefined4 *)(puVar18 + -0x18)" * (cast_expression "(undefined4 *)(puVar18 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x18)" ( (binary_expression "puVar18 + -0x18" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x1c)" * (cast_expression "(undefined4 *)(puVar18 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x1c)" ( (binary_expression "puVar18 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;" (assignment_expression "*(undefined **)(puVar18 + -0x1c) = &UNK_0007d781" (pointer_expression "*(undefined **)(puVar18 + -0x1c)" * (cast_expression "(undefined **)(puVar18 + -0x1c)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x1c)" ( (binary_expression "puVar18 + -0x1c" identifier + number_literal) )))) = (pointer_expression "&UNK_0007d781" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x20)" * (cast_expression "(undefined4 *)(puVar18 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x20)" ( (binary_expression "puVar18 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x24) = &UNK_0003477e;" (assignment_expression "*(undefined **)(puVar18 + -0x24) = &UNK_0003477e" (pointer_expression "*(undefined **)(puVar18 + -0x24)" * (cast_expression "(undefined **)(puVar18 + -0x24)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x24)" ( (binary_expression "puVar18 + -0x24" identifier + number_literal) )))) = (pointer_expression "&UNK_0003477e" & identifier)) ;) (expression_statement "FUN_00034e30();" (call_expression "FUN_00034e30()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n      *(byte **)(puVar18 + -0x10) = pbVar15;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034331;\n      iVar16 = bfd_generic_link_read_symbols();\n      if (iVar16 == 0) {\n        *(undefined4 *)(puVar18 + -8) = 5;\n        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar18 + -0x10) = 0;\n        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;\n        uVar12 = dcgettext();\n        *(byte **)(puVar18 + -0xc) = pbVar15;\n        *(undefined4 *)(puVar18 + -0x10) = uVar12;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;\n        FUN_00034d20();\n      }\n      iVar16 = *(int *)(pbVar15 + 4);\n      *(undefined4 *)(puVar18 + -0x10) = 0;\n      *(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c;\n      *(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38;\n      *(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78);\n      *(byte **)(puVar18 + -0x30) = pbVar15;\n      pcVar5 = *(code **)(iVar16 + 0x128);\n      *(undefined **)(puVar18 + -0x34) = &UNK_00034369;\n      iVar16 = (*pcVar5)();\n      if (iVar16 == 0) goto code_r0x00034747;\n      iVar16 = *(int *)(puVar18 + 0x38);\n      *(int *)(puVar18 + 8) = iVar16;\n      if ((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))) {\n        *(byte **)(puVar18 + -8) = pbVar15;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;\n        FUN_00034e30();\n        *(undefined4 *)(puVar18 + 0x18) = 1;\ncode_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }\n        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x38);\n        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;\n        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;\n        if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }\n        *(char **)(puVar18 + -4) = "";\n        *(int *)(puVar18 + -8) = iVar16;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      }\n      else {\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }\n      if (*(int *)(puVar18 + 0x18) == 0) goto code_r0x0003443a;\n    }" else (compound_statement "{\n      *(byte **)(puVar18 + -0x10) = pbVar15;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034331;\n      iVar16 = bfd_generic_link_read_symbols();\n      if (iVar16 == 0) {\n        *(undefined4 *)(puVar18 + -8) = 5;\n        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar18 + -0x10) = 0;\n        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;\n        uVar12 = dcgettext();\n        *(byte **)(puVar18 + -0xc) = pbVar15;\n        *(undefined4 *)(puVar18 + -0x10) = uVar12;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;\n        FUN_00034d20();\n      }\n      iVar16 = *(int *)(pbVar15 + 4);\n      *(undefined4 *)(puVar18 + -0x10) = 0;\n      *(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c;\n      *(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38;\n      *(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78);\n      *(byte **)(puVar18 + -0x30) = pbVar15;\n      pcVar5 = *(code **)(iVar16 + 0x128);\n      *(undefined **)(puVar18 + -0x34) = &UNK_00034369;\n      iVar16 = (*pcVar5)();\n      if (iVar16 == 0) goto code_r0x00034747;\n      iVar16 = *(int *)(puVar18 + 0x38);\n      *(int *)(puVar18 + 8) = iVar16;\n      if ((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))) {\n        *(byte **)(puVar18 + -8) = pbVar15;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;\n        FUN_00034e30();\n        *(undefined4 *)(puVar18 + 0x18) = 1;\ncode_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }\n        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x38);\n        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;\n        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;\n        if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }\n        *(char **)(puVar18 + -4) = "";\n        *(int *)(puVar18 + -8) = iVar16;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      }\n      else {\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }\n      if (*(int *)(puVar18 + 0x18) == 0) goto code_r0x0003443a;\n    }" { (expression_statement "*(byte **)(puVar18 + -0x10) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -0x10) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -0x10)" * (cast_expression "(byte **)(puVar18 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034331;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034331" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034331" & identifier)) ;) (expression_statement "iVar16 = bfd_generic_link_read_symbols();" (assignment_expression "iVar16 = bfd_generic_link_read_symbols()" identifier = (call_expression "bfd_generic_link_read_symbols()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar16 == 0) {\n        *(undefined4 *)(puVar18 + -8) = 5;\n        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar18 + -0x10) = 0;\n        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;\n        uVar12 = dcgettext();\n        *(byte **)(puVar18 + -0xc) = pbVar15;\n        *(undefined4 *)(puVar18 + -0x10) = uVar12;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;\n        FUN_00034d20();\n      }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n        *(undefined4 *)(puVar18 + -8) = 5;\n        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar18 + -0x10) = 0;\n        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;\n        uVar12 = dcgettext();\n        *(byte **)(puVar18 + -0xc) = pbVar15;\n        *(undefined4 *)(puVar18 + -0x10) = uVar12;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;\n        FUN_00034d20();\n      }" { (expression_statement "*(undefined4 *)(puVar18 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";" (assignment_expression "*(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n"" (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (string_literal ""%F%P: %pB: could not read symbols: %E\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_000349f8;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_000349f8" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_000349f8" & identifier)) ;) (expression_statement "uVar12 = dcgettext();" (assignment_expression "uVar12 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(byte **)(puVar18 + -0xc) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -0xc) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -0xc)" * (cast_expression "(byte **)(puVar18 + -0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar12;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar12" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034a01;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034a01" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034a01" & identifier)) ;) (expression_statement "FUN_00034d20();" (call_expression "FUN_00034d20()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar16 = *(int *)(pbVar15 + 4);" (assignment_expression "iVar16 = *(int *)(pbVar15 + 4)" identifier = (pointer_expression "*(int *)(pbVar15 + 4)" * (cast_expression "(int *)(pbVar15 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar15 + 4)" ( (binary_expression "pbVar15 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c;" (assignment_expression "*(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c" (pointer_expression "*(undefined1 **)(puVar18 + -0x14)" * (cast_expression "(undefined1 **)(puVar18 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (binary_expression "puVar18 + 0x3c" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38;" (assignment_expression "*(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38" (pointer_expression "*(undefined1 **)(puVar18 + -0x18)" * (cast_expression "(undefined1 **)(puVar18 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x18)" ( (binary_expression "puVar18 + -0x18" identifier + number_literal) )))) = (binary_expression "puVar18 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34;" (assignment_expression "*(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34" (pointer_expression "*(undefined1 **)(puVar18 + -0x1c)" * (cast_expression "(undefined1 **)(puVar18 + -0x1c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x1c)" ( (binary_expression "puVar18 + -0x1c" identifier + number_literal) )))) = (binary_expression "puVar18 + 0x34" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24);" (assignment_expression "*(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24)" (pointer_expression "*(undefined4 *)(puVar18 + -0x20)" * (cast_expression "(undefined4 *)(puVar18 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x20)" ( (binary_expression "puVar18 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x24)" * (cast_expression "(undefined4 *)(puVar18 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x24)" ( (binary_expression "puVar18 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20);" (assignment_expression "*(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20)" (pointer_expression "*(undefined4 *)(puVar18 + -0x24)" * (cast_expression "(undefined4 *)(puVar18 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x24)" ( (binary_expression "puVar18 + -0x24" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x20)" * (cast_expression "(undefined4 *)(puVar18 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x20)" ( (binary_expression "puVar18 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c);" (assignment_expression "*(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c)" (pointer_expression "*(undefined4 *)(puVar18 + -0x28)" * (cast_expression "(undefined4 *)(puVar18 + -0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x28)" ( (binary_expression "puVar18 + -0x28" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x1c)" * (cast_expression "(undefined4 *)(puVar18 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x1c)" ( (binary_expression "puVar18 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78);" (assignment_expression "*(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78)" (pointer_expression "*(undefined4 *)(puVar18 + -0x2c)" * (cast_expression "(undefined4 *)(puVar18 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x2c)" ( (binary_expression "puVar18 + -0x2c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pbVar15 + 0x78)" * (cast_expression "(undefined4 *)(pbVar15 + 0x78)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar15 + 0x78)" ( (binary_expression "pbVar15 + 0x78" identifier + number_literal) ))))) ;) (expression_statement "*(byte **)(puVar18 + -0x30) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -0x30) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -0x30)" * (cast_expression "(byte **)(puVar18 + -0x30)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x30)" ( (binary_expression "puVar18 + -0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar5 = *(code **)(iVar16 + 0x128);" (assignment_expression "pcVar5 = *(code **)(iVar16 + 0x128)" identifier = (pointer_expression "*(code **)(iVar16 + 0x128)" * (cast_expression "(code **)(iVar16 + 0x128)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar16 + 0x128)" ( (binary_expression "iVar16 + 0x128" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x34) = &UNK_00034369;" (assignment_expression "*(undefined **)(puVar18 + -0x34) = &UNK_00034369" (pointer_expression "*(undefined **)(puVar18 + -0x34)" * (cast_expression "(undefined **)(puVar18 + -0x34)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x34)" ( (binary_expression "puVar18 + -0x34" identifier + number_literal) )))) = (pointer_expression "&UNK_00034369" & identifier)) ;) (expression_statement "iVar16 = (*pcVar5)();" (assignment_expression "iVar16 = (*pcVar5)()" identifier = (call_expression "(*pcVar5)()" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar16 == 0) goto code_r0x00034747;" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x00034747;" goto statement_identifier ;)) (expression_statement "iVar16 = *(int *)(puVar18 + 0x38);" (assignment_expression "iVar16 = *(int *)(puVar18 + 0x38)" identifier = (pointer_expression "*(int *)(puVar18 + 0x38)" * (cast_expression "(int *)(puVar18 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x38)" ( (binary_expression "puVar18 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar18 + 8) = iVar16;" (assignment_expression "*(int *)(puVar18 + 8) = iVar16" (pointer_expression "*(int *)(puVar18 + 8)" * (cast_expression "(int *)(puVar18 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))) {\n        *(byte **)(puVar18 + -8) = pbVar15;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;\n        FUN_00034e30();\n        *(undefined4 *)(puVar18 + 0x18) = 1;\ncode_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }\n        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x38);\n        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;\n        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;\n        if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }\n        *(char **)(puVar18 + -4) = "";\n        *(int *)(puVar18 + -8) = iVar16;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      }\n      else {\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }" if (parenthesized_expression "((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48))))" ( (binary_expression "(iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))" (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) || (parenthesized_expression "((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))" ( (parenthesized_expression "(*pbVar22 != 0x43 && (*pbVar22 != 0x48))" ( (binary_expression "*pbVar22 != 0x43 && (*pbVar22 != 0x48)" (binary_expression "*pbVar22 != 0x43" (pointer_expression "*pbVar22" * identifier) != number_literal) && (parenthesized_expression "(*pbVar22 != 0x48)" ( (binary_expression "*pbVar22 != 0x48" (pointer_expression "*pbVar22" * identifier) != number_literal) ))) )) ))) )) (compound_statement "{\n        *(byte **)(puVar18 + -8) = pbVar15;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;\n        FUN_00034e30();\n        *(undefined4 *)(puVar18 + 0x18) = 1;\ncode_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }\n        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x38);\n        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;\n        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;\n        if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }\n        *(char **)(puVar18 + -4) = "";\n        *(int *)(puVar18 + -8) = iVar16;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      }" { (expression_statement "*(byte **)(puVar18 + -8) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -8) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -8)" * (cast_expression "(byte **)(puVar18 + -8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;" (assignment_expression "*(undefined **)(puVar18 + -0xc) = &UNK_0007d36d" (pointer_expression "*(undefined **)(puVar18 + -0xc)" * (cast_expression "(undefined **)(puVar18 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "&UNK_0007d36d" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_000343aa;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_000343aa" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_000343aa" & identifier)) ;) (expression_statement "FUN_00034e30();" (call_expression "FUN_00034e30()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar18 + 0x18) = 1;" (assignment_expression "*(undefined4 *)(puVar18 + 0x18) = 1" (pointer_expression "*(undefined4 *)(puVar18 + 0x18)" * (cast_expression "(undefined4 *)(puVar18 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x18)" ( (binary_expression "puVar18 + 0x18" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "code_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }" statement_identifier : (if_statement "if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }" if (parenthesized_expression "(*(int *)(puVar18 + 0x34) == 0)" ( (binary_expression "*(int *)(puVar18 + 0x34) == 0" (pointer_expression "*(int *)(puVar18 + 0x34)" * (cast_expression "(int *)(puVar18 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x34)" ( (binary_expression "puVar18 + 0x34" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }" { (expression_statement "iVar16 = *(int *)(puVar18 + 0x38);" (assignment_expression "iVar16 = *(int *)(puVar18 + 0x38)" identifier = (pointer_expression "*(int *)(puVar18 + 0x38)" * (cast_expression "(int *)(puVar18 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x38)" ( (binary_expression "puVar18 + 0x38" identifier + number_literal) ))))) ;) (goto_statement "goto code_r0x00034a0d;" goto statement_identifier ;) }))) (expression_statement "*(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);" (assignment_expression "*(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34)" (pointer_expression "*(int *)(puVar18 + -8)" * (cast_expression "(int *)(puVar18 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = (pointer_expression "*(int *)(puVar18 + 0x34)" * (cast_expression "(int *)(puVar18 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x34)" ( (binary_expression "puVar18 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0xc) = &UNK_0007d779;" (assignment_expression "*(undefined **)(puVar18 + -0xc) = &UNK_0007d779" (pointer_expression "*(undefined **)(puVar18 + -0xc)" * (cast_expression "(undefined **)(puVar18 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "&UNK_0007d779" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_000343d8;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_000343d8" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_000343d8" & identifier)) ;) (expression_statement "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (call_expression "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier (argument_list "(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" ( (pointer_expression "*(FILE **)(puVar18 + -0x10)" * (cast_expression "(FILE **)(puVar18 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "iVar16 = *(int *)(puVar18 + 0x38);" (assignment_expression "iVar16 = *(int *)(puVar18 + 0x38)" identifier = (pointer_expression "*(int *)(puVar18 + 0x38)" * (cast_expression "(int *)(puVar18 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x38)" ( (binary_expression "puVar18 + 0x38" identifier + number_literal) ))))) ;) (if_statement "if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;" if (parenthesized_expression "((iVar16 != 0) && (*pbVar22 == 0x47))" ( (binary_expression "(iVar16 != 0) && (*pbVar22 == 0x47)" (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) && (parenthesized_expression "(*pbVar22 == 0x47)" ( (binary_expression "*pbVar22 == 0x47" (pointer_expression "*pbVar22" * identifier) == number_literal) ))) )) (goto_statement "goto code_r0x00034a20;" goto statement_identifier ;)) (if_statement "if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;" if (parenthesized_expression "((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))" ( (binary_expression "(*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0)" (parenthesized_expression "(*(int *)(puVar18 + 0x34) == 0)" ( (binary_expression "*(int *)(puVar18 + 0x34) == 0" (pointer_expression "*(int *)(puVar18 + 0x34)" * (cast_expression "(int *)(puVar18 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x34)" ( (binary_expression "puVar18 + 0x34" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0)" ( (comma_expression "iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0" (assignment_expression "iVar16 = *(int *)(puVar18 + 0x3c)" identifier = (pointer_expression "*(int *)(puVar18 + 0x3c)" * (cast_expression "(int *)(puVar18 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x3c)" ( (binary_expression "puVar18 + 0x3c" identifier + number_literal) ))))) , (binary_expression "iVar16 == 0" identifier == number_literal)) ))) )) (goto_statement "goto code_r0x00034902;" goto statement_identifier ;)) (if_statement "if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }" if (parenthesized_expression "(*pbVar22 == 0x48)" ( (binary_expression "*pbVar22 == 0x48" (pointer_expression "*pbVar22" * identifier) == number_literal) )) (compound_statement "{\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }" { (expression_statement "*(undefined **)(puVar18 + -4) = &UNK_0007b12f;" (assignment_expression "*(undefined **)(puVar18 + -4) = &UNK_0007b12f" (pointer_expression "*(undefined **)(puVar18 + -4)" * (cast_expression "(undefined **)(puVar18 + -4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = (pointer_expression "&UNK_0007b12f" & identifier)) ;) (expression_statement "*(int *)(puVar18 + -8) = iVar16;" (assignment_expression "*(int *)(puVar18 + -8) = iVar16" (pointer_expression "*(int *)(puVar18 + -8)" * (cast_expression "(int *)(puVar18 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;" (assignment_expression "*(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0" (pointer_expression "*(undefined **)(puVar18 + -0xc)" * (cast_expression "(undefined **)(puVar18 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "&UNK_0007d7d0" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_000348ff;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_000348ff" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_000348ff" & identifier)) ;) (expression_statement "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (call_expression "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier (argument_list "(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" ( (pointer_expression "*(FILE **)(puVar18 + -0x10)" * (cast_expression "(FILE **)(puVar18 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) (goto_statement "goto code_r0x00034902;" goto statement_identifier ;) })) (expression_statement "*(char **)(puVar18 + -4) = "";" (assignment_expression "*(char **)(puVar18 + -4) = """ (pointer_expression "*(char **)(puVar18 + -4)" * (cast_expression "(char **)(puVar18 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = (string_literal """" " ")) ;) (expression_statement "*(int *)(puVar18 + -8) = iVar16;" (assignment_expression "*(int *)(puVar18 + -8) = iVar16" (pointer_expression "*(int *)(puVar18 + -8)" * (cast_expression "(int *)(puVar18 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;" (assignment_expression "*(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0" (pointer_expression "*(undefined **)(puVar18 + -0xc)" * (cast_expression "(undefined **)(puVar18 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "&UNK_0007d7d0" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_0003442b;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_0003442b" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0003442b" & identifier)) ;) (expression_statement "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (call_expression "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier (argument_list "(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" ( (pointer_expression "*(FILE **)(puVar18 + -0x10)" * (cast_expression "(FILE **)(puVar18 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) }) (else_clause "else {\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }" else (compound_statement "{\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }" { (if_statement "if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }" if (parenthesized_expression "(((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15))" ( (binary_expression "((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)" (parenthesized_expression "((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0))" ( (binary_expression "(pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)" (parenthesized_expression "(pbRam001d0878 == (byte *)0x0)" ( (binary_expression "pbRam001d0878 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(iRam001d0874 == 0)" ( (binary_expression "iRam001d0874 == 0" identifier == number_literal) ))) )) || (parenthesized_expression "(pbRam001d0878 != pbVar15)" ( (binary_expression "pbRam001d0878 != pbVar15" identifier != identifier) ))) )) (compound_statement "{\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }" { (labeled_statement "code_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;" statement_identifier : (expression_statement "*(undefined4 *)(puVar18 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";" (assignment_expression "*(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n"" (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (string_literal ""%pB: in function `%pT\':\n"" " string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034813;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034813" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034813" & identifier)) ;) (expression_statement "uVar12 = dcgettext();" (assignment_expression "uVar12 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8)" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 8)" * (cast_expression "(undefined4 *)(puVar18 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(byte **)(puVar18 + -0x18) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -0x18) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -0x18)" * (cast_expression "(byte **)(puVar18 + -0x18)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x18)" ( (binary_expression "puVar18 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x1c) = uVar12;" (assignment_expression "*(undefined4 *)(puVar18 + -0x1c) = uVar12" (pointer_expression "*(undefined4 *)(puVar18 + -0x1c)" * (cast_expression "(undefined4 *)(puVar18 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x1c)" ( (binary_expression "puVar18 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x20)" * (cast_expression "(undefined4 *)(puVar18 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x20)" ( (binary_expression "puVar18 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x24) = &UNK_00034825;" (assignment_expression "*(undefined **)(puVar18 + -0x24) = &UNK_00034825" (pointer_expression "*(undefined **)(puVar18 + -0x24)" * (cast_expression "(undefined **)(puVar18 + -0x24)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x24)" ( (binary_expression "puVar18 + -0x24" identifier + number_literal) )))) = (pointer_expression "&UNK_00034825" & identifier)) ;) (expression_statement "FUN_00034e30();" (call_expression "FUN_00034e30()" identifier (argument_list "()" ( ))) ;) (expression_statement "pbRam001d0878 = pbVar15;" (assignment_expression "pbRam001d0878 = pbVar15" identifier = identifier) ;) (if_statement "if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }" if (parenthesized_expression "(iRam001d0870 != 0)" ( (binary_expression "iRam001d0870 != 0" identifier != number_literal) )) (compound_statement "{\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }" { (expression_statement "*(int *)(puVar18 + -0x10) = iRam001d0870;" (assignment_expression "*(int *)(puVar18 + -0x10) = iRam001d0870" (pointer_expression "*(int *)(puVar18 + -0x10)" * (cast_expression "(int *)(puVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034841;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034841" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034841" & identifier)) ;) (expression_statement "free(*(void **)(puVar18 + -0x10));" (call_expression "free(*(void **)(puVar18 + -0x10))" identifier (argument_list "(*(void **)(puVar18 + -0x10))" ( (pointer_expression "*(void **)(puVar18 + -0x10)" * (cast_expression "(void **)(puVar18 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) ))) ;) })) (expression_statement "iRam001d0870 = 0;" (assignment_expression "iRam001d0870 = 0" identifier = number_literal) ;) (if_statement "if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }" if (parenthesized_expression "(*(int *)(puVar18 + 0x34) != 0)" ( (binary_expression "*(int *)(puVar18 + 0x34) != 0" (pointer_expression "*(int *)(puVar18 + 0x34)" * (cast_expression "(int *)(puVar18 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x34)" ( (binary_expression "puVar18 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }" { (expression_statement "*(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);" (assignment_expression "*(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34)" (pointer_expression "*(int *)(puVar18 + -0x10)" * (cast_expression "(int *)(puVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(int *)(puVar18 + 0x34)" * (cast_expression "(int *)(puVar18 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x34)" ( (binary_expression "puVar18 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_0003485f;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_0003485f" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0003485f" & identifier)) ;) (expression_statement "iRam001d0870 = xstrdup();" (assignment_expression "iRam001d0870 = xstrdup()" identifier = (call_expression "xstrdup()" identifier (argument_list "()" ( )))) ;) })) (if_statement "if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }" if (parenthesized_expression "(iRam001d0874 != 0)" ( (binary_expression "iRam001d0874 != 0" identifier != number_literal) )) (compound_statement "{\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }" { (expression_statement "*(int *)(puVar18 + -0x10) = iRam001d0874;" (assignment_expression "*(int *)(puVar18 + -0x10) = iRam001d0874" (pointer_expression "*(int *)(puVar18 + -0x10)" * (cast_expression "(int *)(puVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_0003487b;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_0003487b" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0003487b" & identifier)) ;) (expression_statement "free(*(void **)(puVar18 + -0x10));" (call_expression "free(*(void **)(puVar18 + -0x10))" identifier (argument_list "(*(void **)(puVar18 + -0x10))" ( (pointer_expression "*(void **)(puVar18 + -0x10)" * (cast_expression "(void **)(puVar18 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) ))) ;) })) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x38)" * (cast_expression "(undefined4 *)(puVar18 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x38)" ( (binary_expression "puVar18 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_0003488a;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_0003488a" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0003488a" & identifier)) ;) (expression_statement "iRam001d0874 = xstrdup();" (assignment_expression "iRam001d0874 = xstrdup()" identifier = (call_expression "xstrdup()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + 0x18) = 0;" (assignment_expression "*(undefined4 *)(puVar18 + 0x18) = 0" (pointer_expression "*(undefined4 *)(puVar18 + 0x18)" * (cast_expression "(undefined4 *)(puVar18 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x18)" ( (binary_expression "puVar18 + 0x18" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto code_r0x000343b5;" goto statement_identifier ;) })) (expression_statement "iVar14 = *(int *)(puVar18 + 0x34);" (assignment_expression "iVar14 = *(int *)(puVar18 + 0x34)" identifier = (pointer_expression "*(int *)(puVar18 + 0x34)" * (cast_expression "(int *)(puVar18 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x34)" ( (binary_expression "puVar18 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar18 + 0x18) = iRam001d0870;" (assignment_expression "*(int *)(puVar18 + 0x18) = iRam001d0870" (pointer_expression "*(int *)(puVar18 + 0x18)" * (cast_expression "(int *)(puVar18 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x18)" ( (binary_expression "puVar18 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar18[0x28] = iRam001d0870 == 0;" (assignment_expression "puVar18[0x28] = iRam001d0870 == 0" (subscript_expression "puVar18[0x28]" identifier [ number_literal ]) = (binary_expression "iRam001d0870 == 0" identifier == number_literal)) ;) (expression_statement "puVar18[0x2f] = iVar14 == 0;" (assignment_expression "puVar18[0x2f] = iVar14 == 0" (subscript_expression "puVar18[0x2f]" identifier [ number_literal ]) = (binary_expression "iVar14 == 0" identifier == number_literal)) ;) (if_statement "if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;" if (parenthesized_expression "(puVar18[0x28] != puVar18[0x2f])" ( (binary_expression "puVar18[0x28] != puVar18[0x2f]" (subscript_expression "puVar18[0x28]" identifier [ number_literal ]) != (subscript_expression "puVar18[0x2f]" identifier [ number_literal ])) )) (goto_statement "goto code_r0x00034800;" goto statement_identifier ;)) (if_statement "if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (compound_statement "{\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }" { (expression_statement "*(int *)(puVar18 + -4) = iVar16;" (assignment_expression "*(int *)(puVar18 + -4) = iVar16" (pointer_expression "*(int *)(puVar18 + -4)" * (cast_expression "(int *)(puVar18 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar18 + -8) = iVar16;" (assignment_expression "*(int *)(puVar18 + -8) = iVar16" (pointer_expression "*(int *)(puVar18 + -8)" * (cast_expression "(int *)(puVar18 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar18 + -0xc) = iVar14;" (assignment_expression "*(int *)(puVar18 + -0xc) = iVar14" (pointer_expression "*(int *)(puVar18 + -0xc)" * (cast_expression "(int *)(puVar18 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x18)" * (cast_expression "(undefined4 *)(puVar18 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x18)" ( (binary_expression "puVar18 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034c8b" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034c8b" & identifier)) ;) (expression_statement "uVar23 = filename_cmp();" (assignment_expression "uVar23 = filename_cmp()" identifier = (call_expression "filename_cmp()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);" (assignment_expression "uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)uVar23 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)uVar23 >> 0x20)" ( (binary_expression "(ulonglong)uVar23 >> 0x20" (cast_expression "(ulonglong)uVar23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);" (assignment_expression "*(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38)" (pointer_expression "*(undefined4 *)(puVar18 + 8)" * (cast_expression "(undefined4 *)(puVar18 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x38)" * (cast_expression "(undefined4 *)(puVar18 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x38)" ( (binary_expression "puVar18 + 0x38" identifier + number_literal) ))))) ;) (if_statement "if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }" if (parenthesized_expression "((int)uVar23 == 0)" ( (binary_expression "(int)uVar23 == 0" (cast_expression "(int)uVar23" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }" { (expression_statement "*(undefined4 *)(puVar18 + -4) = uVar12;" (assignment_expression "*(undefined4 *)(puVar18 + -4) = uVar12" (pointer_expression "*(undefined4 *)(puVar18 + -4)" * (cast_expression "(undefined4 *)(puVar18 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = uVar12;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = uVar12" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" * (cast_expression "(undefined4 *)(puVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x38)" * (cast_expression "(undefined4 *)(puVar18 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x38)" ( (binary_expression "puVar18 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar18 + -0x10) = iRam001d0874;" (assignment_expression "*(int *)(puVar18 + -0x10) = iRam001d0874" (pointer_expression "*(int *)(puVar18 + -0x10)" * (cast_expression "(int *)(puVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034cac;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034cac" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034cac" & identifier)) ;) (expression_statement "iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (assignment_expression "iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier (argument_list "(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" ( (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "*(int *)(puVar18 + 0x18) = iVar16;" (assignment_expression "*(int *)(puVar18 + 0x18) = iVar16" (pointer_expression "*(int *)(puVar18 + 0x18)" * (cast_expression "(int *)(puVar18 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x18)" ( (binary_expression "puVar18 + 0x18" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar16 == 0) goto code_r0x000343b5;" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x000343b5;" goto statement_identifier ;)) })) (goto_statement "goto code_r0x00034800;" goto statement_identifier ;) })) (expression_statement "*(int *)(puVar18 + 8) = iVar16;" (assignment_expression "*(int *)(puVar18 + 8) = iVar16" (pointer_expression "*(int *)(puVar18 + 8)" * (cast_expression "(int *)(puVar18 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar18 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar18 + -4)" * (cast_expression "(undefined4 *)(puVar18 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar18 + -0xc) = iVar16;" (assignment_expression "*(int *)(puVar18 + -0xc) = iVar16" (pointer_expression "*(int *)(puVar18 + -0xc)" * (cast_expression "(int *)(puVar18 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar18 + 0x28) = iVar16;" (assignment_expression "*(int *)(puVar18 + 0x28) = iVar16" (pointer_expression "*(int *)(puVar18 + 0x28)" * (cast_expression "(int *)(puVar18 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x28)" ( (binary_expression "puVar18 + 0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar18 + -0x10) = iRam001d0874;" (assignment_expression "*(int *)(puVar18 + -0x10) = iRam001d0874" (pointer_expression "*(int *)(puVar18 + -0x10)" * (cast_expression "(int *)(puVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034cd6" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034cd6" & identifier)) ;) (expression_statement "iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (assignment_expression "iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier = (call_expression "strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier (argument_list "(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" ( (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "iVar16 = *(int *)(puVar18 + 0x28);" (assignment_expression "iVar16 = *(int *)(puVar18 + 0x28)" identifier = (pointer_expression "*(int *)(puVar18 + 0x28)" * (cast_expression "(int *)(puVar18 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x28)" ( (binary_expression "puVar18 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar18 + 0x18) = iVar14;" (assignment_expression "*(int *)(puVar18 + 0x18) = iVar14" (pointer_expression "*(int *)(puVar18 + 0x18)" * (cast_expression "(int *)(puVar18 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x18)" ( (binary_expression "puVar18 + 0x18" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar14 != 0) goto code_r0x00034800;" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (goto_statement "goto code_r0x00034800;" goto statement_identifier ;)) (labeled_statement "code_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }" statement_identifier : (if_statement "if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }" if (parenthesized_expression "((*pbVar22 == 0x47) && (iVar16 != 0))" ( (binary_expression "(*pbVar22 == 0x47) && (iVar16 != 0)" (parenthesized_expression "(*pbVar22 == 0x47)" ( (binary_expression "*pbVar22 == 0x47" (pointer_expression "*pbVar22" * identifier) == number_literal) )) && (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) ))) )) (compound_statement "{\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }" { (labeled_statement "code_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;" statement_identifier : (expression_statement "*(int *)(puVar18 + -8) = iVar16;" (assignment_expression "*(int *)(puVar18 + -8) = iVar16" (pointer_expression "*(int *)(puVar18 + -8)" * (cast_expression "(int *)(puVar18 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;" (assignment_expression "*(undefined **)(puVar18 + -0xc) = &UNK_0007d77d" (pointer_expression "*(undefined **)(puVar18 + -0xc)" * (cast_expression "(undefined **)(puVar18 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "&UNK_0007d77d" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034a37;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034a37" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034a37" & identifier)) ;) (expression_statement "FUN_00034e30();" (call_expression "FUN_00034e30()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }" else (compound_statement "{\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }" { (labeled_statement "code_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);" statement_identifier : (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x24)" * (cast_expression "(undefined4 *)(puVar18 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x24)" ( (binary_expression "puVar18 + 0x24" identifier + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20)" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x20)" * (cast_expression "(undefined4 *)(puVar18 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x20)" ( (binary_expression "puVar18 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);" (assignment_expression "*(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c)" (pointer_expression "*(undefined4 *)(puVar18 + -0x18)" * (cast_expression "(undefined4 *)(puVar18 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x18)" ( (binary_expression "puVar18 + -0x18" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x1c)" * (cast_expression "(undefined4 *)(puVar18 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x1c)" ( (binary_expression "puVar18 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;" (assignment_expression "*(undefined **)(puVar18 + -0x1c) = &UNK_0007d781" (pointer_expression "*(undefined **)(puVar18 + -0x1c)" * (cast_expression "(undefined **)(puVar18 + -0x1c)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x1c)" ( (binary_expression "puVar18 + -0x1c" identifier + number_literal) )))) = (pointer_expression "&UNK_0007d781" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x20)" * (cast_expression "(undefined4 *)(puVar18 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x20)" ( (binary_expression "puVar18 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x24) = &UNK_00034924;" (assignment_expression "*(undefined **)(puVar18 + -0x24) = &UNK_00034924" (pointer_expression "*(undefined **)(puVar18 + -0x24)" * (cast_expression "(undefined **)(puVar18 + -0x24)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x24)" ( (binary_expression "puVar18 + -0x24" identifier + number_literal) )))) = (pointer_expression "&UNK_00034924" & identifier)) ;) (expression_statement "FUN_00034e30();" (call_expression "FUN_00034e30()" identifier (argument_list "()" ( ))) ;) })))) }))) (if_statement "if (*(int *)(puVar18 + 0x18) == 0) goto code_r0x0003443a;" if (parenthesized_expression "(*(int *)(puVar18 + 0x18) == 0)" ( (binary_expression "*(int *)(puVar18 + 0x18) == 0" (pointer_expression "*(int *)(puVar18 + 0x18)" * (cast_expression "(int *)(puVar18 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x18)" ( (binary_expression "puVar18 + 0x18" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto code_r0x0003443a;" goto statement_identifier ;)) }))) (expression_statement "pbRam001d0878 = (byte *)0x0;" (assignment_expression "pbRam001d0878 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (iRam001d0870 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0870;\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003479e;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0870 = 0;\n    }" if (parenthesized_expression "(iRam001d0870 != 0)" ( (binary_expression "iRam001d0870 != 0" identifier != number_literal) )) (compound_statement "{\n      *(int *)(puVar18 + -0x10) = iRam001d0870;\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003479e;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0870 = 0;\n    }" { (expression_statement "*(int *)(puVar18 + -0x10) = iRam001d0870;" (assignment_expression "*(int *)(puVar18 + -0x10) = iRam001d0870" (pointer_expression "*(int *)(puVar18 + -0x10)" * (cast_expression "(int *)(puVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_0003479e;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_0003479e" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0003479e" & identifier)) ;) (expression_statement "free(*(void **)(puVar18 + -0x10));" (call_expression "free(*(void **)(puVar18 + -0x10))" identifier (argument_list "(*(void **)(puVar18 + -0x10))" ( (pointer_expression "*(void **)(puVar18 + -0x10)" * (cast_expression "(void **)(puVar18 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "iRam001d0870 = 0;" (assignment_expression "iRam001d0870 = 0" identifier = number_literal) ;) })) (if_statement "if (iRam001d0874 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0874;\n      *(undefined **)(puVar18 + -0x14) = &UNK_000347c2;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0874 = 0;\n    }" if (parenthesized_expression "(iRam001d0874 != 0)" ( (binary_expression "iRam001d0874 != 0" identifier != number_literal) )) (compound_statement "{\n      *(int *)(puVar18 + -0x10) = iRam001d0874;\n      *(undefined **)(puVar18 + -0x14) = &UNK_000347c2;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0874 = 0;\n    }" { (expression_statement "*(int *)(puVar18 + -0x10) = iRam001d0874;" (assignment_expression "*(int *)(puVar18 + -0x10) = iRam001d0874" (pointer_expression "*(int *)(puVar18 + -0x10)" * (cast_expression "(int *)(puVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_000347c2;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_000347c2" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_000347c2" & identifier)) ;) (expression_statement "free(*(void **)(puVar18 + -0x10));" (call_expression "free(*(void **)(puVar18 + -0x10))" identifier (argument_list "(*(void **)(puVar18 + -0x10))" ( (pointer_expression "*(void **)(puVar18 + -0x10)" * (cast_expression "(void **)(puVar18 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "iRam001d0874 = 0;" (assignment_expression "iRam001d0874 = 0" identifier = number_literal) ;) })) (labeled_statement "code_r0x0003443a:\n    bVar7 = pbVar22[1];" statement_identifier : (expression_statement "bVar7 = pbVar22[1];" (assignment_expression "bVar7 = pbVar22[1]" identifier = (subscript_expression "pbVar22[1]" identifier [ number_literal ])) ;)) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) (case_statement "case 0x45:\n    *(undefined **)(puVar18 + -4) = &UNK_0003444a;\n    uVar12 = bfd_get_error();\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034453;\n    uVar12 = func_0x00016b10();\n    pbVar15 = *(byte **)(puVar18 + -0xc);\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034462;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;" case number_literal : (expression_statement "*(undefined **)(puVar18 + -4) = &UNK_0003444a;" (assignment_expression "*(undefined **)(puVar18 + -4) = &UNK_0003444a" (pointer_expression "*(undefined **)(puVar18 + -4)" * (cast_expression "(undefined **)(puVar18 + -4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = (pointer_expression "&UNK_0003444a" & identifier)) ;) (expression_statement "uVar12 = bfd_get_error();" (assignment_expression "uVar12 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar12;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar12" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034453;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034453" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034453" & identifier)) ;) (expression_statement "uVar12 = func_0x00016b10();" (assignment_expression "uVar12 = func_0x00016b10()" identifier = (call_expression "func_0x00016b10()" identifier (argument_list "()" ( )))) ;) (expression_statement "pbVar15 = *(byte **)(puVar18 + -0xc);" (assignment_expression "pbVar15 = *(byte **)(puVar18 + -0xc)" identifier = (pointer_expression "*(byte **)(puVar18 + -0xc)" * (cast_expression "(byte **)(puVar18 + -0xc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" * (cast_expression "(undefined4 *)(puVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar12;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar12" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034462;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034462" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034462" & identifier)) ;) (expression_statement "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));" (call_expression "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" identifier (argument_list "(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" ( (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar18 + -0xc)" * (cast_expression "(FILE **)(puVar18 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "bVar7 = pbVar22[1];" (assignment_expression "bVar7 = pbVar22[1]" identifier = (subscript_expression "pbVar22[1]" identifier [ number_literal ])) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) (case_statement "case 0x46:\n    bVar7 = pbVar22[1];\n    *(undefined4 *)(puVar18 + 0x10) = 1;\n    goto joined_r0x000340a6;" case number_literal : (expression_statement "bVar7 = pbVar22[1];" (assignment_expression "bVar7 = pbVar22[1]" identifier = (subscript_expression "pbVar22[1]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar18 + 0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar18 + 0x10) = 1" (pointer_expression "*(undefined4 *)(puVar18 + 0x10)" * (cast_expression "(undefined4 *)(puVar18 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x10)" ( (binary_expression "puVar18 + 0x10" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) (case_statement "case 0x50:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = DAT_001d1558;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034695;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;" case number_literal : (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" * (cast_expression "(undefined4 *)(puVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = DAT_001d1558;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = DAT_001d1558" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034695;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034695" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034695" & identifier)) ;) (expression_statement "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));" (call_expression "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" identifier (argument_list "(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" ( (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar18 + -0xc)" * (cast_expression "(FILE **)(puVar18 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "bVar7 = pbVar22[1];" (assignment_expression "bVar7 = pbVar22[1]" identifier = (subscript_expression "pbVar22[1]" identifier [ number_literal ])) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) (case_statement "case 0x56:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pcVar20 = "%016llx";\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    break;" case number_literal : (expression_statement "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;" (assignment_expression "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pcVar20 = "%016llx";" (assignment_expression "pcVar20 = "%016llx"" identifier = (string_literal ""%016llx"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar18 + -4)" * (cast_expression "(undefined4 *)(puVar18 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4)" * (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa4)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa4" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" * (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0x57:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345d0;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345f5;\n    sVar11 = strlen(*(char **)(puVar18 + -0x10));\n    if (sVar11 < 8) {\n      *(byte **)(puVar18 + 8) = pbVar22;\n      uVar12 = *(undefined4 *)(puVar18 + 0x150);\n      *(byte **)(puVar18 + 0x18) = param_2;\n      do {\n        sVar11 = sVar11 + 1;\n        *(undefined4 *)(puVar18 + -0xc) = uVar12;\n        *(undefined4 *)(puVar18 + -0x10) = 0x20;\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003461c;\n        putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      } while (sVar11 != 8);\n      pbVar22 = *(byte **)(puVar18 + 8);\n      param_2 = *(byte **)(puVar18 + 0x18);\n    }\n    pcVar20 = "0x%s";\n    *(byte **)(puVar18 + -8) = pbVar15;\n    break;" case number_literal : (expression_statement "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;" (assignment_expression "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar18 + -4)" * (cast_expression "(undefined4 *)(puVar18 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4)" * (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa4)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa4" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" * (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(char **)(puVar18 + -0xc) = "%016llx";" (assignment_expression "*(char **)(puVar18 + -0xc) = "%016llx"" (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (string_literal ""%016llx"" " string_content ")) ;) (expression_statement "pcVar20 = puVar18 + 0x3c;" (assignment_expression "pcVar20 = puVar18 + 0x3c" identifier = (binary_expression "puVar18 + 0x3c" identifier + number_literal)) ;) (expression_statement "*(char **)(puVar18 + -0x10) = pcVar20;" (assignment_expression "*(char **)(puVar18 + -0x10) = pcVar20" (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_000345d0;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_000345d0" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_000345d0" & identifier)) ;) (expression_statement "sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (call_expression "sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier (argument_list "(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" ( (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "cVar2 = puVar18[0x3c];" (assignment_expression "cVar2 = puVar18[0x3c]" identifier = (subscript_expression "puVar18[0x3c]" identifier [ number_literal ])) ;) (while_statement "while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }" while (parenthesized_expression "(cVar2 == '0')" ( (binary_expression "cVar2 == '0'" identifier == (char_literal "'0'" ' character ')) )) (compound_statement "{\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }" { (expression_statement "pcVar20 = pcVar20 + 1;" (assignment_expression "pcVar20 = pcVar20 + 1" identifier = (binary_expression "pcVar20 + 1" identifier + number_literal)) ;) (expression_statement "cVar2 = *pcVar20;" (assignment_expression "cVar2 = *pcVar20" identifier = (pointer_expression "*pcVar20" * identifier)) ;) })) (expression_statement "pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));" (assignment_expression "pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'))" identifier = (cast_expression "(byte *)(pcVar20 + -(uint)(cVar2 == '\0'))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + -(uint)(cVar2 == '\0'))" ( (binary_expression "pcVar20 + -(uint)(cVar2 == '\0')" identifier + (unary_expression "-(uint)(cVar2 == '\0')" - (call_expression "(uint)(cVar2 == '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))))) )))) ;) (expression_statement "*(byte **)(puVar18 + -0x10) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -0x10) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -0x10)" * (cast_expression "(byte **)(puVar18 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_000345f5;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_000345f5" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_000345f5" & identifier)) ;) (expression_statement "sVar11 = strlen(*(char **)(puVar18 + -0x10));" (assignment_expression "sVar11 = strlen(*(char **)(puVar18 + -0x10))" identifier = (call_expression "strlen(*(char **)(puVar18 + -0x10))" identifier (argument_list "(*(char **)(puVar18 + -0x10))" ( (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (sVar11 < 8) {\n      *(byte **)(puVar18 + 8) = pbVar22;\n      uVar12 = *(undefined4 *)(puVar18 + 0x150);\n      *(byte **)(puVar18 + 0x18) = param_2;\n      do {\n        sVar11 = sVar11 + 1;\n        *(undefined4 *)(puVar18 + -0xc) = uVar12;\n        *(undefined4 *)(puVar18 + -0x10) = 0x20;\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003461c;\n        putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      } while (sVar11 != 8);\n      pbVar22 = *(byte **)(puVar18 + 8);\n      param_2 = *(byte **)(puVar18 + 0x18);\n    }" if (parenthesized_expression "(sVar11 < 8)" ( (binary_expression "sVar11 < 8" identifier < number_literal) )) (compound_statement "{\n      *(byte **)(puVar18 + 8) = pbVar22;\n      uVar12 = *(undefined4 *)(puVar18 + 0x150);\n      *(byte **)(puVar18 + 0x18) = param_2;\n      do {\n        sVar11 = sVar11 + 1;\n        *(undefined4 *)(puVar18 + -0xc) = uVar12;\n        *(undefined4 *)(puVar18 + -0x10) = 0x20;\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003461c;\n        putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      } while (sVar11 != 8);\n      pbVar22 = *(byte **)(puVar18 + 8);\n      param_2 = *(byte **)(puVar18 + 0x18);\n    }" { (expression_statement "*(byte **)(puVar18 + 8) = pbVar22;" (assignment_expression "*(byte **)(puVar18 + 8) = pbVar22" (pointer_expression "*(byte **)(puVar18 + 8)" * (cast_expression "(byte **)(puVar18 + 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar12 = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "uVar12 = *(undefined4 *)(puVar18 + 0x150)" identifier = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(byte **)(puVar18 + 0x18) = param_2;" (assignment_expression "*(byte **)(puVar18 + 0x18) = param_2" (pointer_expression "*(byte **)(puVar18 + 0x18)" * (cast_expression "(byte **)(puVar18 + 0x18)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x18)" ( (binary_expression "puVar18 + 0x18" identifier + number_literal) )))) = identifier) ;) (do_statement "do {\n        sVar11 = sVar11 + 1;\n        *(undefined4 *)(puVar18 + -0xc) = uVar12;\n        *(undefined4 *)(puVar18 + -0x10) = 0x20;\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003461c;\n        putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      } while (sVar11 != 8);" do (compound_statement "{\n        sVar11 = sVar11 + 1;\n        *(undefined4 *)(puVar18 + -0xc) = uVar12;\n        *(undefined4 *)(puVar18 + -0x10) = 0x20;\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003461c;\n        putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      }" { (expression_statement "sVar11 = sVar11 + 1;" (assignment_expression "sVar11 = sVar11 + 1" identifier = (binary_expression "sVar11 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0xc) = uVar12;" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = uVar12" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" * (cast_expression "(undefined4 *)(puVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = 0x20;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = 0x20" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_0003461c;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_0003461c" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0003461c" & identifier)) ;) (expression_statement "putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));" (call_expression "putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" identifier (argument_list "(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" ( (pointer_expression "*(int *)(puVar18 + -0x10)" * (cast_expression "(int *)(puVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar18 + -0xc)" * (cast_expression "(FILE **)(puVar18 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) }) while (parenthesized_expression "(sVar11 != 8)" ( (binary_expression "sVar11 != 8" identifier != number_literal) )) ;) (expression_statement "pbVar22 = *(byte **)(puVar18 + 8);" (assignment_expression "pbVar22 = *(byte **)(puVar18 + 8)" identifier = (pointer_expression "*(byte **)(puVar18 + 8)" * (cast_expression "(byte **)(puVar18 + 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) ))))) ;) (expression_statement "param_2 = *(byte **)(puVar18 + 0x18);" (assignment_expression "param_2 = *(byte **)(puVar18 + 0x18)" identifier = (pointer_expression "*(byte **)(puVar18 + 0x18)" * (cast_expression "(byte **)(puVar18 + 0x18)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x18)" ( (binary_expression "puVar18 + 0x18" identifier + number_literal) ))))) ;) })) (expression_statement "pcVar20 = "0x%s";" (assignment_expression "pcVar20 = "0x%s"" identifier = (string_literal ""0x%s"" " string_content ")) ;) (expression_statement "*(byte **)(puVar18 + -8) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -8) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -8)" * (cast_expression "(byte **)(puVar18 + -8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 0x58:\n    DAT_001d14e4 = 0;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;" case number_literal : (expression_statement "DAT_001d14e4 = 0;" (assignment_expression "DAT_001d14e4 = 0" identifier = number_literal) ;) (expression_statement "bVar7 = pbVar22[1];" (assignment_expression "bVar7 = pbVar22[1]" identifier = (subscript_expression "pbVar22[1]" identifier [ number_literal ])) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) (case_statement "case 100:\n    puVar10 = &DAT_0006c013;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    goto code_r0x000344af;" case number_literal : (expression_statement "puVar10 = &DAT_0006c013;" (assignment_expression "puVar10 = &DAT_0006c013" identifier = (pointer_expression "&DAT_0006c013" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" * (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (goto_statement "goto code_r0x000344af;" goto statement_identifier ;)) (case_statement "case 0x6c:\n    if (pbVar22[1] == 100) {\n      puVar10 = &UNK_0007d7c3;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000342cd:\n      *(undefined **)(puVar18 + -0xc) = puVar10;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_000342dd;\n      fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n      bVar7 = pbVar22[2];\n      param_2 = pbVar22 + 2;\n      goto joined_r0x000340a6;\n    }\n    if (pbVar22[1] == 0x75) {\n      puVar10 = &UNK_0007d7c7;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n      goto code_r0x000342cd;\n    }" case number_literal : (if_statement "if (pbVar22[1] == 100) {\n      puVar10 = &UNK_0007d7c3;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000342cd:\n      *(undefined **)(puVar18 + -0xc) = puVar10;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_000342dd;\n      fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n      bVar7 = pbVar22[2];\n      param_2 = pbVar22 + 2;\n      goto joined_r0x000340a6;\n    }" if (parenthesized_expression "(pbVar22[1] == 100)" ( (binary_expression "pbVar22[1] == 100" (subscript_expression "pbVar22[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      puVar10 = &UNK_0007d7c3;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000342cd:\n      *(undefined **)(puVar18 + -0xc) = puVar10;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_000342dd;\n      fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n      bVar7 = pbVar22[2];\n      param_2 = pbVar22 + 2;\n      goto joined_r0x000340a6;\n    }" { (expression_statement "puVar10 = &UNK_0007d7c3;" (assignment_expression "puVar10 = &UNK_0007d7c3" identifier = (pointer_expression "&UNK_0007d7c3" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" * (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (labeled_statement "code_r0x000342cd:\n      *(undefined **)(puVar18 + -0xc) = puVar10;" statement_identifier : (expression_statement "*(undefined **)(puVar18 + -0xc) = puVar10;" (assignment_expression "*(undefined **)(puVar18 + -0xc) = puVar10" (pointer_expression "*(undefined **)(puVar18 + -0xc)" * (cast_expression "(undefined **)(puVar18 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_000342dd;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_000342dd" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_000342dd" & identifier)) ;) (expression_statement "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (call_expression "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier (argument_list "(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" ( (pointer_expression "*(FILE **)(puVar18 + -0x10)" * (cast_expression "(FILE **)(puVar18 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;" (assignment_expression "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "bVar7 = pbVar22[2];" (assignment_expression "bVar7 = pbVar22[2]" identifier = (subscript_expression "pbVar22[2]" identifier [ number_literal ])) ;) (expression_statement "param_2 = pbVar22 + 2;" (assignment_expression "param_2 = pbVar22 + 2" identifier = (binary_expression "pbVar22 + 2" identifier + number_literal)) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;) })) (if_statement "if (pbVar22[1] == 0x75) {\n      puVar10 = &UNK_0007d7c7;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n      goto code_r0x000342cd;\n    }" if (parenthesized_expression "(pbVar22[1] == 0x75)" ( (binary_expression "pbVar22[1] == 0x75" (subscript_expression "pbVar22[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      puVar10 = &UNK_0007d7c7;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n      goto code_r0x000342cd;\n    }" { (expression_statement "puVar10 = &UNK_0007d7c7;" (assignment_expression "puVar10 = &UNK_0007d7c7" identifier = (pointer_expression "&UNK_0007d7c7" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" * (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (goto_statement "goto code_r0x000342cd;" goto statement_identifier ;) }))) (case_statement "default:\nLAB_0003421d:\n    pcVar20 = "%%%c";\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + 8);\n    break;" default : (labeled_statement "LAB_0003421d:\n    pcVar20 = "%%%c";" statement_identifier : (expression_statement "pcVar20 = "%%%c";" (assignment_expression "pcVar20 = "%%%c"" identifier = (string_literal ""%%%c"" " string_content ")) ;)) (expression_statement "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + 8);" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + 8)" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 8)" * (cast_expression "(undefined4 *)(puVar18 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0x70:\n    bVar7 = pbVar22[1];\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    if (bVar7 == 0x41) {\n      pbVar21 = pbVar22 + 2;\n      puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n      pbVar15 = (byte *)puVar13[0x2b];\n      *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined4 *)(puVar18 + -0x10) = *puVar13;\n      *(undefined4 **)(puVar18 + 8) = puVar13;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034a7f;\n      fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      iVar16 = *(int *)(puVar18 + 8);\n      if (pbVar15 != (byte *)0x0) {\n        if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }\n        if (iVar16 != 0) {\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }\n    }\n    else {\n      if (bVar7 == 0x42) {\n        pbVar21 = pbVar22 + 2;\n        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;\n        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);\n        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));\n        bVar7 = pbVar22[2];\n        puVar18 = puVar19 + 8;\n        param_2 = pbVar21;\n        goto joined_r0x000340a6;\n      }\n      if (bVar7 == 0x49) {\n        pbVar21 = pbVar22 + 2;\n        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);\n        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }\n    }\nLAB_000349da:\n    bVar7 = pbVar22[2];\n    param_2 = pbVar21;\n    goto joined_r0x000340a6;" case number_literal : (expression_statement "bVar7 = pbVar22[1];" (assignment_expression "bVar7 = pbVar22[1]" identifier = (subscript_expression "pbVar22[1]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;" (assignment_expression "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) + number_literal)) ;) (if_statement "if (bVar7 == 0x41) {\n      pbVar21 = pbVar22 + 2;\n      puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n      pbVar15 = (byte *)puVar13[0x2b];\n      *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined4 *)(puVar18 + -0x10) = *puVar13;\n      *(undefined4 **)(puVar18 + 8) = puVar13;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034a7f;\n      fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      iVar16 = *(int *)(puVar18 + 8);\n      if (pbVar15 != (byte *)0x0) {\n        if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }\n        if (iVar16 != 0) {\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }\n    }\n    else {\n      if (bVar7 == 0x42) {\n        pbVar21 = pbVar22 + 2;\n        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;\n        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);\n        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));\n        bVar7 = pbVar22[2];\n        puVar18 = puVar19 + 8;\n        param_2 = pbVar21;\n        goto joined_r0x000340a6;\n      }\n      if (bVar7 == 0x49) {\n        pbVar21 = pbVar22 + 2;\n        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);\n        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }\n    }" if (parenthesized_expression "(bVar7 == 0x41)" ( (binary_expression "bVar7 == 0x41" identifier == number_literal) )) (compound_statement "{\n      pbVar21 = pbVar22 + 2;\n      puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n      pbVar15 = (byte *)puVar13[0x2b];\n      *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined4 *)(puVar18 + -0x10) = *puVar13;\n      *(undefined4 **)(puVar18 + 8) = puVar13;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034a7f;\n      fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      iVar16 = *(int *)(puVar18 + 8);\n      if (pbVar15 != (byte *)0x0) {\n        if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }\n        if (iVar16 != 0) {\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }\n    }" { (expression_statement "pbVar21 = pbVar22 + 2;" (assignment_expression "pbVar21 = pbVar22 + 2" identifier = (binary_expression "pbVar22 + 2" identifier + number_literal)) ;) (expression_statement "puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0)" identifier = (pointer_expression "*(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0)" * (cast_expression "(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "pbVar15 = (byte *)puVar13[0x2b];" (assignment_expression "pbVar15 = (byte *)puVar13[0x2b]" identifier = (cast_expression "(byte *)puVar13[0x2b]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar13[0x2b]" identifier [ number_literal ]))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" * (cast_expression "(undefined4 *)(puVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *puVar13;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *puVar13" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*puVar13" * identifier)) ;) (expression_statement "*(undefined4 **)(puVar18 + 8) = puVar13;" (assignment_expression "*(undefined4 **)(puVar18 + 8) = puVar13" (pointer_expression "*(undefined4 **)(puVar18 + 8)" * (cast_expression "(undefined4 **)(puVar18 + 8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034a7f;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034a7f" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034a7f" & identifier)) ;) (expression_statement "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));" (call_expression "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" identifier (argument_list "(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" ( (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar18 + -0xc)" * (cast_expression "(FILE **)(puVar18 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "iVar16 = *(int *)(puVar18 + 8);" (assignment_expression "iVar16 = *(int *)(puVar18 + 8)" identifier = (pointer_expression "*(int *)(puVar18 + 8)" * (cast_expression "(int *)(puVar18 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) ))))) ;) (if_statement "if (pbVar15 != (byte *)0x0) {\n        if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }\n        if (iVar16 != 0) {\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }" if (parenthesized_expression "(pbVar15 != (byte *)0x0)" ( (binary_expression "pbVar15 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }\n        if (iVar16 != 0) {\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }" { (if_statement "if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }" if (parenthesized_expression "(*(int *)(*(int *)(pbVar15 + 4) + 4) == 5)" ( (binary_expression "*(int *)(*(int *)(pbVar15 + 4) + 4) == 5" (pointer_expression "*(int *)(*(int *)(pbVar15 + 4) + 4)" * (cast_expression "(int *)(*(int *)(pbVar15 + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pbVar15 + 4) + 4)" ( (binary_expression "*(int *)(pbVar15 + 4) + 4" (pointer_expression "*(int *)(pbVar15 + 4)" * (cast_expression "(int *)(pbVar15 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar15 + 4)" ( (binary_expression "pbVar15 + 4" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }" { (expression_statement "pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);" (assignment_expression "pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c)" identifier = (pointer_expression "*(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c)" * (cast_expression "(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(iVar16 + 0xa4) + 0x8c)" ( (binary_expression "*(int *)(iVar16 + 0xa4) + 0x8c" (pointer_expression "*(int *)(iVar16 + 0xa4)" * (cast_expression "(int *)(iVar16 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0xa4)" ( (binary_expression "iVar16 + 0xa4" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;" if (parenthesized_expression "((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0))" ( (binary_expression "(pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)" (parenthesized_expression "(pbVar15 == (byte *)0x0)" ( (binary_expression "pbVar15 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((*(byte *)(iVar16 + 0x17) & 2) != 0)" ( (binary_expression "(*(byte *)(iVar16 + 0x17) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar16 + 0x17) & 2)" ( (binary_expression "*(byte *)(iVar16 + 0x17) & 2" (pointer_expression "*(byte *)(iVar16 + 0x17)" * (cast_expression "(byte *)(iVar16 + 0x17)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x17)" ( (binary_expression "iVar16 + 0x17" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_000349da;" goto statement_identifier ;)) (expression_statement "iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);" (assignment_expression "iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84)" identifier = (pointer_expression "*(int *)(*(int *)(iVar16 + 0xa4) + 0x84)" * (cast_expression "(int *)(*(int *)(iVar16 + 0xa4) + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar16 + 0xa4) + 0x84)" ( (binary_expression "*(int *)(iVar16 + 0xa4) + 0x84" (pointer_expression "*(int *)(iVar16 + 0xa4)" * (cast_expression "(int *)(iVar16 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0xa4)" ( (binary_expression "iVar16 + 0xa4" identifier + number_literal) )))) + number_literal) ))))) ;) }) (else_clause "else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }" else (compound_statement "{\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }" { (if_statement "if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;" if (parenthesized_expression "((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))" ( (binary_expression "(((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0)" (parenthesized_expression "(((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0))" ( (binary_expression "((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)" (parenthesized_expression "((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2))" ( (binary_expression "(*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)" (parenthesized_expression "(*(int *)(*(int *)(pbVar15 + 4) + 4) != 2)" ( (binary_expression "*(int *)(*(int *)(pbVar15 + 4) + 4) != 2" (pointer_expression "*(int *)(*(int *)(pbVar15 + 4) + 4)" * (cast_expression "(int *)(*(int *)(pbVar15 + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pbVar15 + 4) + 4)" ( (binary_expression "*(int *)(pbVar15 + 4) + 4" (pointer_expression "*(int *)(pbVar15 + 4)" * (cast_expression "(int *)(pbVar15 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar15 + 4)" ( (binary_expression "pbVar15 + 4" identifier + number_literal) )))) + number_literal) )))) != number_literal) )) || (parenthesized_expression "(*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)" ( (binary_expression "*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2" (pointer_expression "*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4)" * (cast_expression "(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4)" ( (binary_expression "*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4" (pointer_expression "*(int *)(*(int *)(iVar16 + 0xac) + 4)" * (cast_expression "(int *)(*(int *)(iVar16 + 0xac) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar16 + 0xac) + 4)" ( (binary_expression "*(int *)(iVar16 + 0xac) + 4" (pointer_expression "*(int *)(iVar16 + 0xac)" * (cast_expression "(int *)(iVar16 + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0xac)" ( (binary_expression "iVar16 + 0xac" identifier + number_literal) )))) + number_literal) )))) + number_literal) )))) != number_literal) ))) )) || (parenthesized_expression "(*(int *)(iVar16 + 0xa4) == 0)" ( (binary_expression "*(int *)(iVar16 + 0xa4) == 0" (pointer_expression "*(int *)(iVar16 + 0xa4)" * (cast_expression "(int *)(iVar16 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0xa4)" ( (binary_expression "iVar16 + 0xa4" identifier + number_literal) )))) == number_literal) ))) )) || (parenthesized_expression "(piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0)" ( (comma_expression "piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0" (assignment_expression "piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c)" identifier = (pointer_expression "*(int **)(*(int *)(iVar16 + 0xa4) + 0x2c)" * (cast_expression "(int **)(*(int *)(iVar16 + 0xa4) + 0x2c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(iVar16 + 0xa4) + 0x2c)" ( (binary_expression "*(int *)(iVar16 + 0xa4) + 0x2c" (pointer_expression "*(int *)(iVar16 + 0xa4)" * (cast_expression "(int *)(iVar16 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0xa4)" ( (binary_expression "iVar16 + 0xa4" identifier + number_literal) )))) + number_literal) ))))) , (binary_expression "piVar6 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_000349da;" goto statement_identifier ;)) (expression_statement "iVar16 = *piVar6;" (assignment_expression "iVar16 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) }))) (if_statement "if (iVar16 != 0) {\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (compound_statement "{\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }" { (expression_statement "puVar19 = puVar18 + -8;" (assignment_expression "puVar19 = puVar18 + -8" identifier = (binary_expression "puVar18 + -8" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar18 + -8) = iVar16;" (assignment_expression "*(int *)(puVar18 + -8) = iVar16" (pointer_expression "*(int *)(puVar18 + -8)" * (cast_expression "(int *)(puVar18 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar20 = "[%s]";" (assignment_expression "pcVar20 = "[%s]"" identifier = (string_literal ""[%s]"" " string_content ")) ;) (goto_statement "goto LAB_00034ae6;" goto statement_identifier ;) })) })) }) (else_clause "else {\n      if (bVar7 == 0x42) {\n        pbVar21 = pbVar22 + 2;\n        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;\n        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);\n        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));\n        bVar7 = pbVar22[2];\n        puVar18 = puVar19 + 8;\n        param_2 = pbVar21;\n        goto joined_r0x000340a6;\n      }\n      if (bVar7 == 0x49) {\n        pbVar21 = pbVar22 + 2;\n        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);\n        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }\n    }" else (compound_statement "{\n      if (bVar7 == 0x42) {\n        pbVar21 = pbVar22 + 2;\n        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;\n        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);\n        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));\n        bVar7 = pbVar22[2];\n        puVar18 = puVar19 + 8;\n        param_2 = pbVar21;\n        goto joined_r0x000340a6;\n      }\n      if (bVar7 == 0x49) {\n        pbVar21 = pbVar22 + 2;\n        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);\n        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }\n    }" { (if_statement "if (bVar7 == 0x42) {\n        pbVar21 = pbVar22 + 2;\n        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;\n        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);\n        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));\n        bVar7 = pbVar22[2];\n        puVar18 = puVar19 + 8;\n        param_2 = pbVar21;\n        goto joined_r0x000340a6;\n      }" if (parenthesized_expression "(bVar7 == 0x42)" ( (binary_expression "bVar7 == 0x42" identifier == number_literal) )) (compound_statement "{\n        pbVar21 = pbVar22 + 2;\n        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;\n        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);\n        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));\n        bVar7 = pbVar22[2];\n        puVar18 = puVar19 + 8;\n        param_2 = pbVar21;\n        goto joined_r0x000340a6;\n      }" { (expression_statement "pbVar21 = pbVar22 + 2;" (assignment_expression "pbVar21 = pbVar22 + 2" identifier = (binary_expression "pbVar22 + 2" identifier + number_literal)) ;) (expression_statement "puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0)" identifier = (pointer_expression "*(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0)" * (cast_expression "(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }" if (parenthesized_expression "(puVar13 == (undefined4 *)0x0)" ( (binary_expression "puVar13 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }" { (expression_statement "puVar19 = puVar18 + -8;" (assignment_expression "puVar19 = puVar18 + -8" identifier = (binary_expression "puVar18 + -8" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = DAT_001d1558;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = DAT_001d1558" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar20 = "%s generated";" (assignment_expression "pcVar20 = "%s generated"" identifier = (string_literal ""%s generated"" " string_content ")) ;) }) (else_clause "else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }" else (compound_statement "{\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }" { (expression_statement "puVar8 = (undefined4 *)puVar13[0x23];" (assignment_expression "puVar8 = (undefined4 *)puVar13[0x23]" identifier = (cast_expression "(undefined4 *)puVar13[0x23]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar13[0x23]" identifier [ number_literal ]))) ;) (expression_statement "pcVar20 = (char *)*puVar13;" (assignment_expression "pcVar20 = (char *)*puVar13" identifier = (cast_expression "(char *)*puVar13" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar13" * identifier))) ;) (if_statement "if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }" if (parenthesized_expression "((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0))" ( (binary_expression "(puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)" (parenthesized_expression "(puVar8 == (undefined4 *)0x0)" ( (binary_expression "puVar8 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((*(byte *)(puVar8 + 0xb) & 1) != 0)" ( (binary_expression "(*(byte *)(puVar8 + 0xb) & 1) != 0" (parenthesized_expression "(*(byte *)(puVar8 + 0xb) & 1)" ( (binary_expression "*(byte *)(puVar8 + 0xb) & 1" (pointer_expression "*(byte *)(puVar8 + 0xb)" * (cast_expression "(byte *)(puVar8 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0xb)" ( (binary_expression "puVar8 + 0xb" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }" { (labeled_statement "code_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);" statement_identifier : (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" * (cast_expression "(undefined4 *)(puVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;)) (expression_statement "*(char **)(puVar18 + -0x10) = pcVar20;" (assignment_expression "*(char **)(puVar18 + -0x10) = pcVar20" (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034967;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034967" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034967" & identifier)) ;) (expression_statement "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));" (call_expression "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" identifier (argument_list "(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" ( (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar18 + -0xc)" * (cast_expression "(FILE **)(puVar18 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "bVar7 = pbVar22[2];" (assignment_expression "bVar7 = pbVar22[2]" identifier = (subscript_expression "pbVar22[2]" identifier [ number_literal ])) ;) (expression_statement "param_2 = pbVar22 + 2;" (assignment_expression "param_2 = pbVar22 + 2" identifier = (binary_expression "pbVar22 + 2" identifier + number_literal)) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;) })) (expression_statement "*(char **)(puVar18 + -4) = pcVar20;" (assignment_expression "*(char **)(puVar18 + -4) = pcVar20" (pointer_expression "*(char **)(puVar18 + -4)" * (cast_expression "(char **)(puVar18 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar19 = puVar18 + -8;" (assignment_expression "puVar19 = puVar18 + -8" identifier = (binary_expression "puVar18 + -8" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = *puVar8;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *puVar8" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = (pointer_expression "*puVar8" * identifier)) ;) (expression_statement "pcVar20 = "%s(%s)";" (assignment_expression "pcVar20 = "%s(%s)"" identifier = (string_literal ""%s(%s)"" " string_content ")) ;) }))) (labeled_statement "LAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;" statement_identifier : (expression_statement "*(char **)(puVar19 + -4) = pcVar20;" (assignment_expression "*(char **)(puVar19 + -4) = pcVar20" (pointer_expression "*(char **)(puVar19 + -4)" * (cast_expression "(char **)(puVar19 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -4)" ( (binary_expression "puVar19 + -4" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);" (assignment_expression "*(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158)" (pointer_expression "*(undefined4 *)(puVar19 + -8)" * (cast_expression "(undefined4 *)(puVar19 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar19 + 0x158)" * (cast_expression "(undefined4 *)(puVar19 + 0x158)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x158)" ( (binary_expression "puVar19 + 0x158" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x34af3;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x34af3" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));" (call_expression "fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4))" identifier (argument_list "(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4))" ( (pointer_expression "*(FILE **)(puVar19 + -8)" * (cast_expression "(FILE **)(puVar19 + -8)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar19 + -4)" * (cast_expression "(char **)(puVar19 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -4)" ( (binary_expression "puVar19 + -4" identifier + number_literal) )))) ))) ;) (expression_statement "bVar7 = pbVar22[2];" (assignment_expression "bVar7 = pbVar22[2]" identifier = (subscript_expression "pbVar22[2]" identifier [ number_literal ])) ;) (expression_statement "puVar18 = puVar19 + 8;" (assignment_expression "puVar18 = puVar19 + 8" identifier = (binary_expression "puVar19 + 8" identifier + number_literal)) ;) (expression_statement "param_2 = pbVar21;" (assignment_expression "param_2 = pbVar21" identifier = identifier) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;) })) (if_statement "if (bVar7 == 0x49) {\n        pbVar21 = pbVar22 + 2;\n        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);\n        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }" if (parenthesized_expression "(bVar7 == 0x49)" ( (binary_expression "bVar7 == 0x49" identifier == number_literal) )) (compound_statement "{\n        pbVar21 = pbVar22 + 2;\n        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);\n        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }\n      }" { (expression_statement "pbVar21 = pbVar22 + 2;" (assignment_expression "pbVar21 = pbVar22 + 2" identifier = (binary_expression "pbVar22 + 2" identifier + number_literal)) ;) (expression_statement "pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0)" identifier = (pointer_expression "*(byte **)(puVar18 + iVar16 * 0x10 + 0xa0)" * (cast_expression "(byte **)(puVar18 + iVar16 * 0x10 + 0xa0)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);" (assignment_expression "puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c)" identifier = (pointer_expression "*(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c)" * (cast_expression "(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pbVar15 + 0x10) + 0x8c)" ( (binary_expression "*(int *)(pbVar15 + 0x10) + 0x8c" (pointer_expression "*(int *)(pbVar15 + 0x10)" * (cast_expression "(int *)(pbVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar15 + 0x10)" ( (binary_expression "pbVar15 + 0x10" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }" if (parenthesized_expression "((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0))" ( (binary_expression "(puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)" (parenthesized_expression "(puVar13 != (undefined4 *)0x0)" ( (binary_expression "puVar13 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(byte *)(puVar13 + 0xb) & 1) == 0)" ( (binary_expression "(*(byte *)(puVar13 + 0xb) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar13 + 0xb) & 1)" ( (binary_expression "*(byte *)(puVar13 + 0xb) & 1" (pointer_expression "*(byte *)(puVar13 + 0xb)" * (cast_expression "(byte *)(puVar13 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0xb)" ( (binary_expression "puVar13 + 0xb" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }" { (labeled_statement "code_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;" statement_identifier : (expression_statement "*(undefined4 *)(puVar18 + -8) = *puVar13;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *puVar13" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = (pointer_expression "*puVar13" * identifier)) ;)) (expression_statement "*(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;" (assignment_expression "*(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1" (pointer_expression "*(undefined **)(puVar18 + -0xc)" * (cast_expression "(undefined **)(puVar18 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_0007d3a1" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x34c00;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x34c00" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (call_expression "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier (argument_list "(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" ( (pointer_expression "*(FILE **)(puVar18 + -0x10)" * (cast_expression "(FILE **)(puVar18 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) })) (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" * (cast_expression "(undefined4 *)(puVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pbVar15 + 0xc)" * (cast_expression "(undefined4 *)(pbVar15 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar15 + 0xc)" ( (binary_expression "pbVar15 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x349ab;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x349ab" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));" (call_expression "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" identifier (argument_list "(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" ( (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar18 + -0xc)" * (cast_expression "(FILE **)(puVar18 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) (if_statement "if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }" if (parenthesized_expression "((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0))" ( (binary_expression "(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)" (parenthesized_expression "(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0)" ( (binary_expression "*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0" (pointer_expression "*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c)" * (cast_expression "(int *)(*(int *)(pbVar15 + 0x10) + 0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pbVar15 + 0x10) + 0x8c)" ( (binary_expression "*(int *)(pbVar15 + 0x10) + 0x8c" (pointer_expression "*(int *)(pbVar15 + 0x10)" * (cast_expression "(int *)(pbVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar15 + 0x10)" ( (binary_expression "pbVar15 + 0x10" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) || (parenthesized_expression "((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)" ( (binary_expression "(*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0" (parenthesized_expression "(*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1)" ( (binary_expression "*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1" (pointer_expression "*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c)" * (cast_expression "(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c)" ( (binary_expression "*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c" (pointer_expression "*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c)" * (cast_expression "(int *)(*(int *)(pbVar15 + 0x10) + 0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pbVar15 + 0x10) + 0x8c)" ( (binary_expression "*(int *)(pbVar15 + 0x10) + 0x8c" (pointer_expression "*(int *)(pbVar15 + 0x10)" * (cast_expression "(int *)(pbVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar15 + 0x10)" ( (binary_expression "pbVar15 + 0x10" identifier + number_literal) )))) + number_literal) )))) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }" { (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" * (cast_expression "(undefined4 *)(puVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pbVar15 + 8)" * (cast_expression "(undefined4 *)(pbVar15 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar15 + 8)" ( (binary_expression "pbVar15 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pbVar15 + 0xc)" * (cast_expression "(undefined4 *)(pbVar15 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar15 + 0xc)" ( (binary_expression "pbVar15 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x349cf;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x349cf" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar16 = filename_cmp();" (assignment_expression "iVar16 = filename_cmp()" identifier = (call_expression "filename_cmp()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (compound_statement "{\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }" { (expression_statement "pcVar20 = " (%s)";" (assignment_expression "pcVar20 = " (%s)"" identifier = (string_literal "" (%s)"" " string_content ")) ;) (expression_statement "puVar19 = puVar18 + -8;" (assignment_expression "puVar19 = puVar18 + -8" identifier = (binary_expression "puVar18 + -8" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8)" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pbVar15 + 8)" * (cast_expression "(undefined4 *)(pbVar15 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar15 + 8)" ( (binary_expression "pbVar15 + 8" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00034ae6;" goto statement_identifier ;) })) })) }) (else_clause "else {\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }" else (compound_statement "{\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }" { (if_statement "if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }" if (parenthesized_expression "(bVar7 == 0x52)" ( (binary_expression "bVar7 == 0x52" identifier == number_literal) )) (compound_statement "{\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }" { (expression_statement "puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0)" identifier = (pointer_expression "*(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0)" * (cast_expression "(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" * (cast_expression "(undefined4 *)(puVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar13[5] + 0x20)" * (cast_expression "(undefined4 *)(puVar13[5] + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13[5] + 0x20)" ( (binary_expression "puVar13[5] + 0x20" (subscript_expression "puVar13[5]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = puVar13[4];" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = puVar13[4]" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (subscript_expression "puVar13[4]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = puVar13[3];" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = puVar13[3]" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (subscript_expression "puVar13[3]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);" (assignment_expression "*(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4)" (pointer_expression "*(undefined4 *)(puVar18 + -0x18)" * (cast_expression "(undefined4 *)(puVar18 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x18)" ( (binary_expression "puVar18 + -0x18" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)*puVar13 + 4)" * (cast_expression "(undefined4 *)(*(int *)*puVar13 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)*puVar13 + 4)" ( (binary_expression "*(int *)*puVar13 + 4" (pointer_expression "*(int *)*puVar13" * (cast_expression "(int *)*puVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar13" * identifier))) + number_literal) ))))) ;) (expression_statement "*(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";" (assignment_expression "*(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)"" (pointer_expression "*(char **)(puVar18 + -0x1c)" * (cast_expression "(char **)(puVar18 + -0x1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x1c)" ( (binary_expression "puVar18 + -0x1c" identifier + number_literal) )))) = (string_literal ""%s+0x%v (type %s)"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x20)" * (cast_expression "(undefined4 *)(puVar18 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x20)" ( (binary_expression "puVar18 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x24) = &UNK_000348d6;" (assignment_expression "*(undefined **)(puVar18 + -0x24) = &UNK_000348d6" (pointer_expression "*(undefined **)(puVar18 + -0x24)" * (cast_expression "(undefined **)(puVar18 + -0x24)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x24)" ( (binary_expression "puVar18 + -0x24" identifier + number_literal) )))) = (pointer_expression "&UNK_000348d6" & identifier)) ;) (expression_statement "FUN_00034e30();" (call_expression "FUN_00034e30()" identifier (argument_list "()" ( ))) ;) (expression_statement "bVar7 = pbVar22[2];" (assignment_expression "bVar7 = pbVar22[2]" identifier = (subscript_expression "pbVar22[2]" identifier [ number_literal ])) ;) (expression_statement "param_2 = pbVar22 + 2;" (assignment_expression "param_2 = pbVar22 + 2" identifier = (binary_expression "pbVar22 + 2" identifier + number_literal)) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;) })) (if_statement "if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }" if (parenthesized_expression "(bVar7 != 0x53)" ( (binary_expression "bVar7 != 0x53" identifier != number_literal) )) (compound_statement "{\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }" { (if_statement "if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }" if (parenthesized_expression "(bVar7 != 0x54)" ( (binary_expression "bVar7 != 0x54" identifier != number_literal) )) (compound_statement "{\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }" { (expression_statement "pcVar20 = "%p";" (assignment_expression "pcVar20 = "%p"" identifier = (string_literal ""%p"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" * (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (break_statement "break;" break ;) })) (expression_statement "pbVar21 = pbVar22 + 2;" (assignment_expression "pbVar21 = pbVar22 + 2" identifier = (binary_expression "pbVar22 + 2" identifier + number_literal)) ;) (expression_statement "pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0)" identifier = (pointer_expression "*(char **)(puVar18 + iVar16 * 0x10 + 0xa0)" * (cast_expression "(char **)(puVar18 + iVar16 * 0x10 + 0xa0)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }" if (parenthesized_expression "((pcVar20 != (char *)0x0) && (*pcVar20 != '\0'))" ( (binary_expression "(pcVar20 != (char *)0x0) && (*pcVar20 != '\0')" (parenthesized_expression "(pcVar20 != (char *)0x0)" ( (binary_expression "pcVar20 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*pcVar20 != '\0')" ( (binary_expression "*pcVar20 != '\0'" (pointer_expression "*pcVar20" * identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }" { (expression_statement "pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);" (assignment_expression "pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14)" identifier = (cast_expression "(byte *)**(undefined4 **)(puVar18 + 0x14)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puVar18 + 0x14)" * (pointer_expression "*(undefined4 **)(puVar18 + 0x14)" * (cast_expression "(undefined4 **)(puVar18 + 0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 0x14)" ( (binary_expression "puVar18 + 0x14" identifier + number_literal) ))))))) ;) (if_statement "if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }" if (parenthesized_expression "(pbVar15 != (byte *)0x0)" ( (binary_expression "pbVar15 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }" { (expression_statement "*(undefined4 *)(puVar18 + -8) = 3;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = 3" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar18 + -0xc) = pcVar20;" (assignment_expression "*(char **)(puVar18 + -0xc) = pcVar20" (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar18 + 8) = pcVar20;" (assignment_expression "*(char **)(puVar18 + 8) = pcVar20" (pointer_expression "*(char **)(puVar18 + 8)" * (cast_expression "(char **)(puVar18 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = DAT_001d1414" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_0003454c;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_0003454c" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0003454c" & identifier)) ;) (expression_statement "pbVar15 = (byte *)bfd_demangle();" (assignment_expression "pbVar15 = (byte *)bfd_demangle()" identifier = (cast_expression "(byte *)bfd_demangle()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_demangle()" identifier (argument_list "()" ( ))))) ;) (expression_statement "pcVar20 = *(char **)(puVar18 + 8);" (assignment_expression "pcVar20 = *(char **)(puVar18 + 8)" identifier = (pointer_expression "*(char **)(puVar18 + 8)" * (cast_expression "(char **)(puVar18 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) ))))) ;) (if_statement "if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }" if (parenthesized_expression "(pbVar15 != (byte *)0x0)" ( (binary_expression "pbVar15 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }" { (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" * (cast_expression "(undefined4 *)(puVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(byte **)(puVar18 + -0x10) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -0x10) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -0x10)" * (cast_expression "(byte **)(puVar18 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_0003456d;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_0003456d" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0003456d" & identifier)) ;) (expression_statement "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));" (call_expression "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" identifier (argument_list "(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" ( (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar18 + -0xc)" * (cast_expression "(FILE **)(puVar18 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "*(byte **)(puVar18 + -0x10) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -0x10) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -0x10)" * (cast_expression "(byte **)(puVar18 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034575;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034575" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034575" & identifier)) ;) (expression_statement "free(*(void **)(puVar18 + -0x10));" (call_expression "free(*(void **)(puVar18 + -0x10))" identifier (argument_list "(*(void **)(puVar18 + -0x10))" ( (pointer_expression "*(void **)(puVar18 + -0x10)" * (cast_expression "(void **)(puVar18 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "bVar7 = pbVar22[2];" (assignment_expression "bVar7 = pbVar22[2]" identifier = (subscript_expression "pbVar22[2]" identifier [ number_literal ])) ;) (expression_statement "param_2 = pbVar21;" (assignment_expression "param_2 = pbVar21" identifier = identifier) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;) })) })) (goto_statement "goto code_r0x00034957;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(puVar18 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar18 + -0xc) = "no symbol";" (assignment_expression "*(char **)(puVar18 + -0xc) = "no symbol"" (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (string_literal ""no symbol"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034b14;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034b14" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034b14" & identifier)) ;) (expression_statement "pcVar20 = (char *)dcgettext();" (assignment_expression "pcVar20 = (char *)dcgettext()" identifier = (cast_expression "(char *)dcgettext()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puVar19 = puVar18 + -8;" (assignment_expression "puVar19 = puVar18 + -8" identifier = (binary_expression "puVar18 + -8" identifier + number_literal)) ;) (goto_statement "goto LAB_00034ae6;" goto statement_identifier ;) })) (expression_statement "pbVar21 = pbVar22 + 2;" (assignment_expression "pbVar21 = pbVar22 + 2" identifier = (binary_expression "pbVar22 + 2" identifier + number_literal)) ;) (expression_statement "puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0)" identifier = (pointer_expression "*(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0)" * (cast_expression "(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }" if (parenthesized_expression "(puVar17 == (undefined1 *)0x0)" ( (binary_expression "puVar17 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }" { (expression_statement "*(undefined **)(puVar18 + -4) = &UNK_00034c1e;" (assignment_expression "*(undefined **)(puVar18 + -4) = &UNK_00034c1e" (pointer_expression "*(undefined **)(puVar18 + -4)" * (cast_expression "(undefined **)(puVar18 + -4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = (pointer_expression "&UNK_00034c1e" & identifier)) ;) (expression_statement "iVar16 = FUN_0001d2c0();" (assignment_expression "iVar16 = FUN_0001d2c0()" identifier = (call_expression "FUN_0001d2c0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)(puVar18 + 0x44) = iVar16;" (assignment_expression "*(int *)(puVar18 + 0x44) = iVar16" (pointer_expression "*(int *)(puVar18 + 0x44)" * (cast_expression "(int *)(puVar18 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x44)" ( (binary_expression "puVar18 + 0x44" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;" (assignment_expression "*(undefined4 *)(puVar18 + 0x40) = DAT_001d136c" (pointer_expression "*(undefined4 *)(puVar18 + 0x40)" * (cast_expression "(undefined4 *)(puVar18 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x40)" ( (binary_expression "puVar18 + 0x40" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar17 = puVar18 + 0x3c;" (assignment_expression "puVar17 = puVar18 + 0x3c" identifier = (binary_expression "puVar18 + 0x3c" identifier + number_literal)) ;) }) (else_clause "else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }" else (compound_statement "{\n          iVar16 = *(int *)(puVar17 + 8);\n        }" { (expression_statement "iVar16 = *(int *)(puVar17 + 8);" (assignment_expression "iVar16 = *(int *)(puVar17 + 8)" identifier = (pointer_expression "*(int *)(puVar17 + 8)" * (cast_expression "(int *)(puVar17 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 8)" ( (binary_expression "puVar17 + 8" identifier + number_literal) ))))) ;) }))) (if_statement "if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (compound_statement "{\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }" { (expression_statement "*(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);" (assignment_expression "*(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4)" (pointer_expression "*(undefined4 *)(puVar18 + -4)" * (cast_expression "(undefined4 *)(puVar18 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar17 + 4)" * (cast_expression "(undefined4 *)(puVar17 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 4)" ( (binary_expression "puVar17 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar18 + -8) = iVar16;" (assignment_expression "*(int *)(puVar18 + -8) = iVar16" (pointer_expression "*(int *)(puVar18 + -8)" * (cast_expression "(int *)(puVar18 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;" (assignment_expression "*(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0" (pointer_expression "*(undefined **)(puVar18 + -0xc)" * (cast_expression "(undefined **)(puVar18 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "&UNK_0007d7b0" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034b67;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034b67" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034b67" & identifier)) ;) (expression_statement "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (call_expression "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier (argument_list "(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" ( (pointer_expression "*(FILE **)(puVar18 + -0x10)" * (cast_expression "(FILE **)(puVar18 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) })) }))) }))) (labeled_statement "LAB_000349da:\n    bVar7 = pbVar22[2];" statement_identifier : (expression_statement "bVar7 = pbVar22[2];" (assignment_expression "bVar7 = pbVar22[2]" identifier = (subscript_expression "pbVar22[2]" identifier [ number_literal ])) ;)) (expression_statement "param_2 = pbVar21;" (assignment_expression "param_2 = pbVar21" identifier = identifier) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) (case_statement "case 0x73:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034489;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;" case number_literal : (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" * (cast_expression "(undefined4 *)(puVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" * (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034489;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034489" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034489" & identifier)) ;) (expression_statement "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));" (call_expression "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" identifier (argument_list "(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" ( (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar18 + -0xc)" * (cast_expression "(FILE **)(puVar18 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;" (assignment_expression "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "bVar7 = pbVar22[1];" (assignment_expression "bVar7 = pbVar22[1]" identifier = (subscript_expression "pbVar22[1]" identifier [ number_literal ])) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) (case_statement "case 0x75:\n    puVar10 = &UNK_0007d7b3;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000344af:\n    *(undefined **)(puVar18 + -0xc) = puVar10;\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined **)(puVar18 + -0x14) = &UNK_000344bc;\n    fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;" case number_literal : (expression_statement "puVar10 = &UNK_0007d7b3;" (assignment_expression "puVar10 = &UNK_0007d7b3" identifier = (pointer_expression "&UNK_0007d7b3" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" * (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (labeled_statement "code_r0x000344af:\n    *(undefined **)(puVar18 + -0xc) = puVar10;" statement_identifier : (expression_statement "*(undefined **)(puVar18 + -0xc) = puVar10;" (assignment_expression "*(undefined **)(puVar18 + -0xc) = puVar10" (pointer_expression "*(undefined **)(puVar18 + -0xc)" * (cast_expression "(undefined **)(puVar18 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_000344bc;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_000344bc" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_000344bc" & identifier)) ;) (expression_statement "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (call_expression "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier (argument_list "(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" ( (pointer_expression "*(FILE **)(puVar18 + -0x10)" * (cast_expression "(FILE **)(puVar18 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;" (assignment_expression "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "bVar7 = pbVar22[1];" (assignment_expression "bVar7 = pbVar22[1]" identifier = (subscript_expression "pbVar22[1]" identifier [ number_literal ])) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) (case_statement "case 0x76:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_0003426c;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034298;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;" case number_literal : (expression_statement "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;" (assignment_expression "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" * (cast_expression "(int *)(puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar18 + -4)" * (cast_expression "(undefined4 *)(puVar18 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4)" * (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa4)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa4" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" * (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" ( (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" identifier + (binary_expression "iVar16 * 0x10" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "*(char **)(puVar18 + -0xc) = "%016llx";" (assignment_expression "*(char **)(puVar18 + -0xc) = "%016llx"" (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (string_literal ""%016llx"" " string_content ")) ;) (expression_statement "pcVar20 = puVar18 + 0x3c;" (assignment_expression "pcVar20 = puVar18 + 0x3c" identifier = (binary_expression "puVar18 + 0x3c" identifier + number_literal)) ;) (expression_statement "*(char **)(puVar18 + -0x10) = pcVar20;" (assignment_expression "*(char **)(puVar18 + -0x10) = pcVar20" (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_0003426c;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_0003426c" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0003426c" & identifier)) ;) (expression_statement "sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (call_expression "sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier (argument_list "(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" ( (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "cVar2 = puVar18[0x3c];" (assignment_expression "cVar2 = puVar18[0x3c]" identifier = (subscript_expression "puVar18[0x3c]" identifier [ number_literal ])) ;) (while_statement "while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }" while (parenthesized_expression "(cVar2 == '0')" ( (binary_expression "cVar2 == '0'" identifier == (char_literal "'0'" ' character ')) )) (compound_statement "{\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }" { (expression_statement "pcVar20 = pcVar20 + 1;" (assignment_expression "pcVar20 = pcVar20 + 1" identifier = (binary_expression "pcVar20 + 1" identifier + number_literal)) ;) (expression_statement "cVar2 = *pcVar20;" (assignment_expression "cVar2 = *pcVar20" identifier = (pointer_expression "*pcVar20" * identifier)) ;) })) (expression_statement "pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));" (assignment_expression "pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'))" identifier = (cast_expression "(byte *)(pcVar20 + -(uint)(cVar2 == '\0'))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + -(uint)(cVar2 == '\0'))" ( (binary_expression "pcVar20 + -(uint)(cVar2 == '\0')" identifier + (unary_expression "-(uint)(cVar2 == '\0')" - (call_expression "(uint)(cVar2 == '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))))) )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" * (cast_expression "(undefined4 *)(puVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(byte **)(puVar18 + -0x10) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -0x10) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -0x10)" * (cast_expression "(byte **)(puVar18 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034298;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034298" (pointer_expression "*(undefined **)(puVar18 + -0x14)" * (cast_expression "(undefined **)(puVar18 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00034298" & identifier)) ;) (expression_statement "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));" (call_expression "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" identifier (argument_list "(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" ( (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar18 + -0xc)" * (cast_expression "(FILE **)(puVar18 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "bVar7 = pbVar22[1];" (assignment_expression "bVar7 = pbVar22[1]" identifier = (subscript_expression "pbVar22[1]" identifier [ number_literal ])) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;)) })) (expression_statement "*(char **)(puVar18 + -0xc) = pcVar20;" (assignment_expression "*(char **)(puVar18 + -0xc) = pcVar20" (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" * (cast_expression "(undefined4 *)(puVar18 + 0x150)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0x150)" ( (binary_expression "puVar18 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x34237;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x34237" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (call_expression "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier (argument_list "(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" ( (pointer_expression "*(FILE **)(puVar18 + -0x10)" * (cast_expression "(FILE **)(puVar18 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "bVar7 = pbVar22[1];" (assignment_expression "bVar7 = pbVar22[1]" identifier = (subscript_expression "pbVar22[1]" identifier [ number_literal ])) ;) (goto_statement "goto joined_r0x000340a6;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' character ')) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (do_statement do (compound_statement { (switch_statement switch (parenthesized_expression ( (pointer_expression * IDENT) )) (compound_statement { (case_statement default : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (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 = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (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 = (binary_expression IDENT + 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 (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression 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) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression IDENT * LIT) ]) & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) - LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT : (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement default : (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT >> (parenthesized_expression ( (binary_expression IDENT & LIT) ))) & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) ]) & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ 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 = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT : (expression_statement (assignment_expression IDENT = IDENT) ;)) (case_statement case LIT : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content escape_sequence ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * IDENT) != LIT) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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 (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_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 (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression IDENT == LIT)) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) || (parenthesized_expression ( (binary_expression IDENT != IDENT) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (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 = 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT == LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (subscript_expression IDENT [ LIT ])) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (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) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (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) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))) }))) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (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 = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (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 = LIT) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression (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) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression (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) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 + (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == (char_literal ' escape_sequence ')) ))))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (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) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) }) while (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) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (goto_statement goto statement_identifier ;) }))) (case_statement default : (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_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 != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + LIT) )))) != LIT) ))) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) || (parenthesized_expression ( (comma_expression (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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (goto_statement goto statement_identifier ;) })) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * IDENT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + LIT) )))) & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (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 (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (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 (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) })) }))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression (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) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 + (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == (char_literal ' escape_sequence ')) ))))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })))
(function_definition "void FUN_00033f20(undefined4 param_1,byte *param_2,byte *param_3)\n\n{\n  byte bVar1;\n  char cVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  code *pcVar5;\n  int *piVar6;\n  byte bVar7;\n  undefined4 *puVar8;\n  uint uVar9;\n  undefined *puVar10;\n  size_t sVar11;\n  undefined4 uVar12;\n  undefined4 *puVar13;\n  int iVar14;\n  byte *pbVar15;\n  int iVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  undefined1 *puVar19;\n  char *pcVar20;\n  byte *pbVar21;\n  byte *pbVar22;\n  undefined8 uVar23;\n  undefined1 auStack_14c [4];\n  undefined4 *local_148;\n  byte *local_144;\n  undefined *local_140;\n  undefined4 local_13c;\n  undefined4 *local_138;\n  int local_134;\n  undefined4 local_ac [36];\n  undefined4 local_1c [2];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x33f29;\n  puVar18 = auStack_14c;\n  puVar13 = local_ac;\n  puVar8 = puVar13;\n  do {\n    *puVar8 = 0;\n    puVar8 = puVar8 + 4;\n  } while (local_1c != puVar8);\n  bVar7 = *param_2;\n  local_148 = (undefined4 *)0x0;\n  local_13c = CONCAT31(local_13c._1_3_,bVar7);\n  local_138 = (undefined4 *)PTR__sch_istable_001cefa0;\n  uVar9 = (uint)bVar7;\n  pbVar15 = param_2;\nLAB_00033f90:\n  if ((char)uVar9 != '\0') {\n    if ((char)uVar9 != '%') goto LAB_00033fb0;\n    goto LAB_00033fd0;\n  }\n  uVar9 = 0;\n  pbVar15 = param_3;\n  if (local_148 != (undefined4 *)0x0) {\n    do {\n      switch(*puVar13) {\n      default:\n                    \n        FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar15 = param_3 + 4;\n        *puVar13 = *(undefined4 *)param_3;\n        break;\n      case 4:\n        uVar12 = *(undefined4 *)(param_3 + 4);\n        pbVar15 = param_3 + 8;\n        *puVar13 = *(undefined4 *)param_3;\n        puVar13[1] = uVar12;\n        break;\n      case 5:\n        uVar12 = *(undefined4 *)(param_3 + 8);\n        pbVar15 = param_3 + 0x10;\n        uVar3 = *(undefined4 *)(param_3 + 0xc);\n        *puVar13 = *(undefined4 *)param_3;\n        uVar4 = *(undefined4 *)(param_3 + 4);\n        puVar13[2] = uVar12;\n        puVar13[1] = uVar4;\n        puVar13[3] = uVar3;\n      }\n      uVar9 = uVar9 + 1;\n      puVar13 = puVar13 + 4;\n      param_3 = pbVar15;\n    } while (local_148 != (undefined4 *)uVar9);\n  }\n  local_148 = (undefined4 *)0x0;\n  local_13c = 0;\n  local_140 = PTR__sch_istable_001cefa0;\n  local_138 = &DAT_001d13c4;\njoined_r0x000340a6:\n  if (bVar7 != 0) {\n    pbVar21 = param_2;\n    pbVar15 = param_2;\n    if (bVar7 != 0x25) goto LAB_000340c2;\n    goto LAB_00034170;\n  }\n  pbVar21 = *(byte **)(puVar18 + 0x15c);\n  if ((pbVar21 != (byte *)0x0) && (DAT_001d1508 != 0)) {\n    DAT_001d14e4 = 0;\n  }\n  if (*(int *)(puVar18 + 0x10) == 0) {\n    return;\n  }\n  *(undefined4 *)(puVar18 + -0x10) = 1;\n  *(undefined4 *)(puVar18 + -0x14) = 0x34be1;\n  puVar13 = (undefined4 *)xexit();\n  puVar18 = puVar18 + -0x10;\n  pbVar22 = param_2;\n  goto code_r0x00034be8;\nLAB_00033fb0:\n  do {\n    pbVar15 = pbVar15 + 1;\n    bVar1 = *pbVar15;\n    uVar9 = (uint)bVar1;\n    if (bVar1 == 0x25) break;\n  } while (bVar1 != 0);\n  if (bVar1 != 0x25) goto LAB_00033f90;\nLAB_00033fd0:\n  local_144 = pbVar15 + 1;\n  bVar1 = pbVar15[1];\n  uVar9 = (uint)bVar1;\n  if (bVar1 == 0x30) {\n    pbVar15 = pbVar15 + 2;\nLAB_000347d7:\n    uVar9 = (uint)local_144[1];\n    goto LAB_00033f90;\n  }\n  local_134 = (int)(char)bVar1;\n  local_140 = (undefined *)local_148;\n  if (((PTR__sch_istable_001cefa0[uVar9 * 2] & 4) != 0) && (pbVar15[2] == 0x24)) {\n    local_140 = (undefined *)((int)(char)bVar1 - 0x31);\n    local_144 = pbVar15 + 3;\n    uVar9 = (uint)pbVar15[3];\n  }\n  pbVar21 = local_144;\n  pbVar15 = local_144 + 1;\n  switch(uVar9) {\n  case 0:\n    pbVar15 = local_144;\n    goto LAB_00033f90;\n  default:\n    goto LAB_000347d7;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    local_144 = (byte *)0x5;\n    break;\n  case 0x56:\n  case 0x57:\n  case 0x76:\n    local_144 = (byte *)0x4;\n    break;\n  case 100:\n  case 0x75:\n    local_144 = (byte *)0x1;\n    break;\n  case 0x6c:\n    bVar1 = local_144[1];\n    uVar9 = (uint)bVar1;\n    if ((bVar1 != 100) && (bVar1 != 0x75)) goto LAB_00033f90;\n    local_144 = (byte *)0x2;\n    pbVar15 = pbVar21 + 2;\n    break;\n  case 0x70:\n    local_144 = (byte *)0x3;\n    uVar9 = pbVar21[1] - 0x41;\n    if (((byte)uVar9 < 0x14) && ((0xe0103U >> (uVar9 & 0x1f) & 1) != 0)) {\n      pbVar15 = pbVar21 + 2;\n    }\n    break;\n  case 0x73:\n    local_144 = (byte *)0x3;\n  }\n  if (8 < local_140) {\n    local_148 = puVar13;\n                    \n    FUN_00033e90("../../ld/ldmisc.c",0xa9,"vfinfo",uVar9);\n  }\n  local_148 = (undefined4 *)((int)local_148 + 1);\n  local_ac[(int)local_140 * 4] = local_144;\n  uVar9 = (uint)*pbVar15;\n  goto LAB_00033f90;\nLAB_000340c2:\n  do {\n    pbVar15 = pbVar21;\n    bVar7 = pbVar15[1];\n    pbVar21 = pbVar15 + 1;\n    if (bVar7 == 0x25) break;\n  } while (bVar7 != 0);\n  if (param_2 != pbVar21) {\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + 0x150);\n    *(int *)(puVar18 + -8) = (int)pbVar21 - (int)param_2;\n    *(undefined4 *)(puVar18 + -0xc) = 1;\n    *(byte **)(puVar18 + -0x10) = param_2;\n    *(undefined4 *)(puVar18 + -0x14) = 0x340e9;\n    fwrite(*(void **)(puVar18 + -0x10),*(size_t *)(puVar18 + -0xc),*(size_t *)(puVar18 + -8),\n           *(FILE **)(puVar18 + -4));\n    bVar7 = pbVar15[1];\n  }\n  param_2 = pbVar21;\n  if (bVar7 != 0x25) goto joined_r0x000340a6;\nLAB_00034170:\n  bVar7 = param_2[1];\n  pbVar22 = param_2 + 1;\n  *(int *)(puVar18 + 8) = (int)(char)bVar7;\n  if (bVar7 == 0x30) {\n    *(undefined4 *)(puVar18 + 8) = 0x30;\n    param_2 = param_2 + 2;\n    goto LAB_0003421d;\n  }\n  pbVar15 = *(byte **)(puVar18 + 0xc);\n  iVar16 = *(int *)(puVar18 + 4);\n  if (((pbVar15[(uint)bVar7 * 2] & 4) != 0) && (param_2[2] == 0x24)) {\n    bVar7 = param_2[3];\n    iVar16 = *(int *)(puVar18 + 8);\n    pbVar22 = param_2 + 3;\n    *(int *)(puVar18 + 8) = (int)(char)bVar7;\n    iVar16 = iVar16 + -0x31;\n  }\n  param_2 = pbVar22 + 1;\n  switch(bVar7) {\n  case 0:\n    param_2 = pbVar22;\n  case 0x25:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = 0x25;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034207;\n    putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = *param_2;\n    goto joined_r0x000340a6;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    iVar16 = iVar16 * 0x10;\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pbVar15 = *(byte **)(puVar18 + iVar16 + 0xa0);\n    *(undefined4 *)(puVar18 + 0x1c) = *(undefined4 *)(puVar18 + iVar16 + 0xa4);\n    uVar12 = *(undefined4 *)(puVar18 + iVar16 + 0xac);\n    *(undefined4 *)(puVar18 + 0x20) = *(undefined4 *)(puVar18 + iVar16 + 0xa8);\n    *(undefined4 *)(puVar18 + 0x24) = uVar12;\n    if (pbVar15 == (byte *)0x0) {\ncode_r0x00034747:\n      *(byte **)(puVar18 + -8) = pbVar15;\n      *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003475e;\n      FUN_00034e30();\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x24) = &UNK_0003477e;\n      FUN_00034e30();\n    }\n    else {\n      *(byte **)(puVar18 + -0x10) = pbVar15;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034331;\n      iVar16 = bfd_generic_link_read_symbols();\n      if (iVar16 == 0) {\n        *(undefined4 *)(puVar18 + -8) = 5;\n        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar18 + -0x10) = 0;\n        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;\n        uVar12 = dcgettext();\n        *(byte **)(puVar18 + -0xc) = pbVar15;\n        *(undefined4 *)(puVar18 + -0x10) = uVar12;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;\n        FUN_00034d20();\n      }\n      iVar16 = *(int *)(pbVar15 + 4);\n      *(undefined4 *)(puVar18 + -0x10) = 0;\n      *(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c;\n      *(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38;\n      *(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78);\n      *(byte **)(puVar18 + -0x30) = pbVar15;\n      pcVar5 = *(code **)(iVar16 + 0x128);\n      *(undefined **)(puVar18 + -0x34) = &UNK_00034369;\n      iVar16 = (*pcVar5)();\n      if (iVar16 == 0) goto code_r0x00034747;\n      iVar16 = *(int *)(puVar18 + 0x38);\n      *(int *)(puVar18 + 8) = iVar16;\n      if ((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))) {\n        *(byte **)(puVar18 + -8) = pbVar15;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;\n        FUN_00034e30();\n        *(undefined4 *)(puVar18 + 0x18) = 1;\ncode_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }\n        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x38);\n        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;\n        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;\n        if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }\n        *(char **)(puVar18 + -4) = "";\n        *(int *)(puVar18 + -8) = iVar16;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      }\n      else {\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }\n      if (*(int *)(puVar18 + 0x18) == 0) goto code_r0x0003443a;\n    }\n    pbRam001d0878 = (byte *)0x0;\n    if (iRam001d0870 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0870;\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003479e;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0870 = 0;\n    }\n    if (iRam001d0874 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0874;\n      *(undefined **)(puVar18 + -0x14) = &UNK_000347c2;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0874 = 0;\n    }\ncode_r0x0003443a:\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x45:\n    *(undefined **)(puVar18 + -4) = &UNK_0003444a;\n    uVar12 = bfd_get_error();\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034453;\n    uVar12 = func_0x00016b10();\n    pbVar15 = *(byte **)(puVar18 + -0xc);\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034462;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x46:\n    bVar7 = pbVar22[1];\n    *(undefined4 *)(puVar18 + 0x10) = 1;\n    goto joined_r0x000340a6;\n  case 0x50:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = DAT_001d1558;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034695;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x56:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pcVar20 = "%016llx";\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    break;\n  case 0x57:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345d0;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345f5;\n    sVar11 = strlen(*(char **)(puVar18 + -0x10));\n    if (sVar11 < 8) {\n      *(byte **)(puVar18 + 8) = pbVar22;\n      uVar12 = *(undefined4 *)(puVar18 + 0x150);\n      *(byte **)(puVar18 + 0x18) = param_2;\n      do {\n        sVar11 = sVar11 + 1;\n        *(undefined4 *)(puVar18 + -0xc) = uVar12;\n        *(undefined4 *)(puVar18 + -0x10) = 0x20;\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003461c;\n        putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      } while (sVar11 != 8);\n      pbVar22 = *(byte **)(puVar18 + 8);\n      param_2 = *(byte **)(puVar18 + 0x18);\n    }\n    pcVar20 = "0x%s";\n    *(byte **)(puVar18 + -8) = pbVar15;\n    break;\n  case 0x58:\n    DAT_001d14e4 = 0;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 100:\n    puVar10 = &DAT_0006c013;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    goto code_r0x000344af;\n  case 0x6c:\n    if (pbVar22[1] == 100) {\n      puVar10 = &UNK_0007d7c3;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000342cd:\n      *(undefined **)(puVar18 + -0xc) = puVar10;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_000342dd;\n      fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n      bVar7 = pbVar22[2];\n      param_2 = pbVar22 + 2;\n      goto joined_r0x000340a6;\n    }\n    if (pbVar22[1] == 0x75) {\n      puVar10 = &UNK_0007d7c7;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n      goto code_r0x000342cd;\n    }\n  default:\nLAB_0003421d:\n    pcVar20 = "%%%c";\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + 8);\n    break;\n  case 0x70:\n    bVar7 = pbVar22[1];\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    if (bVar7 == 0x41) {\n      pbVar21 = pbVar22 + 2;\n      puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n      pbVar15 = (byte *)puVar13[0x2b];\n      *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined4 *)(puVar18 + -0x10) = *puVar13;\n      *(undefined4 **)(puVar18 + 8) = puVar13;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034a7f;\n      fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      iVar16 = *(int *)(puVar18 + 8);\n      if (pbVar15 != (byte *)0x0) {\n        if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }\n        if (iVar16 != 0) {\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }\n    }\n    else {\n      if (bVar7 == 0x42) {\n        pbVar21 = pbVar22 + 2;\n        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;\n        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);\n        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));\n        bVar7 = pbVar22[2];\n        puVar18 = puVar19 + 8;\n        param_2 = pbVar21;\n        goto joined_r0x000340a6;\n      }\n      if (bVar7 == 0x49) {\n        pbVar21 = pbVar22 + 2;\n        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);\n        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }\n    }\nLAB_000349da:\n    bVar7 = pbVar22[2];\n    param_2 = pbVar21;\n    goto joined_r0x000340a6;\n  case 0x73:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034489;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x75:\n    puVar10 = &UNK_0007d7b3;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000344af:\n    *(undefined **)(puVar18 + -0xc) = puVar10;\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined **)(puVar18 + -0x14) = &UNK_000344bc;\n    fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x76:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_0003426c;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034298;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  }\n  *(char **)(puVar18 + -0xc) = pcVar20;\n  *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n  *(undefined4 *)(puVar18 + -0x14) = 0x34237;\n  fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n  bVar7 = pbVar22[1];\n  goto joined_r0x000340a6;\n}" (primitive_type "void") (function_declarator "FUN_00033f20(undefined4 param_1,byte *param_2,byte *param_3)" (identifier "FUN_00033f20") (parameter_list "(undefined4 param_1,byte *param_2,byte *param_3)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "byte *param_2" (type_identifier "byte") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "byte *param_3" (type_identifier "byte") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) () ")"))) (compound_statement "{\n  byte bVar1;\n  char cVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  code *pcVar5;\n  int *piVar6;\n  byte bVar7;\n  undefined4 *puVar8;\n  uint uVar9;\n  undefined *puVar10;\n  size_t sVar11;\n  undefined4 uVar12;\n  undefined4 *puVar13;\n  int iVar14;\n  byte *pbVar15;\n  int iVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  undefined1 *puVar19;\n  char *pcVar20;\n  byte *pbVar21;\n  byte *pbVar22;\n  undefined8 uVar23;\n  undefined1 auStack_14c [4];\n  undefined4 *local_148;\n  byte *local_144;\n  undefined *local_140;\n  undefined4 local_13c;\n  undefined4 *local_138;\n  int local_134;\n  undefined4 local_ac [36];\n  undefined4 local_1c [2];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x33f29;\n  puVar18 = auStack_14c;\n  puVar13 = local_ac;\n  puVar8 = puVar13;\n  do {\n    *puVar8 = 0;\n    puVar8 = puVar8 + 4;\n  } while (local_1c != puVar8);\n  bVar7 = *param_2;\n  local_148 = (undefined4 *)0x0;\n  local_13c = CONCAT31(local_13c._1_3_,bVar7);\n  local_138 = (undefined4 *)PTR__sch_istable_001cefa0;\n  uVar9 = (uint)bVar7;\n  pbVar15 = param_2;\nLAB_00033f90:\n  if ((char)uVar9 != '\0') {\n    if ((char)uVar9 != '%') goto LAB_00033fb0;\n    goto LAB_00033fd0;\n  }\n  uVar9 = 0;\n  pbVar15 = param_3;\n  if (local_148 != (undefined4 *)0x0) {\n    do {\n      switch(*puVar13) {\n      default:\n                    \n        FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar15 = param_3 + 4;\n        *puVar13 = *(undefined4 *)param_3;\n        break;\n      case 4:\n        uVar12 = *(undefined4 *)(param_3 + 4);\n        pbVar15 = param_3 + 8;\n        *puVar13 = *(undefined4 *)param_3;\n        puVar13[1] = uVar12;\n        break;\n      case 5:\n        uVar12 = *(undefined4 *)(param_3 + 8);\n        pbVar15 = param_3 + 0x10;\n        uVar3 = *(undefined4 *)(param_3 + 0xc);\n        *puVar13 = *(undefined4 *)param_3;\n        uVar4 = *(undefined4 *)(param_3 + 4);\n        puVar13[2] = uVar12;\n        puVar13[1] = uVar4;\n        puVar13[3] = uVar3;\n      }\n      uVar9 = uVar9 + 1;\n      puVar13 = puVar13 + 4;\n      param_3 = pbVar15;\n    } while (local_148 != (undefined4 *)uVar9);\n  }\n  local_148 = (undefined4 *)0x0;\n  local_13c = 0;\n  local_140 = PTR__sch_istable_001cefa0;\n  local_138 = &DAT_001d13c4;\njoined_r0x000340a6:\n  if (bVar7 != 0) {\n    pbVar21 = param_2;\n    pbVar15 = param_2;\n    if (bVar7 != 0x25) goto LAB_000340c2;\n    goto LAB_00034170;\n  }\n  pbVar21 = *(byte **)(puVar18 + 0x15c);\n  if ((pbVar21 != (byte *)0x0) && (DAT_001d1508 != 0)) {\n    DAT_001d14e4 = 0;\n  }\n  if (*(int *)(puVar18 + 0x10) == 0) {\n    return;\n  }\n  *(undefined4 *)(puVar18 + -0x10) = 1;\n  *(undefined4 *)(puVar18 + -0x14) = 0x34be1;\n  puVar13 = (undefined4 *)xexit();\n  puVar18 = puVar18 + -0x10;\n  pbVar22 = param_2;\n  goto code_r0x00034be8;\nLAB_00033fb0:\n  do {\n    pbVar15 = pbVar15 + 1;\n    bVar1 = *pbVar15;\n    uVar9 = (uint)bVar1;\n    if (bVar1 == 0x25) break;\n  } while (bVar1 != 0);\n  if (bVar1 != 0x25) goto LAB_00033f90;\nLAB_00033fd0:\n  local_144 = pbVar15 + 1;\n  bVar1 = pbVar15[1];\n  uVar9 = (uint)bVar1;\n  if (bVar1 == 0x30) {\n    pbVar15 = pbVar15 + 2;\nLAB_000347d7:\n    uVar9 = (uint)local_144[1];\n    goto LAB_00033f90;\n  }\n  local_134 = (int)(char)bVar1;\n  local_140 = (undefined *)local_148;\n  if (((PTR__sch_istable_001cefa0[uVar9 * 2] & 4) != 0) && (pbVar15[2] == 0x24)) {\n    local_140 = (undefined *)((int)(char)bVar1 - 0x31);\n    local_144 = pbVar15 + 3;\n    uVar9 = (uint)pbVar15[3];\n  }\n  pbVar21 = local_144;\n  pbVar15 = local_144 + 1;\n  switch(uVar9) {\n  case 0:\n    pbVar15 = local_144;\n    goto LAB_00033f90;\n  default:\n    goto LAB_000347d7;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    local_144 = (byte *)0x5;\n    break;\n  case 0x56:\n  case 0x57:\n  case 0x76:\n    local_144 = (byte *)0x4;\n    break;\n  case 100:\n  case 0x75:\n    local_144 = (byte *)0x1;\n    break;\n  case 0x6c:\n    bVar1 = local_144[1];\n    uVar9 = (uint)bVar1;\n    if ((bVar1 != 100) && (bVar1 != 0x75)) goto LAB_00033f90;\n    local_144 = (byte *)0x2;\n    pbVar15 = pbVar21 + 2;\n    break;\n  case 0x70:\n    local_144 = (byte *)0x3;\n    uVar9 = pbVar21[1] - 0x41;\n    if (((byte)uVar9 < 0x14) && ((0xe0103U >> (uVar9 & 0x1f) & 1) != 0)) {\n      pbVar15 = pbVar21 + 2;\n    }\n    break;\n  case 0x73:\n    local_144 = (byte *)0x3;\n  }\n  if (8 < local_140) {\n    local_148 = puVar13;\n                    \n    FUN_00033e90("../../ld/ldmisc.c",0xa9,"vfinfo",uVar9);\n  }\n  local_148 = (undefined4 *)((int)local_148 + 1);\n  local_ac[(int)local_140 * 4] = local_144;\n  uVar9 = (uint)*pbVar15;\n  goto LAB_00033f90;\nLAB_000340c2:\n  do {\n    pbVar15 = pbVar21;\n    bVar7 = pbVar15[1];\n    pbVar21 = pbVar15 + 1;\n    if (bVar7 == 0x25) break;\n  } while (bVar7 != 0);\n  if (param_2 != pbVar21) {\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + 0x150);\n    *(int *)(puVar18 + -8) = (int)pbVar21 - (int)param_2;\n    *(undefined4 *)(puVar18 + -0xc) = 1;\n    *(byte **)(puVar18 + -0x10) = param_2;\n    *(undefined4 *)(puVar18 + -0x14) = 0x340e9;\n    fwrite(*(void **)(puVar18 + -0x10),*(size_t *)(puVar18 + -0xc),*(size_t *)(puVar18 + -8),\n           *(FILE **)(puVar18 + -4));\n    bVar7 = pbVar15[1];\n  }\n  param_2 = pbVar21;\n  if (bVar7 != 0x25) goto joined_r0x000340a6;\nLAB_00034170:\n  bVar7 = param_2[1];\n  pbVar22 = param_2 + 1;\n  *(int *)(puVar18 + 8) = (int)(char)bVar7;\n  if (bVar7 == 0x30) {\n    *(undefined4 *)(puVar18 + 8) = 0x30;\n    param_2 = param_2 + 2;\n    goto LAB_0003421d;\n  }\n  pbVar15 = *(byte **)(puVar18 + 0xc);\n  iVar16 = *(int *)(puVar18 + 4);\n  if (((pbVar15[(uint)bVar7 * 2] & 4) != 0) && (param_2[2] == 0x24)) {\n    bVar7 = param_2[3];\n    iVar16 = *(int *)(puVar18 + 8);\n    pbVar22 = param_2 + 3;\n    *(int *)(puVar18 + 8) = (int)(char)bVar7;\n    iVar16 = iVar16 + -0x31;\n  }\n  param_2 = pbVar22 + 1;\n  switch(bVar7) {\n  case 0:\n    param_2 = pbVar22;\n  case 0x25:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = 0x25;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034207;\n    putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = *param_2;\n    goto joined_r0x000340a6;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    iVar16 = iVar16 * 0x10;\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pbVar15 = *(byte **)(puVar18 + iVar16 + 0xa0);\n    *(undefined4 *)(puVar18 + 0x1c) = *(undefined4 *)(puVar18 + iVar16 + 0xa4);\n    uVar12 = *(undefined4 *)(puVar18 + iVar16 + 0xac);\n    *(undefined4 *)(puVar18 + 0x20) = *(undefined4 *)(puVar18 + iVar16 + 0xa8);\n    *(undefined4 *)(puVar18 + 0x24) = uVar12;\n    if (pbVar15 == (byte *)0x0) {\ncode_r0x00034747:\n      *(byte **)(puVar18 + -8) = pbVar15;\n      *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003475e;\n      FUN_00034e30();\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x24) = &UNK_0003477e;\n      FUN_00034e30();\n    }\n    else {\n      *(byte **)(puVar18 + -0x10) = pbVar15;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034331;\n      iVar16 = bfd_generic_link_read_symbols();\n      if (iVar16 == 0) {\n        *(undefined4 *)(puVar18 + -8) = 5;\n        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar18 + -0x10) = 0;\n        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;\n        uVar12 = dcgettext();\n        *(byte **)(puVar18 + -0xc) = pbVar15;\n        *(undefined4 *)(puVar18 + -0x10) = uVar12;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;\n        FUN_00034d20();\n      }\n      iVar16 = *(int *)(pbVar15 + 4);\n      *(undefined4 *)(puVar18 + -0x10) = 0;\n      *(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c;\n      *(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38;\n      *(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78);\n      *(byte **)(puVar18 + -0x30) = pbVar15;\n      pcVar5 = *(code **)(iVar16 + 0x128);\n      *(undefined **)(puVar18 + -0x34) = &UNK_00034369;\n      iVar16 = (*pcVar5)();\n      if (iVar16 == 0) goto code_r0x00034747;\n      iVar16 = *(int *)(puVar18 + 0x38);\n      *(int *)(puVar18 + 8) = iVar16;\n      if ((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))) {\n        *(byte **)(puVar18 + -8) = pbVar15;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;\n        FUN_00034e30();\n        *(undefined4 *)(puVar18 + 0x18) = 1;\ncode_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }\n        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x38);\n        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;\n        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;\n        if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }\n        *(char **)(puVar18 + -4) = "";\n        *(int *)(puVar18 + -8) = iVar16;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      }\n      else {\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }\n      if (*(int *)(puVar18 + 0x18) == 0) goto code_r0x0003443a;\n    }\n    pbRam001d0878 = (byte *)0x0;\n    if (iRam001d0870 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0870;\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003479e;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0870 = 0;\n    }\n    if (iRam001d0874 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0874;\n      *(undefined **)(puVar18 + -0x14) = &UNK_000347c2;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0874 = 0;\n    }\ncode_r0x0003443a:\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x45:\n    *(undefined **)(puVar18 + -4) = &UNK_0003444a;\n    uVar12 = bfd_get_error();\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034453;\n    uVar12 = func_0x00016b10();\n    pbVar15 = *(byte **)(puVar18 + -0xc);\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034462;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x46:\n    bVar7 = pbVar22[1];\n    *(undefined4 *)(puVar18 + 0x10) = 1;\n    goto joined_r0x000340a6;\n  case 0x50:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = DAT_001d1558;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034695;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x56:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pcVar20 = "%016llx";\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    break;\n  case 0x57:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345d0;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345f5;\n    sVar11 = strlen(*(char **)(puVar18 + -0x10));\n    if (sVar11 < 8) {\n      *(byte **)(puVar18 + 8) = pbVar22;\n      uVar12 = *(undefined4 *)(puVar18 + 0x150);\n      *(byte **)(puVar18 + 0x18) = param_2;\n      do {\n        sVar11 = sVar11 + 1;\n        *(undefined4 *)(puVar18 + -0xc) = uVar12;\n        *(undefined4 *)(puVar18 + -0x10) = 0x20;\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003461c;\n        putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      } while (sVar11 != 8);\n      pbVar22 = *(byte **)(puVar18 + 8);\n      param_2 = *(byte **)(puVar18 + 0x18);\n    }\n    pcVar20 = "0x%s";\n    *(byte **)(puVar18 + -8) = pbVar15;\n    break;\n  case 0x58:\n    DAT_001d14e4 = 0;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 100:\n    puVar10 = &DAT_0006c013;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    goto code_r0x000344af;\n  case 0x6c:\n    if (pbVar22[1] == 100) {\n      puVar10 = &UNK_0007d7c3;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000342cd:\n      *(undefined **)(puVar18 + -0xc) = puVar10;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_000342dd;\n      fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n      bVar7 = pbVar22[2];\n      param_2 = pbVar22 + 2;\n      goto joined_r0x000340a6;\n    }\n    if (pbVar22[1] == 0x75) {\n      puVar10 = &UNK_0007d7c7;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n      goto code_r0x000342cd;\n    }\n  default:\nLAB_0003421d:\n    pcVar20 = "%%%c";\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + 8);\n    break;\n  case 0x70:\n    bVar7 = pbVar22[1];\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    if (bVar7 == 0x41) {\n      pbVar21 = pbVar22 + 2;\n      puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n      pbVar15 = (byte *)puVar13[0x2b];\n      *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined4 *)(puVar18 + -0x10) = *puVar13;\n      *(undefined4 **)(puVar18 + 8) = puVar13;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034a7f;\n      fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      iVar16 = *(int *)(puVar18 + 8);\n      if (pbVar15 != (byte *)0x0) {\n        if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }\n        if (iVar16 != 0) {\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }\n    }\n    else {\n      if (bVar7 == 0x42) {\n        pbVar21 = pbVar22 + 2;\n        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;\n        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);\n        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));\n        bVar7 = pbVar22[2];\n        puVar18 = puVar19 + 8;\n        param_2 = pbVar21;\n        goto joined_r0x000340a6;\n      }\n      if (bVar7 == 0x49) {\n        pbVar21 = pbVar22 + 2;\n        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);\n        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }\n    }\nLAB_000349da:\n    bVar7 = pbVar22[2];\n    param_2 = pbVar21;\n    goto joined_r0x000340a6;\n  case 0x73:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034489;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x75:\n    puVar10 = &UNK_0007d7b3;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000344af:\n    *(undefined **)(puVar18 + -0xc) = puVar10;\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined **)(puVar18 + -0x14) = &UNK_000344bc;\n    fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x76:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_0003426c;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034298;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  }\n  *(char **)(puVar18 + -0xc) = pcVar20;\n  *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n  *(undefined4 *)(puVar18 + -0x14) = 0x34237;\n  fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n  bVar7 = pbVar22[1];\n  goto joined_r0x000340a6;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "char cVar2;" (primitive_type "char") (identifier "cVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "code *pcVar5;" (type_identifier "code") (pointer_declarator "*pcVar5" (* "*") (identifier "pcVar5")) (; ";")) (declaration "int *piVar6;" (primitive_type "int") (pointer_declarator "*piVar6" (* "*") (identifier "piVar6")) (; ";")) (declaration "byte bVar7;" (type_identifier "byte") (identifier "bVar7") (; ";")) (declaration "undefined4 *puVar8;" (type_identifier "undefined4") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "undefined *puVar10;" (type_identifier "undefined") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "size_t sVar11;" (primitive_type "size_t") (identifier "sVar11") (; ";")) (declaration "undefined4 uVar12;" (type_identifier "undefined4") (identifier "uVar12") (; ";")) (declaration "undefined4 *puVar13;" (type_identifier "undefined4") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "byte *pbVar15;" (type_identifier "byte") (pointer_declarator "*pbVar15" (* "*") (identifier "pbVar15")) (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "undefined1 *puVar17;" (type_identifier "undefined1") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "undefined1 *puVar18;" (type_identifier "undefined1") (pointer_declarator "*puVar18" (* "*") (identifier "puVar18")) (; ";")) (declaration "undefined1 *puVar19;" (type_identifier "undefined1") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (declaration "char *pcVar20;" (primitive_type "char") (pointer_declarator "*pcVar20" (* "*") (identifier "pcVar20")) (; ";")) (declaration "byte *pbVar21;" (type_identifier "byte") (pointer_declarator "*pbVar21" (* "*") (identifier "pbVar21")) (; ";")) (declaration "byte *pbVar22;" (type_identifier "byte") (pointer_declarator "*pbVar22" (* "*") (identifier "pbVar22")) (; ";")) (declaration "undefined8 uVar23;" (type_identifier "undefined8") (identifier "uVar23") (; ";")) (declaration "undefined1 auStack_14c [4];" (type_identifier "undefined1") (array_declarator "auStack_14c [4]" (identifier "auStack_14c") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined4 *local_148;" (type_identifier "undefined4") (pointer_declarator "*local_148" (* "*") (identifier "local_148")) (; ";")) (declaration "byte *local_144;" (type_identifier "byte") (pointer_declarator "*local_144" (* "*") (identifier "local_144")) (; ";")) (declaration "undefined *local_140;" (type_identifier "undefined") (pointer_declarator "*local_140" (* "*") (identifier "local_140")) (; ";")) (declaration "undefined4 local_13c;" (type_identifier "undefined4") (identifier "local_13c") (; ";")) (declaration "undefined4 *local_138;" (type_identifier "undefined4") (pointer_declarator "*local_138" (* "*") (identifier "local_138")) (; ";")) (declaration "int local_134;" (primitive_type "int") (identifier "local_134") (; ";")) (declaration "undefined4 local_ac [36];" (type_identifier "undefined4") (array_declarator "local_ac [36]" (identifier "local_ac") ([ "[") (number_literal "36") (] "]")) (; ";")) (declaration "undefined4 local_1c [2];" (type_identifier "undefined4") (array_declarator "local_1c [2]" (identifier "local_1c") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x33f29;" (assignment_expression "uStack_14 = 0x33f29" (identifier "uStack_14") (= "=") (number_literal "0x33f29")) (; ";")) (expression_statement "puVar18 = auStack_14c;" (assignment_expression "puVar18 = auStack_14c" (identifier "puVar18") (= "=") (identifier "auStack_14c")) (; ";")) (expression_statement "puVar13 = local_ac;" (assignment_expression "puVar13 = local_ac" (identifier "puVar13") (= "=") (identifier "local_ac")) (; ";")) (expression_statement "puVar8 = puVar13;" (assignment_expression "puVar8 = puVar13" (identifier "puVar8") (= "=") (identifier "puVar13")) (; ";")) (do_statement "do {\n    *puVar8 = 0;\n    puVar8 = puVar8 + 4;\n  } while (local_1c != puVar8);" (do "do") (compound_statement "{\n    *puVar8 = 0;\n    puVar8 = puVar8 + 4;\n  }" ({ "{") (expression_statement "*puVar8 = 0;" (assignment_expression "*puVar8 = 0" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar8 = puVar8 + 4;" (assignment_expression "puVar8 = puVar8 + 4" (identifier "puVar8") (= "=") (binary_expression "puVar8 + 4" (identifier "puVar8") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_1c != puVar8)" (( "(") (binary_expression "local_1c != puVar8" (identifier "local_1c") (!= "!=") (identifier "puVar8")) () ")")) (; ";")) (expression_statement "bVar7 = *param_2;" (assignment_expression "bVar7 = *param_2" (identifier "bVar7") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "local_148 = (undefined4 *)0x0;" (assignment_expression "local_148 = (undefined4 *)0x0" (identifier "local_148") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_13c = CONCAT31(local_13c._1_3_,bVar7);" (assignment_expression "local_13c = CONCAT31(local_13c._1_3_,bVar7)" (identifier "local_13c") (= "=") (call_expression "CONCAT31(local_13c._1_3_,bVar7)" (identifier "CONCAT31") (argument_list "(local_13c._1_3_,bVar7)" (( "(") (field_expression "local_13c._1_3_" (identifier "local_13c") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "bVar7") () ")")))) (; ";")) (expression_statement "local_138 = (undefined4 *)PTR__sch_istable_001cefa0;" (assignment_expression "local_138 = (undefined4 *)PTR__sch_istable_001cefa0" (identifier "local_138") (= "=") (cast_expression "(undefined4 *)PTR__sch_istable_001cefa0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__sch_istable_001cefa0"))) (; ";")) (expression_statement "uVar9 = (uint)bVar7;" (assignment_expression "uVar9 = (uint)bVar7" (identifier "uVar9") (= "=") (cast_expression "(uint)bVar7" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar7"))) (; ";")) (expression_statement "pbVar15 = param_2;" (assignment_expression "pbVar15 = param_2" (identifier "pbVar15") (= "=") (identifier "param_2")) (; ";")) (labeled_statement "LAB_00033f90:\n  if ((char)uVar9 != '\0') {\n    if ((char)uVar9 != '%') goto LAB_00033fb0;\n    goto LAB_00033fd0;\n  }" (statement_identifier "LAB_00033f90") (: ":") (if_statement "if ((char)uVar9 != '\0') {\n    if ((char)uVar9 != '%') goto LAB_00033fb0;\n    goto LAB_00033fd0;\n  }" (if "if") (parenthesized_expression "((char)uVar9 != '\0')" (( "(") (binary_expression "(char)uVar9 != '\0'" (cast_expression "(char)uVar9" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar9")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    if ((char)uVar9 != '%') goto LAB_00033fb0;\n    goto LAB_00033fd0;\n  }" ({ "{") (if_statement "if ((char)uVar9 != '%') goto LAB_00033fb0;" (if "if") (parenthesized_expression "((char)uVar9 != '%')" (( "(") (binary_expression "(char)uVar9 != '%'" (cast_expression "(char)uVar9" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar9")) (!= "!=") (char_literal "'%'" (' "'") (character "%") (' "'"))) () ")")) (goto_statement "goto LAB_00033fb0;" (goto "goto") (statement_identifier "LAB_00033fb0") (; ";"))) (goto_statement "goto LAB_00033fd0;" (goto "goto") (statement_identifier "LAB_00033fd0") (; ";")) (} "}")))) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" (identifier "uVar9") (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar15 = param_3;" (assignment_expression "pbVar15 = param_3" (identifier "pbVar15") (= "=") (identifier "param_3")) (; ";")) (if_statement "if (local_148 != (undefined4 *)0x0) {\n    do {\n      switch(*puVar13) {\n      default:\n                    \n        FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar15 = param_3 + 4;\n        *puVar13 = *(undefined4 *)param_3;\n        break;\n      case 4:\n        uVar12 = *(undefined4 *)(param_3 + 4);\n        pbVar15 = param_3 + 8;\n        *puVar13 = *(undefined4 *)param_3;\n        puVar13[1] = uVar12;\n        break;\n      case 5:\n        uVar12 = *(undefined4 *)(param_3 + 8);\n        pbVar15 = param_3 + 0x10;\n        uVar3 = *(undefined4 *)(param_3 + 0xc);\n        *puVar13 = *(undefined4 *)param_3;\n        uVar4 = *(undefined4 *)(param_3 + 4);\n        puVar13[2] = uVar12;\n        puVar13[1] = uVar4;\n        puVar13[3] = uVar3;\n      }\n      uVar9 = uVar9 + 1;\n      puVar13 = puVar13 + 4;\n      param_3 = pbVar15;\n    } while (local_148 != (undefined4 *)uVar9);\n  }" (if "if") (parenthesized_expression "(local_148 != (undefined4 *)0x0)" (( "(") (binary_expression "local_148 != (undefined4 *)0x0" (identifier "local_148") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    do {\n      switch(*puVar13) {\n      default:\n                    \n        FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar15 = param_3 + 4;\n        *puVar13 = *(undefined4 *)param_3;\n        break;\n      case 4:\n        uVar12 = *(undefined4 *)(param_3 + 4);\n        pbVar15 = param_3 + 8;\n        *puVar13 = *(undefined4 *)param_3;\n        puVar13[1] = uVar12;\n        break;\n      case 5:\n        uVar12 = *(undefined4 *)(param_3 + 8);\n        pbVar15 = param_3 + 0x10;\n        uVar3 = *(undefined4 *)(param_3 + 0xc);\n        *puVar13 = *(undefined4 *)param_3;\n        uVar4 = *(undefined4 *)(param_3 + 4);\n        puVar13[2] = uVar12;\n        puVar13[1] = uVar4;\n        puVar13[3] = uVar3;\n      }\n      uVar9 = uVar9 + 1;\n      puVar13 = puVar13 + 4;\n      param_3 = pbVar15;\n    } while (local_148 != (undefined4 *)uVar9);\n  }" ({ "{") (do_statement "do {\n      switch(*puVar13) {\n      default:\n                    \n        FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar15 = param_3 + 4;\n        *puVar13 = *(undefined4 *)param_3;\n        break;\n      case 4:\n        uVar12 = *(undefined4 *)(param_3 + 4);\n        pbVar15 = param_3 + 8;\n        *puVar13 = *(undefined4 *)param_3;\n        puVar13[1] = uVar12;\n        break;\n      case 5:\n        uVar12 = *(undefined4 *)(param_3 + 8);\n        pbVar15 = param_3 + 0x10;\n        uVar3 = *(undefined4 *)(param_3 + 0xc);\n        *puVar13 = *(undefined4 *)param_3;\n        uVar4 = *(undefined4 *)(param_3 + 4);\n        puVar13[2] = uVar12;\n        puVar13[1] = uVar4;\n        puVar13[3] = uVar3;\n      }\n      uVar9 = uVar9 + 1;\n      puVar13 = puVar13 + 4;\n      param_3 = pbVar15;\n    } while (local_148 != (undefined4 *)uVar9);" (do "do") (compound_statement "{\n      switch(*puVar13) {\n      default:\n                    \n        FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar15 = param_3 + 4;\n        *puVar13 = *(undefined4 *)param_3;\n        break;\n      case 4:\n        uVar12 = *(undefined4 *)(param_3 + 4);\n        pbVar15 = param_3 + 8;\n        *puVar13 = *(undefined4 *)param_3;\n        puVar13[1] = uVar12;\n        break;\n      case 5:\n        uVar12 = *(undefined4 *)(param_3 + 8);\n        pbVar15 = param_3 + 0x10;\n        uVar3 = *(undefined4 *)(param_3 + 0xc);\n        *puVar13 = *(undefined4 *)param_3;\n        uVar4 = *(undefined4 *)(param_3 + 4);\n        puVar13[2] = uVar12;\n        puVar13[1] = uVar4;\n        puVar13[3] = uVar3;\n      }\n      uVar9 = uVar9 + 1;\n      puVar13 = puVar13 + 4;\n      param_3 = pbVar15;\n    }" ({ "{") (switch_statement "switch(*puVar13) {\n      default:\n                    \n        FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar15 = param_3 + 4;\n        *puVar13 = *(undefined4 *)param_3;\n        break;\n      case 4:\n        uVar12 = *(undefined4 *)(param_3 + 4);\n        pbVar15 = param_3 + 8;\n        *puVar13 = *(undefined4 *)param_3;\n        puVar13[1] = uVar12;\n        break;\n      case 5:\n        uVar12 = *(undefined4 *)(param_3 + 8);\n        pbVar15 = param_3 + 0x10;\n        uVar3 = *(undefined4 *)(param_3 + 0xc);\n        *puVar13 = *(undefined4 *)param_3;\n        uVar4 = *(undefined4 *)(param_3 + 4);\n        puVar13[2] = uVar12;\n        puVar13[1] = uVar4;\n        puVar13[3] = uVar3;\n      }" (switch "switch") (parenthesized_expression "(*puVar13)" (( "(") (pointer_expression "*puVar13" (* "*") (identifier "puVar13")) () ")")) (compound_statement "{\n      default:\n                    \n        FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");\n      case 1:\n      case 2:\n      case 3:\n        pbVar15 = param_3 + 4;\n        *puVar13 = *(undefined4 *)param_3;\n        break;\n      case 4:\n        uVar12 = *(undefined4 *)(param_3 + 4);\n        pbVar15 = param_3 + 8;\n        *puVar13 = *(undefined4 *)param_3;\n        puVar13[1] = uVar12;\n        break;\n      case 5:\n        uVar12 = *(undefined4 *)(param_3 + 8);\n        pbVar15 = param_3 + 0x10;\n        uVar3 = *(undefined4 *)(param_3 + 0xc);\n        *puVar13 = *(undefined4 *)param_3;\n        uVar4 = *(undefined4 *)(param_3 + 4);\n        puVar13[2] = uVar12;\n        puVar13[1] = uVar4;\n        puVar13[3] = uVar3;\n      }" ({ "{") (case_statement "default:\n                    \n        FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");" (default "default") (: ":") (expression_statement "FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");" (call_expression "FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo")" (identifier "FUN_00033e90") (argument_list "("../../ld/ldmisc.c",0xc6,"vfinfo")" (( "(") (string_literal ""../../ld/ldmisc.c"" (" """) (string_content "../../ld/ldmisc.c") (" """)) (, ",") (number_literal "0xc6") (, ",") (string_literal ""vfinfo"" (" """) (string_content "vfinfo") (" """)) () ")"))) (; ";"))) (case_statement "case 1:" (case "case") (number_literal "1") (: ":")) (case_statement "case 2:" (case "case") (number_literal "2") (: ":")) (case_statement "case 3:\n        pbVar15 = param_3 + 4;\n        *puVar13 = *(undefined4 *)param_3;\n        break;" (case "case") (number_literal "3") (: ":") (expression_statement "pbVar15 = param_3 + 4;" (assignment_expression "pbVar15 = param_3 + 4" (identifier "pbVar15") (= "=") (binary_expression "param_3 + 4" (identifier "param_3") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "*puVar13 = *(undefined4 *)param_3;" (assignment_expression "*puVar13 = *(undefined4 *)param_3" (pointer_expression "*puVar13" (* "*") (identifier "puVar13")) (= "=") (pointer_expression "*(undefined4 *)param_3" (* "*") (cast_expression "(undefined4 *)param_3" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_3")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 4:\n        uVar12 = *(undefined4 *)(param_3 + 4);\n        pbVar15 = param_3 + 8;\n        *puVar13 = *(undefined4 *)param_3;\n        puVar13[1] = uVar12;\n        break;" (case "case") (number_literal "4") (: ":") (expression_statement "uVar12 = *(undefined4 *)(param_3 + 4);" (assignment_expression "uVar12 = *(undefined4 *)(param_3 + 4)" (identifier "uVar12") (= "=") (pointer_expression "*(undefined4 *)(param_3 + 4)" (* "*") (cast_expression "(undefined4 *)(param_3 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 4)" (( "(") (binary_expression "param_3 + 4" (identifier "param_3") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "pbVar15 = param_3 + 8;" (assignment_expression "pbVar15 = param_3 + 8" (identifier "pbVar15") (= "=") (binary_expression "param_3 + 8" (identifier "param_3") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "*puVar13 = *(undefined4 *)param_3;" (assignment_expression "*puVar13 = *(undefined4 *)param_3" (pointer_expression "*puVar13" (* "*") (identifier "puVar13")) (= "=") (pointer_expression "*(undefined4 *)param_3" (* "*") (cast_expression "(undefined4 *)param_3" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_3")))) (; ";")) (expression_statement "puVar13[1] = uVar12;" (assignment_expression "puVar13[1] = uVar12" (subscript_expression "puVar13[1]" (identifier "puVar13") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar12")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 5:\n        uVar12 = *(undefined4 *)(param_3 + 8);\n        pbVar15 = param_3 + 0x10;\n        uVar3 = *(undefined4 *)(param_3 + 0xc);\n        *puVar13 = *(undefined4 *)param_3;\n        uVar4 = *(undefined4 *)(param_3 + 4);\n        puVar13[2] = uVar12;\n        puVar13[1] = uVar4;\n        puVar13[3] = uVar3;" (case "case") (number_literal "5") (: ":") (expression_statement "uVar12 = *(undefined4 *)(param_3 + 8);" (assignment_expression "uVar12 = *(undefined4 *)(param_3 + 8)" (identifier "uVar12") (= "=") (pointer_expression "*(undefined4 *)(param_3 + 8)" (* "*") (cast_expression "(undefined4 *)(param_3 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 8)" (( "(") (binary_expression "param_3 + 8" (identifier "param_3") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "pbVar15 = param_3 + 0x10;" (assignment_expression "pbVar15 = param_3 + 0x10" (identifier "pbVar15") (= "=") (binary_expression "param_3 + 0x10" (identifier "param_3") (+ "+") (number_literal "0x10"))) (; ";")) (expression_statement "uVar3 = *(undefined4 *)(param_3 + 0xc);" (assignment_expression "uVar3 = *(undefined4 *)(param_3 + 0xc)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined4 *)(param_3 + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_3 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*puVar13 = *(undefined4 *)param_3;" (assignment_expression "*puVar13 = *(undefined4 *)param_3" (pointer_expression "*puVar13" (* "*") (identifier "puVar13")) (= "=") (pointer_expression "*(undefined4 *)param_3" (* "*") (cast_expression "(undefined4 *)param_3" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_3")))) (; ";")) (expression_statement "uVar4 = *(undefined4 *)(param_3 + 4);" (assignment_expression "uVar4 = *(undefined4 *)(param_3 + 4)" (identifier "uVar4") (= "=") (pointer_expression "*(undefined4 *)(param_3 + 4)" (* "*") (cast_expression "(undefined4 *)(param_3 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 4)" (( "(") (binary_expression "param_3 + 4" (identifier "param_3") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "puVar13[2] = uVar12;" (assignment_expression "puVar13[2] = uVar12" (subscript_expression "puVar13[2]" (identifier "puVar13") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "puVar13[1] = uVar4;" (assignment_expression "puVar13[1] = uVar4" (subscript_expression "puVar13[1]" (identifier "puVar13") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "puVar13[3] = uVar3;" (assignment_expression "puVar13[3] = uVar3" (subscript_expression "puVar13[3]" (identifier "puVar13") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar3")) (; ";"))) (} "}"))) (expression_statement "uVar9 = uVar9 + 1;" (assignment_expression "uVar9 = uVar9 + 1" (identifier "uVar9") (= "=") (binary_expression "uVar9 + 1" (identifier "uVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar13 = puVar13 + 4;" (assignment_expression "puVar13 = puVar13 + 4" (identifier "puVar13") (= "=") (binary_expression "puVar13 + 4" (identifier "puVar13") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "param_3 = pbVar15;" (assignment_expression "param_3 = pbVar15" (identifier "param_3") (= "=") (identifier "pbVar15")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_148 != (undefined4 *)uVar9)" (( "(") (binary_expression "local_148 != (undefined4 *)uVar9" (identifier "local_148") (!= "!=") (cast_expression "(undefined4 *)uVar9" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar9"))) () ")")) (; ";")) (} "}"))) (expression_statement "local_148 = (undefined4 *)0x0;" (assignment_expression "local_148 = (undefined4 *)0x0" (identifier "local_148") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_13c = 0;" (assignment_expression "local_13c = 0" (identifier "local_13c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_140 = PTR__sch_istable_001cefa0;" (assignment_expression "local_140 = PTR__sch_istable_001cefa0" (identifier "local_140") (= "=") (identifier "PTR__sch_istable_001cefa0")) (; ";")) (expression_statement "local_138 = &DAT_001d13c4;" (assignment_expression "local_138 = &DAT_001d13c4" (identifier "local_138") (= "=") (pointer_expression "&DAT_001d13c4" (& "&") (identifier "DAT_001d13c4"))) (; ";")) (labeled_statement "joined_r0x000340a6:\n  if (bVar7 != 0) {\n    pbVar21 = param_2;\n    pbVar15 = param_2;\n    if (bVar7 != 0x25) goto LAB_000340c2;\n    goto LAB_00034170;\n  }" (statement_identifier "joined_r0x000340a6") (: ":") (if_statement "if (bVar7 != 0) {\n    pbVar21 = param_2;\n    pbVar15 = param_2;\n    if (bVar7 != 0x25) goto LAB_000340c2;\n    goto LAB_00034170;\n  }" (if "if") (parenthesized_expression "(bVar7 != 0)" (( "(") (binary_expression "bVar7 != 0" (identifier "bVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    pbVar21 = param_2;\n    pbVar15 = param_2;\n    if (bVar7 != 0x25) goto LAB_000340c2;\n    goto LAB_00034170;\n  }" ({ "{") (expression_statement "pbVar21 = param_2;" (assignment_expression "pbVar21 = param_2" (identifier "pbVar21") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pbVar15 = param_2;" (assignment_expression "pbVar15 = param_2" (identifier "pbVar15") (= "=") (identifier "param_2")) (; ";")) (if_statement "if (bVar7 != 0x25) goto LAB_000340c2;" (if "if") (parenthesized_expression "(bVar7 != 0x25)" (( "(") (binary_expression "bVar7 != 0x25" (identifier "bVar7") (!= "!=") (number_literal "0x25")) () ")")) (goto_statement "goto LAB_000340c2;" (goto "goto") (statement_identifier "LAB_000340c2") (; ";"))) (goto_statement "goto LAB_00034170;" (goto "goto") (statement_identifier "LAB_00034170") (; ";")) (} "}")))) (expression_statement "pbVar21 = *(byte **)(puVar18 + 0x15c);" (assignment_expression "pbVar21 = *(byte **)(puVar18 + 0x15c)" (identifier "pbVar21") (= "=") (pointer_expression "*(byte **)(puVar18 + 0x15c)" (* "*") (cast_expression "(byte **)(puVar18 + 0x15c)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x15c)" (( "(") (binary_expression "puVar18 + 0x15c" (identifier "puVar18") (+ "+") (number_literal "0x15c")) () ")"))))) (; ";")) (if_statement "if ((pbVar21 != (byte *)0x0) && (DAT_001d1508 != 0)) {\n    DAT_001d14e4 = 0;\n  }" (if "if") (parenthesized_expression "((pbVar21 != (byte *)0x0) && (DAT_001d1508 != 0))" (( "(") (binary_expression "(pbVar21 != (byte *)0x0) && (DAT_001d1508 != 0)" (parenthesized_expression "(pbVar21 != (byte *)0x0)" (( "(") (binary_expression "pbVar21 != (byte *)0x0" (identifier "pbVar21") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(DAT_001d1508 != 0)" (( "(") (binary_expression "DAT_001d1508 != 0" (identifier "DAT_001d1508") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    DAT_001d14e4 = 0;\n  }" ({ "{") (expression_statement "DAT_001d14e4 = 0;" (assignment_expression "DAT_001d14e4 = 0" (identifier "DAT_001d14e4") (= "=") (number_literal "0")) (; ";")) (} "}"))) (if_statement "if (*(int *)(puVar18 + 0x10) == 0) {\n    return;\n  }" (if "if") (parenthesized_expression "(*(int *)(puVar18 + 0x10) == 0)" (( "(") (binary_expression "*(int *)(puVar18 + 0x10) == 0" (pointer_expression "*(int *)(puVar18 + 0x10)" (* "*") (cast_expression "(int *)(puVar18 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x10)" (( "(") (binary_expression "puVar18 + 0x10" (identifier "puVar18") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x34be1;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x34be1" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x34be1")) (; ";")) (expression_statement "puVar13 = (undefined4 *)xexit();" (assignment_expression "puVar13 = (undefined4 *)xexit()" (identifier "puVar13") (= "=") (cast_expression "(undefined4 *)xexit()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xexit()" (identifier "xexit") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "puVar18 = puVar18 + -0x10;" (assignment_expression "puVar18 = puVar18 + -0x10" (identifier "puVar18") (= "=") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10"))) (; ";")) (expression_statement "pbVar22 = param_2;" (assignment_expression "pbVar22 = param_2" (identifier "pbVar22") (= "=") (identifier "param_2")) (; ";")) (goto_statement "goto code_r0x00034be8;" (goto "goto") (statement_identifier "code_r0x00034be8") (; ";")) (labeled_statement "LAB_00033fb0:\n  do {\n    pbVar15 = pbVar15 + 1;\n    bVar1 = *pbVar15;\n    uVar9 = (uint)bVar1;\n    if (bVar1 == 0x25) break;\n  } while (bVar1 != 0);" (statement_identifier "LAB_00033fb0") (: ":") (do_statement "do {\n    pbVar15 = pbVar15 + 1;\n    bVar1 = *pbVar15;\n    uVar9 = (uint)bVar1;\n    if (bVar1 == 0x25) break;\n  } while (bVar1 != 0);" (do "do") (compound_statement "{\n    pbVar15 = pbVar15 + 1;\n    bVar1 = *pbVar15;\n    uVar9 = (uint)bVar1;\n    if (bVar1 == 0x25) break;\n  }" ({ "{") (expression_statement "pbVar15 = pbVar15 + 1;" (assignment_expression "pbVar15 = pbVar15 + 1" (identifier "pbVar15") (= "=") (binary_expression "pbVar15 + 1" (identifier "pbVar15") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar1 = *pbVar15;" (assignment_expression "bVar1 = *pbVar15" (identifier "bVar1") (= "=") (pointer_expression "*pbVar15" (* "*") (identifier "pbVar15"))) (; ";")) (expression_statement "uVar9 = (uint)bVar1;" (assignment_expression "uVar9 = (uint)bVar1" (identifier "uVar9") (= "=") (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1"))) (; ";")) (if_statement "if (bVar1 == 0x25) break;" (if "if") (parenthesized_expression "(bVar1 == 0x25)" (( "(") (binary_expression "bVar1 == 0x25" (identifier "bVar1") (== "==") (number_literal "0x25")) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}")) (while "while") (parenthesized_expression "(bVar1 != 0)" (( "(") (binary_expression "bVar1 != 0" (identifier "bVar1") (!= "!=") (number_literal "0")) () ")")) (; ";"))) (if_statement "if (bVar1 != 0x25) goto LAB_00033f90;" (if "if") (parenthesized_expression "(bVar1 != 0x25)" (( "(") (binary_expression "bVar1 != 0x25" (identifier "bVar1") (!= "!=") (number_literal "0x25")) () ")")) (goto_statement "goto LAB_00033f90;" (goto "goto") (statement_identifier "LAB_00033f90") (; ";"))) (labeled_statement "LAB_00033fd0:\n  local_144 = pbVar15 + 1;" (statement_identifier "LAB_00033fd0") (: ":") (expression_statement "local_144 = pbVar15 + 1;" (assignment_expression "local_144 = pbVar15 + 1" (identifier "local_144") (= "=") (binary_expression "pbVar15 + 1" (identifier "pbVar15") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "bVar1 = pbVar15[1];" (assignment_expression "bVar1 = pbVar15[1]" (identifier "bVar1") (= "=") (subscript_expression "pbVar15[1]" (identifier "pbVar15") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar9 = (uint)bVar1;" (assignment_expression "uVar9 = (uint)bVar1" (identifier "uVar9") (= "=") (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1"))) (; ";")) (if_statement "if (bVar1 == 0x30) {\n    pbVar15 = pbVar15 + 2;\nLAB_000347d7:\n    uVar9 = (uint)local_144[1];\n    goto LAB_00033f90;\n  }" (if "if") (parenthesized_expression "(bVar1 == 0x30)" (( "(") (binary_expression "bVar1 == 0x30" (identifier "bVar1") (== "==") (number_literal "0x30")) () ")")) (compound_statement "{\n    pbVar15 = pbVar15 + 2;\nLAB_000347d7:\n    uVar9 = (uint)local_144[1];\n    goto LAB_00033f90;\n  }" ({ "{") (expression_statement "pbVar15 = pbVar15 + 2;" (assignment_expression "pbVar15 = pbVar15 + 2" (identifier "pbVar15") (= "=") (binary_expression "pbVar15 + 2" (identifier "pbVar15") (+ "+") (number_literal "2"))) (; ";")) (labeled_statement "LAB_000347d7:\n    uVar9 = (uint)local_144[1];" (statement_identifier "LAB_000347d7") (: ":") (expression_statement "uVar9 = (uint)local_144[1];" (assignment_expression "uVar9 = (uint)local_144[1]" (identifier "uVar9") (= "=") (cast_expression "(uint)local_144[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_144[1]" (identifier "local_144") ([ "[") (number_literal "1") (] "]")))) (; ";"))) (goto_statement "goto LAB_00033f90;" (goto "goto") (statement_identifier "LAB_00033f90") (; ";")) (} "}"))) (expression_statement "local_134 = (int)(char)bVar1;" (assignment_expression "local_134 = (int)(char)bVar1" (identifier "local_134") (= "=") (cast_expression "(int)(char)bVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)bVar1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar1")))) (; ";")) (expression_statement "local_140 = (undefined *)local_148;" (assignment_expression "local_140 = (undefined *)local_148" (identifier "local_140") (= "=") (cast_expression "(undefined *)local_148" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_148"))) (; ";")) (if_statement "if (((PTR__sch_istable_001cefa0[uVar9 * 2] & 4) != 0) && (pbVar15[2] == 0x24)) {\n    local_140 = (undefined *)((int)(char)bVar1 - 0x31);\n    local_144 = pbVar15 + 3;\n    uVar9 = (uint)pbVar15[3];\n  }" (if "if") (parenthesized_expression "(((PTR__sch_istable_001cefa0[uVar9 * 2] & 4) != 0) && (pbVar15[2] == 0x24))" (( "(") (binary_expression "((PTR__sch_istable_001cefa0[uVar9 * 2] & 4) != 0) && (pbVar15[2] == 0x24)" (parenthesized_expression "((PTR__sch_istable_001cefa0[uVar9 * 2] & 4) != 0)" (( "(") (binary_expression "(PTR__sch_istable_001cefa0[uVar9 * 2] & 4) != 0" (parenthesized_expression "(PTR__sch_istable_001cefa0[uVar9 * 2] & 4)" (( "(") (binary_expression "PTR__sch_istable_001cefa0[uVar9 * 2] & 4" (subscript_expression "PTR__sch_istable_001cefa0[uVar9 * 2]" (identifier "PTR__sch_istable_001cefa0") ([ "[") (binary_expression "uVar9 * 2" (identifier "uVar9") (* "*") (number_literal "2")) (] "]")) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(pbVar15[2] == 0x24)" (( "(") (binary_expression "pbVar15[2] == 0x24" (subscript_expression "pbVar15[2]" (identifier "pbVar15") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0x24")) () ")"))) () ")")) (compound_statement "{\n    local_140 = (undefined *)((int)(char)bVar1 - 0x31);\n    local_144 = pbVar15 + 3;\n    uVar9 = (uint)pbVar15[3];\n  }" ({ "{") (expression_statement "local_140 = (undefined *)((int)(char)bVar1 - 0x31);" (assignment_expression "local_140 = (undefined *)((int)(char)bVar1 - 0x31)" (identifier "local_140") (= "=") (cast_expression "(undefined *)((int)(char)bVar1 - 0x31)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)(char)bVar1 - 0x31)" (( "(") (binary_expression "(int)(char)bVar1 - 0x31" (cast_expression "(int)(char)bVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)bVar1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar1"))) (- "-") (number_literal "0x31")) () ")")))) (; ";")) (expression_statement "local_144 = pbVar15 + 3;" (assignment_expression "local_144 = pbVar15 + 3" (identifier "local_144") (= "=") (binary_expression "pbVar15 + 3" (identifier "pbVar15") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "uVar9 = (uint)pbVar15[3];" (assignment_expression "uVar9 = (uint)pbVar15[3]" (identifier "uVar9") (= "=") (cast_expression "(uint)pbVar15[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar15[3]" (identifier "pbVar15") ([ "[") (number_literal "3") (] "]")))) (; ";")) (} "}"))) (expression_statement "pbVar21 = local_144;" (assignment_expression "pbVar21 = local_144" (identifier "pbVar21") (= "=") (identifier "local_144")) (; ";")) (expression_statement "pbVar15 = local_144 + 1;" (assignment_expression "pbVar15 = local_144 + 1" (identifier "pbVar15") (= "=") (binary_expression "local_144 + 1" (identifier "local_144") (+ "+") (number_literal "1"))) (; ";")) (switch_statement "switch(uVar9) {\n  case 0:\n    pbVar15 = local_144;\n    goto LAB_00033f90;\n  default:\n    goto LAB_000347d7;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    local_144 = (byte *)0x5;\n    break;\n  case 0x56:\n  case 0x57:\n  case 0x76:\n    local_144 = (byte *)0x4;\n    break;\n  case 100:\n  case 0x75:\n    local_144 = (byte *)0x1;\n    break;\n  case 0x6c:\n    bVar1 = local_144[1];\n    uVar9 = (uint)bVar1;\n    if ((bVar1 != 100) && (bVar1 != 0x75)) goto LAB_00033f90;\n    local_144 = (byte *)0x2;\n    pbVar15 = pbVar21 + 2;\n    break;\n  case 0x70:\n    local_144 = (byte *)0x3;\n    uVar9 = pbVar21[1] - 0x41;\n    if (((byte)uVar9 < 0x14) && ((0xe0103U >> (uVar9 & 0x1f) & 1) != 0)) {\n      pbVar15 = pbVar21 + 2;\n    }\n    break;\n  case 0x73:\n    local_144 = (byte *)0x3;\n  }" (switch "switch") (parenthesized_expression "(uVar9)" (( "(") (identifier "uVar9") () ")")) (compound_statement "{\n  case 0:\n    pbVar15 = local_144;\n    goto LAB_00033f90;\n  default:\n    goto LAB_000347d7;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    local_144 = (byte *)0x5;\n    break;\n  case 0x56:\n  case 0x57:\n  case 0x76:\n    local_144 = (byte *)0x4;\n    break;\n  case 100:\n  case 0x75:\n    local_144 = (byte *)0x1;\n    break;\n  case 0x6c:\n    bVar1 = local_144[1];\n    uVar9 = (uint)bVar1;\n    if ((bVar1 != 100) && (bVar1 != 0x75)) goto LAB_00033f90;\n    local_144 = (byte *)0x2;\n    pbVar15 = pbVar21 + 2;\n    break;\n  case 0x70:\n    local_144 = (byte *)0x3;\n    uVar9 = pbVar21[1] - 0x41;\n    if (((byte)uVar9 < 0x14) && ((0xe0103U >> (uVar9 & 0x1f) & 1) != 0)) {\n      pbVar15 = pbVar21 + 2;\n    }\n    break;\n  case 0x73:\n    local_144 = (byte *)0x3;\n  }" ({ "{") (case_statement "case 0:\n    pbVar15 = local_144;\n    goto LAB_00033f90;" (case "case") (number_literal "0") (: ":") (expression_statement "pbVar15 = local_144;" (assignment_expression "pbVar15 = local_144" (identifier "pbVar15") (= "=") (identifier "local_144")) (; ";")) (goto_statement "goto LAB_00033f90;" (goto "goto") (statement_identifier "LAB_00033f90") (; ";"))) (case_statement "default:\n    goto LAB_000347d7;" (default "default") (: ":") (goto_statement "goto LAB_000347d7;" (goto "goto") (statement_identifier "LAB_000347d7") (; ";"))) (case_statement "case 0x43:" (case "case") (number_literal "0x43") (: ":")) (case_statement "case 0x44:" (case "case") (number_literal "0x44") (: ":")) (case_statement "case 0x47:" (case "case") (number_literal "0x47") (: ":")) (case_statement "case 0x48:\n    local_144 = (byte *)0x5;\n    break;" (case "case") (number_literal "0x48") (: ":") (expression_statement "local_144 = (byte *)0x5;" (assignment_expression "local_144 = (byte *)0x5" (identifier "local_144") (= "=") (cast_expression "(byte *)0x5" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x5"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x56:" (case "case") (number_literal "0x56") (: ":")) (case_statement "case 0x57:" (case "case") (number_literal "0x57") (: ":")) (case_statement "case 0x76:\n    local_144 = (byte *)0x4;\n    break;" (case "case") (number_literal "0x76") (: ":") (expression_statement "local_144 = (byte *)0x4;" (assignment_expression "local_144 = (byte *)0x4" (identifier "local_144") (= "=") (cast_expression "(byte *)0x4" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x4"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 100:" (case "case") (number_literal "100") (: ":")) (case_statement "case 0x75:\n    local_144 = (byte *)0x1;\n    break;" (case "case") (number_literal "0x75") (: ":") (expression_statement "local_144 = (byte *)0x1;" (assignment_expression "local_144 = (byte *)0x1" (identifier "local_144") (= "=") (cast_expression "(byte *)0x1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x6c:\n    bVar1 = local_144[1];\n    uVar9 = (uint)bVar1;\n    if ((bVar1 != 100) && (bVar1 != 0x75)) goto LAB_00033f90;\n    local_144 = (byte *)0x2;\n    pbVar15 = pbVar21 + 2;\n    break;" (case "case") (number_literal "0x6c") (: ":") (expression_statement "bVar1 = local_144[1];" (assignment_expression "bVar1 = local_144[1]" (identifier "bVar1") (= "=") (subscript_expression "local_144[1]" (identifier "local_144") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar9 = (uint)bVar1;" (assignment_expression "uVar9 = (uint)bVar1" (identifier "uVar9") (= "=") (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1"))) (; ";")) (if_statement "if ((bVar1 != 100) && (bVar1 != 0x75)) goto LAB_00033f90;" (if "if") (parenthesized_expression "((bVar1 != 100) && (bVar1 != 0x75))" (( "(") (binary_expression "(bVar1 != 100) && (bVar1 != 0x75)" (parenthesized_expression "(bVar1 != 100)" (( "(") (binary_expression "bVar1 != 100" (identifier "bVar1") (!= "!=") (number_literal "100")) () ")")) (&& "&&") (parenthesized_expression "(bVar1 != 0x75)" (( "(") (binary_expression "bVar1 != 0x75" (identifier "bVar1") (!= "!=") (number_literal "0x75")) () ")"))) () ")")) (goto_statement "goto LAB_00033f90;" (goto "goto") (statement_identifier "LAB_00033f90") (; ";"))) (expression_statement "local_144 = (byte *)0x2;" (assignment_expression "local_144 = (byte *)0x2" (identifier "local_144") (= "=") (cast_expression "(byte *)0x2" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) (; ";")) (expression_statement "pbVar15 = pbVar21 + 2;" (assignment_expression "pbVar15 = pbVar21 + 2" (identifier "pbVar15") (= "=") (binary_expression "pbVar21 + 2" (identifier "pbVar21") (+ "+") (number_literal "2"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x70:\n    local_144 = (byte *)0x3;\n    uVar9 = pbVar21[1] - 0x41;\n    if (((byte)uVar9 < 0x14) && ((0xe0103U >> (uVar9 & 0x1f) & 1) != 0)) {\n      pbVar15 = pbVar21 + 2;\n    }\n    break;" (case "case") (number_literal "0x70") (: ":") (expression_statement "local_144 = (byte *)0x3;" (assignment_expression "local_144 = (byte *)0x3" (identifier "local_144") (= "=") (cast_expression "(byte *)0x3" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) (; ";")) (expression_statement "uVar9 = pbVar21[1] - 0x41;" (assignment_expression "uVar9 = pbVar21[1] - 0x41" (identifier "uVar9") (= "=") (binary_expression "pbVar21[1] - 0x41" (subscript_expression "pbVar21[1]" (identifier "pbVar21") ([ "[") (number_literal "1") (] "]")) (- "-") (number_literal "0x41"))) (; ";")) (if_statement "if (((byte)uVar9 < 0x14) && ((0xe0103U >> (uVar9 & 0x1f) & 1) != 0)) {\n      pbVar15 = pbVar21 + 2;\n    }" (if "if") (parenthesized_expression "(((byte)uVar9 < 0x14) && ((0xe0103U >> (uVar9 & 0x1f) & 1) != 0))" (( "(") (binary_expression "((byte)uVar9 < 0x14) && ((0xe0103U >> (uVar9 & 0x1f) & 1) != 0)" (parenthesized_expression "((byte)uVar9 < 0x14)" (( "(") (binary_expression "(byte)uVar9 < 0x14" (cast_expression "(byte)uVar9" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar9")) (< "<") (number_literal "0x14")) () ")")) (&& "&&") (parenthesized_expression "((0xe0103U >> (uVar9 & 0x1f) & 1) != 0)" (( "(") (binary_expression "(0xe0103U >> (uVar9 & 0x1f) & 1) != 0" (parenthesized_expression "(0xe0103U >> (uVar9 & 0x1f) & 1)" (( "(") (binary_expression "0xe0103U >> (uVar9 & 0x1f) & 1" (binary_expression "0xe0103U >> (uVar9 & 0x1f)" (number_literal "0xe0103U") (>> ">>") (parenthesized_expression "(uVar9 & 0x1f)" (( "(") (binary_expression "uVar9 & 0x1f" (identifier "uVar9") (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      pbVar15 = pbVar21 + 2;\n    }" ({ "{") (expression_statement "pbVar15 = pbVar21 + 2;" (assignment_expression "pbVar15 = pbVar21 + 2" (identifier "pbVar15") (= "=") (binary_expression "pbVar21 + 2" (identifier "pbVar21") (+ "+") (number_literal "2"))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x73:\n    local_144 = (byte *)0x3;" (case "case") (number_literal "0x73") (: ":") (expression_statement "local_144 = (byte *)0x3;" (assignment_expression "local_144 = (byte *)0x3" (identifier "local_144") (= "=") (cast_expression "(byte *)0x3" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) (; ";"))) (} "}"))) (if_statement "if (8 < local_140) {\n    local_148 = puVar13;\n                    \n    FUN_00033e90("../../ld/ldmisc.c",0xa9,"vfinfo",uVar9);\n  }" (if "if") (parenthesized_expression "(8 < local_140)" (( "(") (binary_expression "8 < local_140" (number_literal "8") (< "<") (identifier "local_140")) () ")")) (compound_statement "{\n    local_148 = puVar13;\n                    \n    FUN_00033e90("../../ld/ldmisc.c",0xa9,"vfinfo",uVar9);\n  }" ({ "{") (expression_statement "local_148 = puVar13;" (assignment_expression "local_148 = puVar13" (identifier "local_148") (= "=") (identifier "puVar13")) (; ";")) (expression_statement "FUN_00033e90("../../ld/ldmisc.c",0xa9,"vfinfo",uVar9);" (call_expression "FUN_00033e90("../../ld/ldmisc.c",0xa9,"vfinfo",uVar9)" (identifier "FUN_00033e90") (argument_list "("../../ld/ldmisc.c",0xa9,"vfinfo",uVar9)" (( "(") (string_literal ""../../ld/ldmisc.c"" (" """) (string_content "../../ld/ldmisc.c") (" """)) (, ",") (number_literal "0xa9") (, ",") (string_literal ""vfinfo"" (" """) (string_content "vfinfo") (" """)) (, ",") (identifier "uVar9") () ")"))) (; ";")) (} "}"))) (expression_statement "local_148 = (undefined4 *)((int)local_148 + 1);" (assignment_expression "local_148 = (undefined4 *)((int)local_148 + 1)" (identifier "local_148") (= "=") (cast_expression "(undefined4 *)((int)local_148 + 1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_148 + 1)" (( "(") (binary_expression "(int)local_148 + 1" (cast_expression "(int)local_148" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_148")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "local_ac[(int)local_140 * 4] = local_144;" (assignment_expression "local_ac[(int)local_140 * 4] = local_144" (subscript_expression "local_ac[(int)local_140 * 4]" (identifier "local_ac") ([ "[") (binary_expression "(int)local_140 * 4" (cast_expression "(int)local_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_140")) (* "*") (number_literal "4")) (] "]")) (= "=") (identifier "local_144")) (; ";")) (expression_statement "uVar9 = (uint)*pbVar15;" (assignment_expression "uVar9 = (uint)*pbVar15" (identifier "uVar9") (= "=") (binary_expression "(uint)*pbVar15" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar15"))) (; ";")) (goto_statement "goto LAB_00033f90;" (goto "goto") (statement_identifier "LAB_00033f90") (; ";")) (labeled_statement "LAB_000340c2:\n  do {\n    pbVar15 = pbVar21;\n    bVar7 = pbVar15[1];\n    pbVar21 = pbVar15 + 1;\n    if (bVar7 == 0x25) break;\n  } while (bVar7 != 0);" (statement_identifier "LAB_000340c2") (: ":") (do_statement "do {\n    pbVar15 = pbVar21;\n    bVar7 = pbVar15[1];\n    pbVar21 = pbVar15 + 1;\n    if (bVar7 == 0x25) break;\n  } while (bVar7 != 0);" (do "do") (compound_statement "{\n    pbVar15 = pbVar21;\n    bVar7 = pbVar15[1];\n    pbVar21 = pbVar15 + 1;\n    if (bVar7 == 0x25) break;\n  }" ({ "{") (expression_statement "pbVar15 = pbVar21;" (assignment_expression "pbVar15 = pbVar21" (identifier "pbVar15") (= "=") (identifier "pbVar21")) (; ";")) (expression_statement "bVar7 = pbVar15[1];" (assignment_expression "bVar7 = pbVar15[1]" (identifier "bVar7") (= "=") (subscript_expression "pbVar15[1]" (identifier "pbVar15") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "pbVar21 = pbVar15 + 1;" (assignment_expression "pbVar21 = pbVar15 + 1" (identifier "pbVar21") (= "=") (binary_expression "pbVar15 + 1" (identifier "pbVar15") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (bVar7 == 0x25) break;" (if "if") (parenthesized_expression "(bVar7 == 0x25)" (( "(") (binary_expression "bVar7 == 0x25" (identifier "bVar7") (== "==") (number_literal "0x25")) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}")) (while "while") (parenthesized_expression "(bVar7 != 0)" (( "(") (binary_expression "bVar7 != 0" (identifier "bVar7") (!= "!=") (number_literal "0")) () ")")) (; ";"))) (if_statement "if (param_2 != pbVar21) {\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + 0x150);\n    *(int *)(puVar18 + -8) = (int)pbVar21 - (int)param_2;\n    *(undefined4 *)(puVar18 + -0xc) = 1;\n    *(byte **)(puVar18 + -0x10) = param_2;\n    *(undefined4 *)(puVar18 + -0x14) = 0x340e9;\n    fwrite(*(void **)(puVar18 + -0x10),*(size_t *)(puVar18 + -0xc),*(size_t *)(puVar18 + -8),\n           *(FILE **)(puVar18 + -4));\n    bVar7 = pbVar15[1];\n  }" (if "if") (parenthesized_expression "(param_2 != pbVar21)" (( "(") (binary_expression "param_2 != pbVar21" (identifier "param_2") (!= "!=") (identifier "pbVar21")) () ")")) (compound_statement "{\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + 0x150);\n    *(int *)(puVar18 + -8) = (int)pbVar21 - (int)param_2;\n    *(undefined4 *)(puVar18 + -0xc) = 1;\n    *(byte **)(puVar18 + -0x10) = param_2;\n    *(undefined4 *)(puVar18 + -0x14) = 0x340e9;\n    fwrite(*(void **)(puVar18 + -0x10),*(size_t *)(puVar18 + -0xc),*(size_t *)(puVar18 + -8),\n           *(FILE **)(puVar18 + -4));\n    bVar7 = pbVar15[1];\n  }" ({ "{") (expression_statement "*(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -4)" (( "(") (binary_expression "puVar18 + -4" (identifier "puVar18") (+ "+") (number_literal "-4")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x150)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x150)" (( "(") (binary_expression "puVar18 + 0x150" (identifier "puVar18") (+ "+") (number_literal "0x150")) () ")"))))) (; ";")) (expression_statement "*(int *)(puVar18 + -8) = (int)pbVar21 - (int)param_2;" (assignment_expression "*(int *)(puVar18 + -8) = (int)pbVar21 - (int)param_2" (pointer_expression "*(int *)(puVar18 + -8)" (* "*") (cast_expression "(int *)(puVar18 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "(int)pbVar21 - (int)param_2" (cast_expression "(int)pbVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar21")) (- "-") (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(byte **)(puVar18 + -0x10) = param_2;" (assignment_expression "*(byte **)(puVar18 + -0x10) = param_2" (pointer_expression "*(byte **)(puVar18 + -0x10)" (* "*") (cast_expression "(byte **)(puVar18 + -0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x340e9;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x340e9" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x340e9")) (; ";")) (expression_statement "fwrite(*(void **)(puVar18 + -0x10),*(size_t *)(puVar18 + -0xc),*(size_t *)(puVar18 + -8),\n           *(FILE **)(puVar18 + -4));" (call_expression "fwrite(*(void **)(puVar18 + -0x10),*(size_t *)(puVar18 + -0xc),*(size_t *)(puVar18 + -8),\n           *(FILE **)(puVar18 + -4))" (identifier "fwrite") (argument_list "(*(void **)(puVar18 + -0x10),*(size_t *)(puVar18 + -0xc),*(size_t *)(puVar18 + -8),\n           *(FILE **)(puVar18 + -4))" (( "(") (pointer_expression "*(void **)(puVar18 + -0x10)" (* "*") (cast_expression "(void **)(puVar18 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(size_t *)(puVar18 + -0xc)" (* "*") (cast_expression "(size_t *)(puVar18 + -0xc)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (, ",") (pointer_expression "*(size_t *)(puVar18 + -8)" (* "*") (cast_expression "(size_t *)(puVar18 + -8)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (, ",") (pointer_expression "*(FILE **)(puVar18 + -4)" (* "*") (cast_expression "(FILE **)(puVar18 + -4)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -4)" (( "(") (binary_expression "puVar18 + -4" (identifier "puVar18") (+ "+") (number_literal "-4")) () ")")))) () ")"))) (; ";")) (expression_statement "bVar7 = pbVar15[1];" (assignment_expression "bVar7 = pbVar15[1]" (identifier "bVar7") (= "=") (subscript_expression "pbVar15[1]" (identifier "pbVar15") ([ "[") (number_literal "1") (] "]"))) (; ";")) (} "}"))) (expression_statement "param_2 = pbVar21;" (assignment_expression "param_2 = pbVar21" (identifier "param_2") (= "=") (identifier "pbVar21")) (; ";")) (if_statement "if (bVar7 != 0x25) goto joined_r0x000340a6;" (if "if") (parenthesized_expression "(bVar7 != 0x25)" (( "(") (binary_expression "bVar7 != 0x25" (identifier "bVar7") (!= "!=") (number_literal "0x25")) () ")")) (goto_statement "goto joined_r0x000340a6;" (goto "goto") (statement_identifier "joined_r0x000340a6") (; ";"))) (labeled_statement "LAB_00034170:\n  bVar7 = param_2[1];" (statement_identifier "LAB_00034170") (: ":") (expression_statement "bVar7 = param_2[1];" (assignment_expression "bVar7 = param_2[1]" (identifier "bVar7") (= "=") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]"))) (; ";"))) (expression_statement "pbVar22 = param_2 + 1;" (assignment_expression "pbVar22 = param_2 + 1" (identifier "pbVar22") (= "=") (binary_expression "param_2 + 1" (identifier "param_2") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(int *)(puVar18 + 8) = (int)(char)bVar7;" (assignment_expression "*(int *)(puVar18 + 8) = (int)(char)bVar7" (pointer_expression "*(int *)(puVar18 + 8)" (* "*") (cast_expression "(int *)(puVar18 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 8)" (( "(") (binary_expression "puVar18 + 8" (identifier "puVar18") (+ "+") (number_literal "8")) () ")")))) (= "=") (cast_expression "(int)(char)bVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)bVar7" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar7")))) (; ";")) (if_statement "if (bVar7 == 0x30) {\n    *(undefined4 *)(puVar18 + 8) = 0x30;\n    param_2 = param_2 + 2;\n    goto LAB_0003421d;\n  }" (if "if") (parenthesized_expression "(bVar7 == 0x30)" (( "(") (binary_expression "bVar7 == 0x30" (identifier "bVar7") (== "==") (number_literal "0x30")) () ")")) (compound_statement "{\n    *(undefined4 *)(puVar18 + 8) = 0x30;\n    param_2 = param_2 + 2;\n    goto LAB_0003421d;\n  }" ({ "{") (expression_statement "*(undefined4 *)(puVar18 + 8) = 0x30;" (assignment_expression "*(undefined4 *)(puVar18 + 8) = 0x30" (pointer_expression "*(undefined4 *)(puVar18 + 8)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 8)" (( "(") (binary_expression "puVar18 + 8" (identifier "puVar18") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0x30")) (; ";")) (expression_statement "param_2 = param_2 + 2;" (assignment_expression "param_2 = param_2 + 2" (identifier "param_2") (= "=") (binary_expression "param_2 + 2" (identifier "param_2") (+ "+") (number_literal "2"))) (; ";")) (goto_statement "goto LAB_0003421d;" (goto "goto") (statement_identifier "LAB_0003421d") (; ";")) (} "}"))) (expression_statement "pbVar15 = *(byte **)(puVar18 + 0xc);" (assignment_expression "pbVar15 = *(byte **)(puVar18 + 0xc)" (identifier "pbVar15") (= "=") (pointer_expression "*(byte **)(puVar18 + 0xc)" (* "*") (cast_expression "(byte **)(puVar18 + 0xc)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0xc)" (( "(") (binary_expression "puVar18 + 0xc" (identifier "puVar18") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "iVar16 = *(int *)(puVar18 + 4);" (assignment_expression "iVar16 = *(int *)(puVar18 + 4)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(puVar18 + 4)" (* "*") (cast_expression "(int *)(puVar18 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 4)" (( "(") (binary_expression "puVar18 + 4" (identifier "puVar18") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (((pbVar15[(uint)bVar7 * 2] & 4) != 0) && (param_2[2] == 0x24)) {\n    bVar7 = param_2[3];\n    iVar16 = *(int *)(puVar18 + 8);\n    pbVar22 = param_2 + 3;\n    *(int *)(puVar18 + 8) = (int)(char)bVar7;\n    iVar16 = iVar16 + -0x31;\n  }" (if "if") (parenthesized_expression "(((pbVar15[(uint)bVar7 * 2] & 4) != 0) && (param_2[2] == 0x24))" (( "(") (binary_expression "((pbVar15[(uint)bVar7 * 2] & 4) != 0) && (param_2[2] == 0x24)" (parenthesized_expression "((pbVar15[(uint)bVar7 * 2] & 4) != 0)" (( "(") (binary_expression "(pbVar15[(uint)bVar7 * 2] & 4) != 0" (parenthesized_expression "(pbVar15[(uint)bVar7 * 2] & 4)" (( "(") (binary_expression "pbVar15[(uint)bVar7 * 2] & 4" (subscript_expression "pbVar15[(uint)bVar7 * 2]" (identifier "pbVar15") ([ "[") (binary_expression "(uint)bVar7 * 2" (cast_expression "(uint)bVar7" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar7")) (* "*") (number_literal "2")) (] "]")) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(param_2[2] == 0x24)" (( "(") (binary_expression "param_2[2] == 0x24" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0x24")) () ")"))) () ")")) (compound_statement "{\n    bVar7 = param_2[3];\n    iVar16 = *(int *)(puVar18 + 8);\n    pbVar22 = param_2 + 3;\n    *(int *)(puVar18 + 8) = (int)(char)bVar7;\n    iVar16 = iVar16 + -0x31;\n  }" ({ "{") (expression_statement "bVar7 = param_2[3];" (assignment_expression "bVar7 = param_2[3]" (identifier "bVar7") (= "=") (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "iVar16 = *(int *)(puVar18 + 8);" (assignment_expression "iVar16 = *(int *)(puVar18 + 8)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(puVar18 + 8)" (* "*") (cast_expression "(int *)(puVar18 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 8)" (( "(") (binary_expression "puVar18 + 8" (identifier "puVar18") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "pbVar22 = param_2 + 3;" (assignment_expression "pbVar22 = param_2 + 3" (identifier "pbVar22") (= "=") (binary_expression "param_2 + 3" (identifier "param_2") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "*(int *)(puVar18 + 8) = (int)(char)bVar7;" (assignment_expression "*(int *)(puVar18 + 8) = (int)(char)bVar7" (pointer_expression "*(int *)(puVar18 + 8)" (* "*") (cast_expression "(int *)(puVar18 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 8)" (( "(") (binary_expression "puVar18 + 8" (identifier "puVar18") (+ "+") (number_literal "8")) () ")")))) (= "=") (cast_expression "(int)(char)bVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)bVar7" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar7")))) (; ";")) (expression_statement "iVar16 = iVar16 + -0x31;" (assignment_expression "iVar16 = iVar16 + -0x31" (identifier "iVar16") (= "=") (binary_expression "iVar16 + -0x31" (identifier "iVar16") (+ "+") (number_literal "-0x31"))) (; ";")) (} "}"))) (expression_statement "param_2 = pbVar22 + 1;" (assignment_expression "param_2 = pbVar22 + 1" (identifier "param_2") (= "=") (binary_expression "pbVar22 + 1" (identifier "pbVar22") (+ "+") (number_literal "1"))) (; ";")) (switch_statement "switch(bVar7) {\n  case 0:\n    param_2 = pbVar22;\n  case 0x25:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = 0x25;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034207;\n    putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = *param_2;\n    goto joined_r0x000340a6;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    iVar16 = iVar16 * 0x10;\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pbVar15 = *(byte **)(puVar18 + iVar16 + 0xa0);\n    *(undefined4 *)(puVar18 + 0x1c) = *(undefined4 *)(puVar18 + iVar16 + 0xa4);\n    uVar12 = *(undefined4 *)(puVar18 + iVar16 + 0xac);\n    *(undefined4 *)(puVar18 + 0x20) = *(undefined4 *)(puVar18 + iVar16 + 0xa8);\n    *(undefined4 *)(puVar18 + 0x24) = uVar12;\n    if (pbVar15 == (byte *)0x0) {\ncode_r0x00034747:\n      *(byte **)(puVar18 + -8) = pbVar15;\n      *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003475e;\n      FUN_00034e30();\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x24) = &UNK_0003477e;\n      FUN_00034e30();\n    }\n    else {\n      *(byte **)(puVar18 + -0x10) = pbVar15;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034331;\n      iVar16 = bfd_generic_link_read_symbols();\n      if (iVar16 == 0) {\n        *(undefined4 *)(puVar18 + -8) = 5;\n        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar18 + -0x10) = 0;\n        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;\n        uVar12 = dcgettext();\n        *(byte **)(puVar18 + -0xc) = pbVar15;\n        *(undefined4 *)(puVar18 + -0x10) = uVar12;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;\n        FUN_00034d20();\n      }\n      iVar16 = *(int *)(pbVar15 + 4);\n      *(undefined4 *)(puVar18 + -0x10) = 0;\n      *(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c;\n      *(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38;\n      *(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78);\n      *(byte **)(puVar18 + -0x30) = pbVar15;\n      pcVar5 = *(code **)(iVar16 + 0x128);\n      *(undefined **)(puVar18 + -0x34) = &UNK_00034369;\n      iVar16 = (*pcVar5)();\n      if (iVar16 == 0) goto code_r0x00034747;\n      iVar16 = *(int *)(puVar18 + 0x38);\n      *(int *)(puVar18 + 8) = iVar16;\n      if ((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))) {\n        *(byte **)(puVar18 + -8) = pbVar15;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;\n        FUN_00034e30();\n        *(undefined4 *)(puVar18 + 0x18) = 1;\ncode_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }\n        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x38);\n        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;\n        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;\n        if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }\n        *(char **)(puVar18 + -4) = "";\n        *(int *)(puVar18 + -8) = iVar16;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      }\n      else {\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }\n      if (*(int *)(puVar18 + 0x18) == 0) goto code_r0x0003443a;\n    }\n    pbRam001d0878 = (byte *)0x0;\n    if (iRam001d0870 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0870;\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003479e;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0870 = 0;\n    }\n    if (iRam001d0874 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0874;\n      *(undefined **)(puVar18 + -0x14) = &UNK_000347c2;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0874 = 0;\n    }\ncode_r0x0003443a:\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x45:\n    *(undefined **)(puVar18 + -4) = &UNK_0003444a;\n    uVar12 = bfd_get_error();\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034453;\n    uVar12 = func_0x00016b10();\n    pbVar15 = *(byte **)(puVar18 + -0xc);\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034462;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x46:\n    bVar7 = pbVar22[1];\n    *(undefined4 *)(puVar18 + 0x10) = 1;\n    goto joined_r0x000340a6;\n  case 0x50:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = DAT_001d1558;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034695;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x56:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pcVar20 = "%016llx";\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    break;\n  case 0x57:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345d0;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345f5;\n    sVar11 = strlen(*(char **)(puVar18 + -0x10));\n    if (sVar11 < 8) {\n      *(byte **)(puVar18 + 8) = pbVar22;\n      uVar12 = *(undefined4 *)(puVar18 + 0x150);\n      *(byte **)(puVar18 + 0x18) = param_2;\n      do {\n        sVar11 = sVar11 + 1;\n        *(undefined4 *)(puVar18 + -0xc) = uVar12;\n        *(undefined4 *)(puVar18 + -0x10) = 0x20;\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003461c;\n        putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      } while (sVar11 != 8);\n      pbVar22 = *(byte **)(puVar18 + 8);\n      param_2 = *(byte **)(puVar18 + 0x18);\n    }\n    pcVar20 = "0x%s";\n    *(byte **)(puVar18 + -8) = pbVar15;\n    break;\n  case 0x58:\n    DAT_001d14e4 = 0;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 100:\n    puVar10 = &DAT_0006c013;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    goto code_r0x000344af;\n  case 0x6c:\n    if (pbVar22[1] == 100) {\n      puVar10 = &UNK_0007d7c3;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000342cd:\n      *(undefined **)(puVar18 + -0xc) = puVar10;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_000342dd;\n      fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n      bVar7 = pbVar22[2];\n      param_2 = pbVar22 + 2;\n      goto joined_r0x000340a6;\n    }\n    if (pbVar22[1] == 0x75) {\n      puVar10 = &UNK_0007d7c7;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n      goto code_r0x000342cd;\n    }\n  default:\nLAB_0003421d:\n    pcVar20 = "%%%c";\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + 8);\n    break;\n  case 0x70:\n    bVar7 = pbVar22[1];\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    if (bVar7 == 0x41) {\n      pbVar21 = pbVar22 + 2;\n      puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n      pbVar15 = (byte *)puVar13[0x2b];\n      *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined4 *)(puVar18 + -0x10) = *puVar13;\n      *(undefined4 **)(puVar18 + 8) = puVar13;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034a7f;\n      fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      iVar16 = *(int *)(puVar18 + 8);\n      if (pbVar15 != (byte *)0x0) {\n        if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }\n        if (iVar16 != 0) {\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }\n    }\n    else {\n      if (bVar7 == 0x42) {\n        pbVar21 = pbVar22 + 2;\n        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;\n        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);\n        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));\n        bVar7 = pbVar22[2];\n        puVar18 = puVar19 + 8;\n        param_2 = pbVar21;\n        goto joined_r0x000340a6;\n      }\n      if (bVar7 == 0x49) {\n        pbVar21 = pbVar22 + 2;\n        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);\n        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }\n    }\nLAB_000349da:\n    bVar7 = pbVar22[2];\n    param_2 = pbVar21;\n    goto joined_r0x000340a6;\n  case 0x73:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034489;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x75:\n    puVar10 = &UNK_0007d7b3;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000344af:\n    *(undefined **)(puVar18 + -0xc) = puVar10;\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined **)(puVar18 + -0x14) = &UNK_000344bc;\n    fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x76:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_0003426c;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034298;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  }" (switch "switch") (parenthesized_expression "(bVar7)" (( "(") (identifier "bVar7") () ")")) (compound_statement "{\n  case 0:\n    param_2 = pbVar22;\n  case 0x25:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = 0x25;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034207;\n    putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = *param_2;\n    goto joined_r0x000340a6;\n  case 0x43:\n  case 0x44:\n  case 0x47:\n  case 0x48:\n    iVar16 = iVar16 * 0x10;\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pbVar15 = *(byte **)(puVar18 + iVar16 + 0xa0);\n    *(undefined4 *)(puVar18 + 0x1c) = *(undefined4 *)(puVar18 + iVar16 + 0xa4);\n    uVar12 = *(undefined4 *)(puVar18 + iVar16 + 0xac);\n    *(undefined4 *)(puVar18 + 0x20) = *(undefined4 *)(puVar18 + iVar16 + 0xa8);\n    *(undefined4 *)(puVar18 + 0x24) = uVar12;\n    if (pbVar15 == (byte *)0x0) {\ncode_r0x00034747:\n      *(byte **)(puVar18 + -8) = pbVar15;\n      *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003475e;\n      FUN_00034e30();\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x24) = &UNK_0003477e;\n      FUN_00034e30();\n    }\n    else {\n      *(byte **)(puVar18 + -0x10) = pbVar15;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034331;\n      iVar16 = bfd_generic_link_read_symbols();\n      if (iVar16 == 0) {\n        *(undefined4 *)(puVar18 + -8) = 5;\n        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar18 + -0x10) = 0;\n        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;\n        uVar12 = dcgettext();\n        *(byte **)(puVar18 + -0xc) = pbVar15;\n        *(undefined4 *)(puVar18 + -0x10) = uVar12;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;\n        FUN_00034d20();\n      }\n      iVar16 = *(int *)(pbVar15 + 4);\n      *(undefined4 *)(puVar18 + -0x10) = 0;\n      *(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c;\n      *(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38;\n      *(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78);\n      *(byte **)(puVar18 + -0x30) = pbVar15;\n      pcVar5 = *(code **)(iVar16 + 0x128);\n      *(undefined **)(puVar18 + -0x34) = &UNK_00034369;\n      iVar16 = (*pcVar5)();\n      if (iVar16 == 0) goto code_r0x00034747;\n      iVar16 = *(int *)(puVar18 + 0x38);\n      *(int *)(puVar18 + 8) = iVar16;\n      if ((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))) {\n        *(byte **)(puVar18 + -8) = pbVar15;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;\n        FUN_00034e30();\n        *(undefined4 *)(puVar18 + 0x18) = 1;\ncode_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }\n        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x38);\n        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;\n        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;\n        if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }\n        *(char **)(puVar18 + -4) = "";\n        *(int *)(puVar18 + -8) = iVar16;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      }\n      else {\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }\n      if (*(int *)(puVar18 + 0x18) == 0) goto code_r0x0003443a;\n    }\n    pbRam001d0878 = (byte *)0x0;\n    if (iRam001d0870 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0870;\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003479e;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0870 = 0;\n    }\n    if (iRam001d0874 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0874;\n      *(undefined **)(puVar18 + -0x14) = &UNK_000347c2;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0874 = 0;\n    }\ncode_r0x0003443a:\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x45:\n    *(undefined **)(puVar18 + -4) = &UNK_0003444a;\n    uVar12 = bfd_get_error();\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034453;\n    uVar12 = func_0x00016b10();\n    pbVar15 = *(byte **)(puVar18 + -0xc);\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034462;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x46:\n    bVar7 = pbVar22[1];\n    *(undefined4 *)(puVar18 + 0x10) = 1;\n    goto joined_r0x000340a6;\n  case 0x50:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = DAT_001d1558;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034695;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x56:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pcVar20 = "%016llx";\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    break;\n  case 0x57:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345d0;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345f5;\n    sVar11 = strlen(*(char **)(puVar18 + -0x10));\n    if (sVar11 < 8) {\n      *(byte **)(puVar18 + 8) = pbVar22;\n      uVar12 = *(undefined4 *)(puVar18 + 0x150);\n      *(byte **)(puVar18 + 0x18) = param_2;\n      do {\n        sVar11 = sVar11 + 1;\n        *(undefined4 *)(puVar18 + -0xc) = uVar12;\n        *(undefined4 *)(puVar18 + -0x10) = 0x20;\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003461c;\n        putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      } while (sVar11 != 8);\n      pbVar22 = *(byte **)(puVar18 + 8);\n      param_2 = *(byte **)(puVar18 + 0x18);\n    }\n    pcVar20 = "0x%s";\n    *(byte **)(puVar18 + -8) = pbVar15;\n    break;\n  case 0x58:\n    DAT_001d14e4 = 0;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 100:\n    puVar10 = &DAT_0006c013;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    goto code_r0x000344af;\n  case 0x6c:\n    if (pbVar22[1] == 100) {\n      puVar10 = &UNK_0007d7c3;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000342cd:\n      *(undefined **)(puVar18 + -0xc) = puVar10;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_000342dd;\n      fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n      bVar7 = pbVar22[2];\n      param_2 = pbVar22 + 2;\n      goto joined_r0x000340a6;\n    }\n    if (pbVar22[1] == 0x75) {\n      puVar10 = &UNK_0007d7c7;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n      goto code_r0x000342cd;\n    }\n  default:\nLAB_0003421d:\n    pcVar20 = "%%%c";\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + 8);\n    break;\n  case 0x70:\n    bVar7 = pbVar22[1];\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    if (bVar7 == 0x41) {\n      pbVar21 = pbVar22 + 2;\n      puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n      pbVar15 = (byte *)puVar13[0x2b];\n      *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined4 *)(puVar18 + -0x10) = *puVar13;\n      *(undefined4 **)(puVar18 + 8) = puVar13;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034a7f;\n      fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      iVar16 = *(int *)(puVar18 + 8);\n      if (pbVar15 != (byte *)0x0) {\n        if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }\n        if (iVar16 != 0) {\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }\n    }\n    else {\n      if (bVar7 == 0x42) {\n        pbVar21 = pbVar22 + 2;\n        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;\n        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);\n        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));\n        bVar7 = pbVar22[2];\n        puVar18 = puVar19 + 8;\n        param_2 = pbVar21;\n        goto joined_r0x000340a6;\n      }\n      if (bVar7 == 0x49) {\n        pbVar21 = pbVar22 + 2;\n        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);\n        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }\n    }\nLAB_000349da:\n    bVar7 = pbVar22[2];\n    param_2 = pbVar21;\n    goto joined_r0x000340a6;\n  case 0x73:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034489;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x75:\n    puVar10 = &UNK_0007d7b3;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000344af:\n    *(undefined **)(puVar18 + -0xc) = puVar10;\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined **)(puVar18 + -0x14) = &UNK_000344bc;\n    fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  case 0x76:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_0003426c;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034298;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;\n  }" ({ "{") (case_statement "case 0:\n    param_2 = pbVar22;" (case "case") (number_literal "0") (: ":") (expression_statement "param_2 = pbVar22;" (assignment_expression "param_2 = pbVar22" (identifier "param_2") (= "=") (identifier "pbVar22")) (; ";"))) (case_statement "case 0x25:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = 0x25;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034207;\n    putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = *param_2;\n    goto joined_r0x000340a6;" (case "case") (number_literal "0x25") (: ":") (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x150)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x150)" (( "(") (binary_expression "puVar18 + 0x150" (identifier "puVar18") (+ "+") (number_literal "0x150")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = 0x25;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = 0x25" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0x25")) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034207;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034207" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00034207" (& "&") (identifier "UNK_00034207"))) (; ";")) (expression_statement "putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));" (call_expression "putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" (identifier "putc") (argument_list "(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" (( "(") (pointer_expression "*(int *)(puVar18 + -0x10)" (* "*") (cast_expression "(int *)(puVar18 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(FILE **)(puVar18 + -0xc)" (* "*") (cast_expression "(FILE **)(puVar18 + -0xc)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) () ")"))) (; ";")) (expression_statement "bVar7 = *param_2;" (assignment_expression "bVar7 = *param_2" (identifier "bVar7") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (goto_statement "goto joined_r0x000340a6;" (goto "goto") (statement_identifier "joined_r0x000340a6") (; ";"))) (case_statement "case 0x43:" (case "case") (number_literal "0x43") (: ":")) (case_statement "case 0x44:" (case "case") (number_literal "0x44") (: ":")) (case_statement "case 0x47:" (case "case") (number_literal "0x47") (: ":")) (case_statement "case 0x48:\n    iVar16 = iVar16 * 0x10;\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pbVar15 = *(byte **)(puVar18 + iVar16 + 0xa0);\n    *(undefined4 *)(puVar18 + 0x1c) = *(undefined4 *)(puVar18 + iVar16 + 0xa4);\n    uVar12 = *(undefined4 *)(puVar18 + iVar16 + 0xac);\n    *(undefined4 *)(puVar18 + 0x20) = *(undefined4 *)(puVar18 + iVar16 + 0xa8);\n    *(undefined4 *)(puVar18 + 0x24) = uVar12;\n    if (pbVar15 == (byte *)0x0) {\ncode_r0x00034747:\n      *(byte **)(puVar18 + -8) = pbVar15;\n      *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003475e;\n      FUN_00034e30();\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x24) = &UNK_0003477e;\n      FUN_00034e30();\n    }\n    else {\n      *(byte **)(puVar18 + -0x10) = pbVar15;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034331;\n      iVar16 = bfd_generic_link_read_symbols();\n      if (iVar16 == 0) {\n        *(undefined4 *)(puVar18 + -8) = 5;\n        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar18 + -0x10) = 0;\n        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;\n        uVar12 = dcgettext();\n        *(byte **)(puVar18 + -0xc) = pbVar15;\n        *(undefined4 *)(puVar18 + -0x10) = uVar12;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;\n        FUN_00034d20();\n      }\n      iVar16 = *(int *)(pbVar15 + 4);\n      *(undefined4 *)(puVar18 + -0x10) = 0;\n      *(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c;\n      *(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38;\n      *(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78);\n      *(byte **)(puVar18 + -0x30) = pbVar15;\n      pcVar5 = *(code **)(iVar16 + 0x128);\n      *(undefined **)(puVar18 + -0x34) = &UNK_00034369;\n      iVar16 = (*pcVar5)();\n      if (iVar16 == 0) goto code_r0x00034747;\n      iVar16 = *(int *)(puVar18 + 0x38);\n      *(int *)(puVar18 + 8) = iVar16;\n      if ((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))) {\n        *(byte **)(puVar18 + -8) = pbVar15;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;\n        FUN_00034e30();\n        *(undefined4 *)(puVar18 + 0x18) = 1;\ncode_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }\n        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x38);\n        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;\n        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;\n        if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }\n        *(char **)(puVar18 + -4) = "";\n        *(int *)(puVar18 + -8) = iVar16;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      }\n      else {\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }\n      if (*(int *)(puVar18 + 0x18) == 0) goto code_r0x0003443a;\n    }\n    pbRam001d0878 = (byte *)0x0;\n    if (iRam001d0870 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0870;\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003479e;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0870 = 0;\n    }\n    if (iRam001d0874 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0874;\n      *(undefined **)(puVar18 + -0x14) = &UNK_000347c2;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0874 = 0;\n    }\ncode_r0x0003443a:\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;" (case "case") (number_literal "0x48") (: ":") (expression_statement "iVar16 = iVar16 * 0x10;" (assignment_expression "iVar16 = iVar16 * 0x10" (identifier "iVar16") (= "=") (binary_expression "iVar16 * 0x10" (identifier "iVar16") (* "*") (number_literal "0x10"))) (; ";")) (expression_statement "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;" (assignment_expression "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" (* "*") (cast_expression "(int *)(puVar18 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 4)" (( "(") (binary_expression "puVar18 + 4" (identifier "puVar18") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" (* "*") (cast_expression "(int *)(puVar18 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 4)" (( "(") (binary_expression "puVar18 + 4" (identifier "puVar18") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar15 = *(byte **)(puVar18 + iVar16 + 0xa0);" (assignment_expression "pbVar15 = *(byte **)(puVar18 + iVar16 + 0xa0)" (identifier "pbVar15") (= "=") (pointer_expression "*(byte **)(puVar18 + iVar16 + 0xa0)" (* "*") (cast_expression "(byte **)(puVar18 + iVar16 + 0xa0)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + iVar16 + 0xa0)" (( "(") (binary_expression "puVar18 + iVar16 + 0xa0" (binary_expression "puVar18 + iVar16" (identifier "puVar18") (+ "+") (identifier "iVar16")) (+ "+") (number_literal "0xa0")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + 0x1c) = *(undefined4 *)(puVar18 + iVar16 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar18 + 0x1c) = *(undefined4 *)(puVar18 + iVar16 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar18 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x1c)" (( "(") (binary_expression "puVar18 + 0x1c" (identifier "puVar18") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + iVar16 + 0xa4)" (* "*") (cast_expression "(undefined4 *)(puVar18 + iVar16 + 0xa4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + iVar16 + 0xa4)" (( "(") (binary_expression "puVar18 + iVar16 + 0xa4" (binary_expression "puVar18 + iVar16" (identifier "puVar18") (+ "+") (identifier "iVar16")) (+ "+") (number_literal "0xa4")) () ")"))))) (; ";")) (expression_statement "uVar12 = *(undefined4 *)(puVar18 + iVar16 + 0xac);" (assignment_expression "uVar12 = *(undefined4 *)(puVar18 + iVar16 + 0xac)" (identifier "uVar12") (= "=") (pointer_expression "*(undefined4 *)(puVar18 + iVar16 + 0xac)" (* "*") (cast_expression "(undefined4 *)(puVar18 + iVar16 + 0xac)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + iVar16 + 0xac)" (( "(") (binary_expression "puVar18 + iVar16 + 0xac" (binary_expression "puVar18 + iVar16" (identifier "puVar18") (+ "+") (identifier "iVar16")) (+ "+") (number_literal "0xac")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + 0x20) = *(undefined4 *)(puVar18 + iVar16 + 0xa8);" (assignment_expression "*(undefined4 *)(puVar18 + 0x20) = *(undefined4 *)(puVar18 + iVar16 + 0xa8)" (pointer_expression "*(undefined4 *)(puVar18 + 0x20)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x20)" (( "(") (binary_expression "puVar18 + 0x20" (identifier "puVar18") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + iVar16 + 0xa8)" (* "*") (cast_expression "(undefined4 *)(puVar18 + iVar16 + 0xa8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + iVar16 + 0xa8)" (( "(") (binary_expression "puVar18 + iVar16 + 0xa8" (binary_expression "puVar18 + iVar16" (identifier "puVar18") (+ "+") (identifier "iVar16")) (+ "+") (number_literal "0xa8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + 0x24) = uVar12;" (assignment_expression "*(undefined4 *)(puVar18 + 0x24) = uVar12" (pointer_expression "*(undefined4 *)(puVar18 + 0x24)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x24)" (( "(") (binary_expression "puVar18 + 0x24" (identifier "puVar18") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (if_statement "if (pbVar15 == (byte *)0x0) {\ncode_r0x00034747:\n      *(byte **)(puVar18 + -8) = pbVar15;\n      *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003475e;\n      FUN_00034e30();\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x24) = &UNK_0003477e;\n      FUN_00034e30();\n    }\n    else {\n      *(byte **)(puVar18 + -0x10) = pbVar15;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034331;\n      iVar16 = bfd_generic_link_read_symbols();\n      if (iVar16 == 0) {\n        *(undefined4 *)(puVar18 + -8) = 5;\n        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar18 + -0x10) = 0;\n        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;\n        uVar12 = dcgettext();\n        *(byte **)(puVar18 + -0xc) = pbVar15;\n        *(undefined4 *)(puVar18 + -0x10) = uVar12;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;\n        FUN_00034d20();\n      }\n      iVar16 = *(int *)(pbVar15 + 4);\n      *(undefined4 *)(puVar18 + -0x10) = 0;\n      *(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c;\n      *(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38;\n      *(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78);\n      *(byte **)(puVar18 + -0x30) = pbVar15;\n      pcVar5 = *(code **)(iVar16 + 0x128);\n      *(undefined **)(puVar18 + -0x34) = &UNK_00034369;\n      iVar16 = (*pcVar5)();\n      if (iVar16 == 0) goto code_r0x00034747;\n      iVar16 = *(int *)(puVar18 + 0x38);\n      *(int *)(puVar18 + 8) = iVar16;\n      if ((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))) {\n        *(byte **)(puVar18 + -8) = pbVar15;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;\n        FUN_00034e30();\n        *(undefined4 *)(puVar18 + 0x18) = 1;\ncode_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }\n        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x38);\n        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;\n        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;\n        if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }\n        *(char **)(puVar18 + -4) = "";\n        *(int *)(puVar18 + -8) = iVar16;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      }\n      else {\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }\n      if (*(int *)(puVar18 + 0x18) == 0) goto code_r0x0003443a;\n    }" (if "if") (parenthesized_expression "(pbVar15 == (byte *)0x0)" (( "(") (binary_expression "pbVar15 == (byte *)0x0" (identifier "pbVar15") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\ncode_r0x00034747:\n      *(byte **)(puVar18 + -8) = pbVar15;\n      *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003475e;\n      FUN_00034e30();\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x24) = &UNK_0003477e;\n      FUN_00034e30();\n    }" ({ "{") (labeled_statement "code_r0x00034747:\n      *(byte **)(puVar18 + -8) = pbVar15;" (statement_identifier "code_r0x00034747") (: ":") (expression_statement "*(byte **)(puVar18 + -8) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -8) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -8)" (* "*") (cast_expression "(byte **)(puVar18 + -8)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "pbVar15")) (; ";"))) (expression_statement "*(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;" (assignment_expression "*(undefined **)(puVar18 + -0xc) = &UNK_0007d36d" (pointer_expression "*(undefined **)(puVar18 + -0xc)" (* "*") (cast_expression "(undefined **)(puVar18 + -0xc)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&UNK_0007d36d" (& "&") (identifier "UNK_0007d36d"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x150)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x150)" (( "(") (binary_expression "puVar18 + 0x150" (identifier "puVar18") (+ "+") (number_literal "0x150")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_0003475e;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_0003475e" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0003475e" (& "&") (identifier "UNK_0003475e"))) (; ";")) (expression_statement "FUN_00034e30();" (call_expression "FUN_00034e30()" (identifier "FUN_00034e30") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x24)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x24)" (( "(") (binary_expression "puVar18 + 0x24" (identifier "puVar18") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20)" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x20)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x20)" (( "(") (binary_expression "puVar18 + 0x20" (identifier "puVar18") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);" (assignment_expression "*(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c)" (pointer_expression "*(undefined4 *)(puVar18 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x18)" (( "(") (binary_expression "puVar18 + -0x18" (identifier "puVar18") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x1c)" (( "(") (binary_expression "puVar18 + 0x1c" (identifier "puVar18") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;" (assignment_expression "*(undefined **)(puVar18 + -0x1c) = &UNK_0007d781" (pointer_expression "*(undefined **)(puVar18 + -0x1c)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x1c)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x1c)" (( "(") (binary_expression "puVar18 + -0x1c" (identifier "puVar18") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (pointer_expression "&UNK_0007d781" (& "&") (identifier "UNK_0007d781"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x20)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x20)" (( "(") (binary_expression "puVar18 + -0x20" (identifier "puVar18") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x150)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x150)" (( "(") (binary_expression "puVar18 + 0x150" (identifier "puVar18") (+ "+") (number_literal "0x150")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x24) = &UNK_0003477e;" (assignment_expression "*(undefined **)(puVar18 + -0x24) = &UNK_0003477e" (pointer_expression "*(undefined **)(puVar18 + -0x24)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x24)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x24)" (( "(") (binary_expression "puVar18 + -0x24" (identifier "puVar18") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (pointer_expression "&UNK_0003477e" (& "&") (identifier "UNK_0003477e"))) (; ";")) (expression_statement "FUN_00034e30();" (call_expression "FUN_00034e30()" (identifier "FUN_00034e30") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      *(byte **)(puVar18 + -0x10) = pbVar15;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034331;\n      iVar16 = bfd_generic_link_read_symbols();\n      if (iVar16 == 0) {\n        *(undefined4 *)(puVar18 + -8) = 5;\n        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar18 + -0x10) = 0;\n        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;\n        uVar12 = dcgettext();\n        *(byte **)(puVar18 + -0xc) = pbVar15;\n        *(undefined4 *)(puVar18 + -0x10) = uVar12;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;\n        FUN_00034d20();\n      }\n      iVar16 = *(int *)(pbVar15 + 4);\n      *(undefined4 *)(puVar18 + -0x10) = 0;\n      *(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c;\n      *(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38;\n      *(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78);\n      *(byte **)(puVar18 + -0x30) = pbVar15;\n      pcVar5 = *(code **)(iVar16 + 0x128);\n      *(undefined **)(puVar18 + -0x34) = &UNK_00034369;\n      iVar16 = (*pcVar5)();\n      if (iVar16 == 0) goto code_r0x00034747;\n      iVar16 = *(int *)(puVar18 + 0x38);\n      *(int *)(puVar18 + 8) = iVar16;\n      if ((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))) {\n        *(byte **)(puVar18 + -8) = pbVar15;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;\n        FUN_00034e30();\n        *(undefined4 *)(puVar18 + 0x18) = 1;\ncode_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }\n        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x38);\n        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;\n        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;\n        if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }\n        *(char **)(puVar18 + -4) = "";\n        *(int *)(puVar18 + -8) = iVar16;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      }\n      else {\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }\n      if (*(int *)(puVar18 + 0x18) == 0) goto code_r0x0003443a;\n    }" (else "else") (compound_statement "{\n      *(byte **)(puVar18 + -0x10) = pbVar15;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034331;\n      iVar16 = bfd_generic_link_read_symbols();\n      if (iVar16 == 0) {\n        *(undefined4 *)(puVar18 + -8) = 5;\n        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar18 + -0x10) = 0;\n        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;\n        uVar12 = dcgettext();\n        *(byte **)(puVar18 + -0xc) = pbVar15;\n        *(undefined4 *)(puVar18 + -0x10) = uVar12;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;\n        FUN_00034d20();\n      }\n      iVar16 = *(int *)(pbVar15 + 4);\n      *(undefined4 *)(puVar18 + -0x10) = 0;\n      *(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c;\n      *(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38;\n      *(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34;\n      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24);\n      *(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20);\n      *(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c);\n      *(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78);\n      *(byte **)(puVar18 + -0x30) = pbVar15;\n      pcVar5 = *(code **)(iVar16 + 0x128);\n      *(undefined **)(puVar18 + -0x34) = &UNK_00034369;\n      iVar16 = (*pcVar5)();\n      if (iVar16 == 0) goto code_r0x00034747;\n      iVar16 = *(int *)(puVar18 + 0x38);\n      *(int *)(puVar18 + 8) = iVar16;\n      if ((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))) {\n        *(byte **)(puVar18 + -8) = pbVar15;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;\n        FUN_00034e30();\n        *(undefined4 *)(puVar18 + 0x18) = 1;\ncode_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }\n        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x38);\n        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;\n        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;\n        if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }\n        *(char **)(puVar18 + -4) = "";\n        *(int *)(puVar18 + -8) = iVar16;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      }\n      else {\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }\n      if (*(int *)(puVar18 + 0x18) == 0) goto code_r0x0003443a;\n    }" ({ "{") (expression_statement "*(byte **)(puVar18 + -0x10) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -0x10) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -0x10)" (* "*") (cast_expression "(byte **)(puVar18 + -0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pbVar15")) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034331;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034331" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00034331" (& "&") (identifier "UNK_00034331"))) (; ";")) (expression_statement "iVar16 = bfd_generic_link_read_symbols();" (assignment_expression "iVar16 = bfd_generic_link_read_symbols()" (identifier "iVar16") (= "=") (call_expression "bfd_generic_link_read_symbols()" (identifier "bfd_generic_link_read_symbols") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar16 == 0) {\n        *(undefined4 *)(puVar18 + -8) = 5;\n        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar18 + -0x10) = 0;\n        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;\n        uVar12 = dcgettext();\n        *(byte **)(puVar18 + -0xc) = pbVar15;\n        *(undefined4 *)(puVar18 + -0x10) = uVar12;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;\n        FUN_00034d20();\n      }" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined4 *)(puVar18 + -8) = 5;\n        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";\n        *(undefined4 *)(puVar18 + -0x10) = 0;\n        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;\n        uVar12 = dcgettext();\n        *(byte **)(puVar18 + -0xc) = pbVar15;\n        *(undefined4 *)(puVar18 + -0x10) = uVar12;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;\n        FUN_00034d20();\n      }" ({ "{") (expression_statement "*(undefined4 *)(puVar18 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar18 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";" (assignment_expression "*(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n"" (pointer_expression "*(char **)(puVar18 + -0xc)" (* "*") (cast_expression "(char **)(puVar18 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""%F%P: %pB: could not read symbols: %E\n"" (" """) (string_content "%F%P: %pB: could not read symbols: %E") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_000349f8;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_000349f8" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_000349f8" (& "&") (identifier "UNK_000349f8"))) (; ";")) (expression_statement "uVar12 = dcgettext();" (assignment_expression "uVar12 = dcgettext()" (identifier "uVar12") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(byte **)(puVar18 + -0xc) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -0xc) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -0xc)" (* "*") (cast_expression "(byte **)(puVar18 + -0xc)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "pbVar15")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar12;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar12" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034a01;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034a01" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00034a01" (& "&") (identifier "UNK_00034a01"))) (; ";")) (expression_statement "FUN_00034d20();" (call_expression "FUN_00034d20()" (identifier "FUN_00034d20") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar16 = *(int *)(pbVar15 + 4);" (assignment_expression "iVar16 = *(int *)(pbVar15 + 4)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(pbVar15 + 4)" (* "*") (cast_expression "(int *)(pbVar15 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar15 + 4)" (( "(") (binary_expression "pbVar15 + 4" (identifier "pbVar15") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c;" (assignment_expression "*(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c" (pointer_expression "*(undefined1 **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined1 **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (binary_expression "puVar18 + 0x3c" (identifier "puVar18") (+ "+") (number_literal "0x3c"))) (; ";")) (expression_statement "*(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38;" (assignment_expression "*(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38" (pointer_expression "*(undefined1 **)(puVar18 + -0x18)" (* "*") (cast_expression "(undefined1 **)(puVar18 + -0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x18)" (( "(") (binary_expression "puVar18 + -0x18" (identifier "puVar18") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (binary_expression "puVar18 + 0x38" (identifier "puVar18") (+ "+") (number_literal "0x38"))) (; ";")) (expression_statement "*(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34;" (assignment_expression "*(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34" (pointer_expression "*(undefined1 **)(puVar18 + -0x1c)" (* "*") (cast_expression "(undefined1 **)(puVar18 + -0x1c)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x1c)" (( "(") (binary_expression "puVar18 + -0x1c" (identifier "puVar18") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (binary_expression "puVar18 + 0x34" (identifier "puVar18") (+ "+") (number_literal "0x34"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24);" (assignment_expression "*(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24)" (pointer_expression "*(undefined4 *)(puVar18 + -0x20)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x20)" (( "(") (binary_expression "puVar18 + -0x20" (identifier "puVar18") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x24)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x24)" (( "(") (binary_expression "puVar18 + 0x24" (identifier "puVar18") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20);" (assignment_expression "*(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20)" (pointer_expression "*(undefined4 *)(puVar18 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x24)" (( "(") (binary_expression "puVar18 + -0x24" (identifier "puVar18") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x20)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x20)" (( "(") (binary_expression "puVar18 + 0x20" (identifier "puVar18") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c);" (assignment_expression "*(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c)" (pointer_expression "*(undefined4 *)(puVar18 + -0x28)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x28)" (( "(") (binary_expression "puVar18 + -0x28" (identifier "puVar18") (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x1c)" (( "(") (binary_expression "puVar18 + 0x1c" (identifier "puVar18") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78);" (assignment_expression "*(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78)" (pointer_expression "*(undefined4 *)(puVar18 + -0x2c)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x2c)" (( "(") (binary_expression "puVar18 + -0x2c" (identifier "puVar18") (+ "+") (number_literal "-0x2c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(pbVar15 + 0x78)" (* "*") (cast_expression "(undefined4 *)(pbVar15 + 0x78)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar15 + 0x78)" (( "(") (binary_expression "pbVar15 + 0x78" (identifier "pbVar15") (+ "+") (number_literal "0x78")) () ")"))))) (; ";")) (expression_statement "*(byte **)(puVar18 + -0x30) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -0x30) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -0x30)" (* "*") (cast_expression "(byte **)(puVar18 + -0x30)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x30)" (( "(") (binary_expression "puVar18 + -0x30" (identifier "puVar18") (+ "+") (number_literal "-0x30")) () ")")))) (= "=") (identifier "pbVar15")) (; ";")) (expression_statement "pcVar5 = *(code **)(iVar16 + 0x128);" (assignment_expression "pcVar5 = *(code **)(iVar16 + 0x128)" (identifier "pcVar5") (= "=") (pointer_expression "*(code **)(iVar16 + 0x128)" (* "*") (cast_expression "(code **)(iVar16 + 0x128)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar16 + 0x128)" (( "(") (binary_expression "iVar16 + 0x128" (identifier "iVar16") (+ "+") (number_literal "0x128")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x34) = &UNK_00034369;" (assignment_expression "*(undefined **)(puVar18 + -0x34) = &UNK_00034369" (pointer_expression "*(undefined **)(puVar18 + -0x34)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x34)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x34)" (( "(") (binary_expression "puVar18 + -0x34" (identifier "puVar18") (+ "+") (number_literal "-0x34")) () ")")))) (= "=") (pointer_expression "&UNK_00034369" (& "&") (identifier "UNK_00034369"))) (; ";")) (expression_statement "iVar16 = (*pcVar5)();" (assignment_expression "iVar16 = (*pcVar5)()" (identifier "iVar16") (= "=") (call_expression "(*pcVar5)()" (parenthesized_expression "(*pcVar5)" (( "(") (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar16 == 0) goto code_r0x00034747;" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (goto_statement "goto code_r0x00034747;" (goto "goto") (statement_identifier "code_r0x00034747") (; ";"))) (expression_statement "iVar16 = *(int *)(puVar18 + 0x38);" (assignment_expression "iVar16 = *(int *)(puVar18 + 0x38)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(puVar18 + 0x38)" (* "*") (cast_expression "(int *)(puVar18 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x38)" (( "(") (binary_expression "puVar18 + 0x38" (identifier "puVar18") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "*(int *)(puVar18 + 8) = iVar16;" (assignment_expression "*(int *)(puVar18 + 8) = iVar16" (pointer_expression "*(int *)(puVar18 + 8)" (* "*") (cast_expression "(int *)(puVar18 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 8)" (( "(") (binary_expression "puVar18 + 8" (identifier "puVar18") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "iVar16")) (; ";")) (if_statement "if ((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))) {\n        *(byte **)(puVar18 + -8) = pbVar15;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;\n        FUN_00034e30();\n        *(undefined4 *)(puVar18 + 0x18) = 1;\ncode_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }\n        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x38);\n        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;\n        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;\n        if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }\n        *(char **)(puVar18 + -4) = "";\n        *(int *)(puVar18 + -8) = iVar16;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      }\n      else {\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }" (if "if") (parenthesized_expression "((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48))))" (( "(") (binary_expression "(iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))" (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))" (( "(") (parenthesized_expression "(*pbVar22 != 0x43 && (*pbVar22 != 0x48))" (( "(") (binary_expression "*pbVar22 != 0x43 && (*pbVar22 != 0x48)" (binary_expression "*pbVar22 != 0x43" (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")) (!= "!=") (number_literal "0x43")) (&& "&&") (parenthesized_expression "(*pbVar22 != 0x48)" (( "(") (binary_expression "*pbVar22 != 0x48" (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")) (!= "!=") (number_literal "0x48")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        *(byte **)(puVar18 + -8) = pbVar15;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;\n        FUN_00034e30();\n        *(undefined4 *)(puVar18 + 0x18) = 1;\ncode_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }\n        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x38);\n        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;\n        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;\n        if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }\n        *(char **)(puVar18 + -4) = "";\n        *(int *)(puVar18 + -8) = iVar16;\n        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;\n        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      }" ({ "{") (expression_statement "*(byte **)(puVar18 + -8) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -8) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -8)" (* "*") (cast_expression "(byte **)(puVar18 + -8)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "pbVar15")) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;" (assignment_expression "*(undefined **)(puVar18 + -0xc) = &UNK_0007d36d" (pointer_expression "*(undefined **)(puVar18 + -0xc)" (* "*") (cast_expression "(undefined **)(puVar18 + -0xc)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&UNK_0007d36d" (& "&") (identifier "UNK_0007d36d"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x150)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x150)" (( "(") (binary_expression "puVar18 + 0x150" (identifier "puVar18") (+ "+") (number_literal "0x150")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_000343aa;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_000343aa" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_000343aa" (& "&") (identifier "UNK_000343aa"))) (; ";")) (expression_statement "FUN_00034e30();" (call_expression "FUN_00034e30()" (identifier "FUN_00034e30") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + 0x18) = 1;" (assignment_expression "*(undefined4 *)(puVar18 + 0x18) = 1" (pointer_expression "*(undefined4 *)(puVar18 + 0x18)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x18)" (( "(") (binary_expression "puVar18 + 0x18" (identifier "puVar18") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (number_literal "1")) (; ";")) (labeled_statement "code_r0x000343b5:\n        if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }" (statement_identifier "code_r0x000343b5") (: ":") (if_statement "if (*(int *)(puVar18 + 0x34) == 0) {\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }" (if "if") (parenthesized_expression "(*(int *)(puVar18 + 0x34) == 0)" (( "(") (binary_expression "*(int *)(puVar18 + 0x34) == 0" (pointer_expression "*(int *)(puVar18 + 0x34)" (* "*") (cast_expression "(int *)(puVar18 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x34)" (( "(") (binary_expression "puVar18 + 0x34" (identifier "puVar18") (+ "+") (number_literal "0x34")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          iVar16 = *(int *)(puVar18 + 0x38);\n          goto code_r0x00034a0d;\n        }" ({ "{") (expression_statement "iVar16 = *(int *)(puVar18 + 0x38);" (assignment_expression "iVar16 = *(int *)(puVar18 + 0x38)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(puVar18 + 0x38)" (* "*") (cast_expression "(int *)(puVar18 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x38)" (( "(") (binary_expression "puVar18 + 0x38" (identifier "puVar18") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (goto_statement "goto code_r0x00034a0d;" (goto "goto") (statement_identifier "code_r0x00034a0d") (; ";")) (} "}")))) (expression_statement "*(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);" (assignment_expression "*(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34)" (pointer_expression "*(int *)(puVar18 + -8)" (* "*") (cast_expression "(int *)(puVar18 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(int *)(puVar18 + 0x34)" (* "*") (cast_expression "(int *)(puVar18 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x34)" (( "(") (binary_expression "puVar18 + 0x34" (identifier "puVar18") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0xc) = &UNK_0007d779;" (assignment_expression "*(undefined **)(puVar18 + -0xc) = &UNK_0007d779" (pointer_expression "*(undefined **)(puVar18 + -0xc)" (* "*") (cast_expression "(undefined **)(puVar18 + -0xc)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&UNK_0007d779" (& "&") (identifier "UNK_0007d779"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x150)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x150)" (( "(") (binary_expression "puVar18 + 0x150" (identifier "puVar18") (+ "+") (number_literal "0x150")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_000343d8;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_000343d8" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_000343d8" (& "&") (identifier "UNK_000343d8"))) (; ";")) (expression_statement "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (call_expression "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" (identifier "fprintf") (argument_list "(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" (( "(") (pointer_expression "*(FILE **)(puVar18 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar18 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar18 + -0xc)" (* "*") (cast_expression "(char **)(puVar18 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) () ")"))) (; ";")) (expression_statement "iVar16 = *(int *)(puVar18 + 0x38);" (assignment_expression "iVar16 = *(int *)(puVar18 + 0x38)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(puVar18 + 0x38)" (* "*") (cast_expression "(int *)(puVar18 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x38)" (( "(") (binary_expression "puVar18 + 0x38" (identifier "puVar18") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (if_statement "if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;" (if "if") (parenthesized_expression "((iVar16 != 0) && (*pbVar22 == 0x47))" (( "(") (binary_expression "(iVar16 != 0) && (*pbVar22 == 0x47)" (parenthesized_expression "(iVar16 != 0)" (( "(") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*pbVar22 == 0x47)" (( "(") (binary_expression "*pbVar22 == 0x47" (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")) (== "==") (number_literal "0x47")) () ")"))) () ")")) (goto_statement "goto code_r0x00034a20;" (goto "goto") (statement_identifier "code_r0x00034a20") (; ";"))) (if_statement "if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))\n        goto code_r0x00034902;" (if "if") (parenthesized_expression "((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))" (( "(") (binary_expression "(*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0)" (parenthesized_expression "(*(int *)(puVar18 + 0x34) == 0)" (( "(") (binary_expression "*(int *)(puVar18 + 0x34) == 0" (pointer_expression "*(int *)(puVar18 + 0x34)" (* "*") (cast_expression "(int *)(puVar18 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x34)" (( "(") (binary_expression "puVar18 + 0x34" (identifier "puVar18") (+ "+") (number_literal "0x34")) () ")")))) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0)" (( "(") (comma_expression "iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0" (assignment_expression "iVar16 = *(int *)(puVar18 + 0x3c)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(puVar18 + 0x3c)" (* "*") (cast_expression "(int *)(puVar18 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x3c)" (( "(") (binary_expression "puVar18 + 0x3c" (identifier "puVar18") (+ "+") (number_literal "0x3c")) () ")"))))) (, ",") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto code_r0x00034902;" (goto "goto") (statement_identifier "code_r0x00034902") (; ";"))) (if_statement "if (*pbVar22 == 0x48) {\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }" (if "if") (parenthesized_expression "(*pbVar22 == 0x48)" (( "(") (binary_expression "*pbVar22 == 0x48" (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")) (== "==") (number_literal "0x48")) () ")")) (compound_statement "{\n          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n          goto code_r0x00034902;\n        }" ({ "{") (expression_statement "*(undefined **)(puVar18 + -4) = &UNK_0007b12f;" (assignment_expression "*(undefined **)(puVar18 + -4) = &UNK_0007b12f" (pointer_expression "*(undefined **)(puVar18 + -4)" (* "*") (cast_expression "(undefined **)(puVar18 + -4)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -4)" (( "(") (binary_expression "puVar18 + -4" (identifier "puVar18") (+ "+") (number_literal "-4")) () ")")))) (= "=") (pointer_expression "&UNK_0007b12f" (& "&") (identifier "UNK_0007b12f"))) (; ";")) (expression_statement "*(int *)(puVar18 + -8) = iVar16;" (assignment_expression "*(int *)(puVar18 + -8) = iVar16" (pointer_expression "*(int *)(puVar18 + -8)" (* "*") (cast_expression "(int *)(puVar18 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar16")) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;" (assignment_expression "*(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0" (pointer_expression "*(undefined **)(puVar18 + -0xc)" (* "*") (cast_expression "(undefined **)(puVar18 + -0xc)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&UNK_0007d7d0" (& "&") (identifier "UNK_0007d7d0"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x150)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x150)" (( "(") (binary_expression "puVar18 + 0x150" (identifier "puVar18") (+ "+") (number_literal "0x150")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_000348ff;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_000348ff" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_000348ff" (& "&") (identifier "UNK_000348ff"))) (; ";")) (expression_statement "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (call_expression "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" (identifier "fprintf") (argument_list "(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" (( "(") (pointer_expression "*(FILE **)(puVar18 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar18 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar18 + -0xc)" (* "*") (cast_expression "(char **)(puVar18 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) () ")"))) (; ";")) (goto_statement "goto code_r0x00034902;" (goto "goto") (statement_identifier "code_r0x00034902") (; ";")) (} "}"))) (expression_statement "*(char **)(puVar18 + -4) = "";" (assignment_expression "*(char **)(puVar18 + -4) = """ (pointer_expression "*(char **)(puVar18 + -4)" (* "*") (cast_expression "(char **)(puVar18 + -4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -4)" (( "(") (binary_expression "puVar18 + -4" (identifier "puVar18") (+ "+") (number_literal "-4")) () ")")))) (= "=") (string_literal """" (" """) (" """))) (; ";")) (expression_statement "*(int *)(puVar18 + -8) = iVar16;" (assignment_expression "*(int *)(puVar18 + -8) = iVar16" (pointer_expression "*(int *)(puVar18 + -8)" (* "*") (cast_expression "(int *)(puVar18 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar16")) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;" (assignment_expression "*(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0" (pointer_expression "*(undefined **)(puVar18 + -0xc)" (* "*") (cast_expression "(undefined **)(puVar18 + -0xc)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&UNK_0007d7d0" (& "&") (identifier "UNK_0007d7d0"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x150)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x150)" (( "(") (binary_expression "puVar18 + 0x150" (identifier "puVar18") (+ "+") (number_literal "0x150")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_0003442b;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_0003442b" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0003442b" (& "&") (identifier "UNK_0003442b"))) (; ";")) (expression_statement "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (call_expression "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" (identifier "fprintf") (argument_list "(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" (( "(") (pointer_expression "*(FILE **)(puVar18 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar18 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar18 + -0xc)" (* "*") (cast_expression "(char **)(puVar18 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) () ")"))) (; ";")) (} "}")) (else_clause "else {\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }" (else "else") (compound_statement "{\n        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }\n        iVar14 = *(int *)(puVar18 + 0x34);\n        *(int *)(puVar18 + 0x18) = iRam001d0870;\n        puVar18[0x28] = iRam001d0870 == 0;\n        puVar18[0x2f] = iVar14 == 0;\n        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;\n        if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }\n        *(int *)(puVar18 + 8) = iVar16;\n        *(undefined4 *)(puVar18 + -4) = 0;\n        *(undefined4 *)(puVar18 + -8) = 0;\n        *(int *)(puVar18 + -0xc) = iVar16;\n        *(int *)(puVar18 + 0x28) = iVar16;\n        *(int *)(puVar18 + -0x10) = iRam001d0874;\n        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;\n        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        iVar16 = *(int *)(puVar18 + 0x28);\n        *(int *)(puVar18 + 0x18) = iVar14;\n        if (iVar14 != 0) goto code_r0x00034800;\ncode_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }\n      }" ({ "{") (if_statement "if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }" (if "if") (parenthesized_expression "(((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15))" (( "(") (binary_expression "((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)" (parenthesized_expression "((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0))" (( "(") (binary_expression "(pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)" (parenthesized_expression "(pbRam001d0878 == (byte *)0x0)" (( "(") (binary_expression "pbRam001d0878 == (byte *)0x0" (identifier "pbRam001d0878") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(iRam001d0874 == 0)" (( "(") (binary_expression "iRam001d0874 == 0" (identifier "iRam001d0874") (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(pbRam001d0878 != pbVar15)" (( "(") (binary_expression "pbRam001d0878 != pbVar15" (identifier "pbRam001d0878") (!= "!=") (identifier "pbVar15")) () ")"))) () ")")) (compound_statement "{\ncode_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;\n          uVar12 = dcgettext();\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);\n          *(byte **)(puVar18 + -0x18) = pbVar15;\n          *(undefined4 *)(puVar18 + -0x1c) = uVar12;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;\n          FUN_00034e30();\n          pbRam001d0878 = pbVar15;\n          if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          iRam001d0870 = 0;\n          if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }\n          if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);\n          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;\n          iRam001d0874 = xstrdup();\n          *(undefined4 *)(puVar18 + 0x18) = 0;\n          goto code_r0x000343b5;\n        }" ({ "{") (labeled_statement "code_r0x00034800:\n          *(undefined4 *)(puVar18 + -8) = 5;" (statement_identifier "code_r0x00034800") (: ":") (expression_statement "*(undefined4 *)(puVar18 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar18 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";"))) (expression_statement "*(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";" (assignment_expression "*(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n"" (pointer_expression "*(char **)(puVar18 + -0xc)" (* "*") (cast_expression "(char **)(puVar18 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""%pB: in function `%pT\':\n"" (" """) (string_content "%pB: in function `%pT") (escape_sequence "\'") (string_content ":") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034813;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034813" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00034813" (& "&") (identifier "UNK_00034813"))) (; ";")) (expression_statement "uVar12 = dcgettext();" (assignment_expression "uVar12 = dcgettext()" (identifier "uVar12") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8)" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 8)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 8)" (( "(") (binary_expression "puVar18 + 8" (identifier "puVar18") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(byte **)(puVar18 + -0x18) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -0x18) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -0x18)" (* "*") (cast_expression "(byte **)(puVar18 + -0x18)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x18)" (( "(") (binary_expression "puVar18 + -0x18" (identifier "puVar18") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "pbVar15")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x1c) = uVar12;" (assignment_expression "*(undefined4 *)(puVar18 + -0x1c) = uVar12" (pointer_expression "*(undefined4 *)(puVar18 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x1c)" (( "(") (binary_expression "puVar18 + -0x1c" (identifier "puVar18") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x20)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x20)" (( "(") (binary_expression "puVar18 + -0x20" (identifier "puVar18") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x150)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x150)" (( "(") (binary_expression "puVar18 + 0x150" (identifier "puVar18") (+ "+") (number_literal "0x150")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x24) = &UNK_00034825;" (assignment_expression "*(undefined **)(puVar18 + -0x24) = &UNK_00034825" (pointer_expression "*(undefined **)(puVar18 + -0x24)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x24)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x24)" (( "(") (binary_expression "puVar18 + -0x24" (identifier "puVar18") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (pointer_expression "&UNK_00034825" (& "&") (identifier "UNK_00034825"))) (; ";")) (expression_statement "FUN_00034e30();" (call_expression "FUN_00034e30()" (identifier "FUN_00034e30") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pbRam001d0878 = pbVar15;" (assignment_expression "pbRam001d0878 = pbVar15" (identifier "pbRam001d0878") (= "=") (identifier "pbVar15")) (; ";")) (if_statement "if (iRam001d0870 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }" (if "if") (parenthesized_expression "(iRam001d0870 != 0)" (( "(") (binary_expression "iRam001d0870 != 0" (identifier "iRam001d0870") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            *(int *)(puVar18 + -0x10) = iRam001d0870;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;\n            free(*(void **)(puVar18 + -0x10));\n          }" ({ "{") (expression_statement "*(int *)(puVar18 + -0x10) = iRam001d0870;" (assignment_expression "*(int *)(puVar18 + -0x10) = iRam001d0870" (pointer_expression "*(int *)(puVar18 + -0x10)" (* "*") (cast_expression "(int *)(puVar18 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iRam001d0870")) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034841;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034841" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00034841" (& "&") (identifier "UNK_00034841"))) (; ";")) (expression_statement "free(*(void **)(puVar18 + -0x10));" (call_expression "free(*(void **)(puVar18 + -0x10))" (identifier "free") (argument_list "(*(void **)(puVar18 + -0x10))" (( "(") (pointer_expression "*(void **)(puVar18 + -0x10)" (* "*") (cast_expression "(void **)(puVar18 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "iRam001d0870 = 0;" (assignment_expression "iRam001d0870 = 0" (identifier "iRam001d0870") (= "=") (number_literal "0")) (; ";")) (if_statement "if (*(int *)(puVar18 + 0x34) != 0) {\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }" (if "if") (parenthesized_expression "(*(int *)(puVar18 + 0x34) != 0)" (( "(") (binary_expression "*(int *)(puVar18 + 0x34) != 0" (pointer_expression "*(int *)(puVar18 + 0x34)" (* "*") (cast_expression "(int *)(puVar18 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x34)" (( "(") (binary_expression "puVar18 + 0x34" (identifier "puVar18") (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;\n            iRam001d0870 = xstrdup();\n          }" ({ "{") (expression_statement "*(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);" (assignment_expression "*(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34)" (pointer_expression "*(int *)(puVar18 + -0x10)" (* "*") (cast_expression "(int *)(puVar18 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(int *)(puVar18 + 0x34)" (* "*") (cast_expression "(int *)(puVar18 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x34)" (( "(") (binary_expression "puVar18 + 0x34" (identifier "puVar18") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_0003485f;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_0003485f" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0003485f" (& "&") (identifier "UNK_0003485f"))) (; ";")) (expression_statement "iRam001d0870 = xstrdup();" (assignment_expression "iRam001d0870 = xstrdup()" (identifier "iRam001d0870") (= "=") (call_expression "xstrdup()" (identifier "xstrdup") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}"))) (if_statement "if (iRam001d0874 != 0) {\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }" (if "if") (parenthesized_expression "(iRam001d0874 != 0)" (( "(") (binary_expression "iRam001d0874 != 0" (identifier "iRam001d0874") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;\n            free(*(void **)(puVar18 + -0x10));\n          }" ({ "{") (expression_statement "*(int *)(puVar18 + -0x10) = iRam001d0874;" (assignment_expression "*(int *)(puVar18 + -0x10) = iRam001d0874" (pointer_expression "*(int *)(puVar18 + -0x10)" (* "*") (cast_expression "(int *)(puVar18 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iRam001d0874")) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_0003487b;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_0003487b" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0003487b" (& "&") (identifier "UNK_0003487b"))) (; ";")) (expression_statement "free(*(void **)(puVar18 + -0x10));" (call_expression "free(*(void **)(puVar18 + -0x10))" (identifier "free") (argument_list "(*(void **)(puVar18 + -0x10))" (( "(") (pointer_expression "*(void **)(puVar18 + -0x10)" (* "*") (cast_expression "(void **)(puVar18 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x38)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x38)" (( "(") (binary_expression "puVar18 + 0x38" (identifier "puVar18") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_0003488a;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_0003488a" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0003488a" (& "&") (identifier "UNK_0003488a"))) (; ";")) (expression_statement "iRam001d0874 = xstrdup();" (assignment_expression "iRam001d0874 = xstrdup()" (identifier "iRam001d0874") (= "=") (call_expression "xstrdup()" (identifier "xstrdup") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + 0x18) = 0;" (assignment_expression "*(undefined4 *)(puVar18 + 0x18) = 0" (pointer_expression "*(undefined4 *)(puVar18 + 0x18)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x18)" (( "(") (binary_expression "puVar18 + 0x18" (identifier "puVar18") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto code_r0x000343b5;" (goto "goto") (statement_identifier "code_r0x000343b5") (; ";")) (} "}"))) (expression_statement "iVar14 = *(int *)(puVar18 + 0x34);" (assignment_expression "iVar14 = *(int *)(puVar18 + 0x34)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(puVar18 + 0x34)" (* "*") (cast_expression "(int *)(puVar18 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x34)" (( "(") (binary_expression "puVar18 + 0x34" (identifier "puVar18") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "*(int *)(puVar18 + 0x18) = iRam001d0870;" (assignment_expression "*(int *)(puVar18 + 0x18) = iRam001d0870" (pointer_expression "*(int *)(puVar18 + 0x18)" (* "*") (cast_expression "(int *)(puVar18 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x18)" (( "(") (binary_expression "puVar18 + 0x18" (identifier "puVar18") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "iRam001d0870")) (; ";")) (expression_statement "puVar18[0x28] = iRam001d0870 == 0;" (assignment_expression "puVar18[0x28] = iRam001d0870 == 0" (subscript_expression "puVar18[0x28]" (identifier "puVar18") ([ "[") (number_literal "0x28") (] "]")) (= "=") (binary_expression "iRam001d0870 == 0" (identifier "iRam001d0870") (== "==") (number_literal "0"))) (; ";")) (expression_statement "puVar18[0x2f] = iVar14 == 0;" (assignment_expression "puVar18[0x2f] = iVar14 == 0" (subscript_expression "puVar18[0x2f]" (identifier "puVar18") ([ "[") (number_literal "0x2f") (] "]")) (= "=") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0"))) (; ";")) (if_statement "if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;" (if "if") (parenthesized_expression "(puVar18[0x28] != puVar18[0x2f])" (( "(") (binary_expression "puVar18[0x28] != puVar18[0x2f]" (subscript_expression "puVar18[0x28]" (identifier "puVar18") ([ "[") (number_literal "0x28") (] "]")) (!= "!=") (subscript_expression "puVar18[0x2f]" (identifier "puVar18") ([ "[") (number_literal "0x2f") (] "]"))) () ")")) (goto_statement "goto code_r0x00034800;" (goto "goto") (statement_identifier "code_r0x00034800") (; ";"))) (if_statement "if (iVar14 != 0) {\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }" (if "if") (parenthesized_expression "(iVar14 != 0)" (( "(") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          *(int *)(puVar18 + -4) = iVar16;\n          *(int *)(puVar18 + -8) = iVar16;\n          *(int *)(puVar18 + -0xc) = iVar14;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;\n          uVar23 = filename_cmp();\n          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);\n          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);\n          if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }\n          goto code_r0x00034800;\n        }" ({ "{") (expression_statement "*(int *)(puVar18 + -4) = iVar16;" (assignment_expression "*(int *)(puVar18 + -4) = iVar16" (pointer_expression "*(int *)(puVar18 + -4)" (* "*") (cast_expression "(int *)(puVar18 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -4)" (( "(") (binary_expression "puVar18 + -4" (identifier "puVar18") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "iVar16")) (; ";")) (expression_statement "*(int *)(puVar18 + -8) = iVar16;" (assignment_expression "*(int *)(puVar18 + -8) = iVar16" (pointer_expression "*(int *)(puVar18 + -8)" (* "*") (cast_expression "(int *)(puVar18 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar16")) (; ";")) (expression_statement "*(int *)(puVar18 + -0xc) = iVar14;" (assignment_expression "*(int *)(puVar18 + -0xc) = iVar14" (pointer_expression "*(int *)(puVar18 + -0xc)" (* "*") (cast_expression "(int *)(puVar18 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "iVar14")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x18)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x18)" (( "(") (binary_expression "puVar18 + 0x18" (identifier "puVar18") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034c8b" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00034c8b" (& "&") (identifier "UNK_00034c8b"))) (; ";")) (expression_statement "uVar23 = filename_cmp();" (assignment_expression "uVar23 = filename_cmp()" (identifier "uVar23") (= "=") (call_expression "filename_cmp()" (identifier "filename_cmp") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);" (assignment_expression "uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20)" (identifier "uVar12") (= "=") (call_expression "(undefined4)((ulonglong)uVar23 >> 0x20)" (parenthesized_expression "(undefined4)" (( "(") (identifier "undefined4") () ")")) (argument_list "((ulonglong)uVar23 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar23 >> 0x20" (cast_expression "(ulonglong)uVar23" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar23")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);" (assignment_expression "*(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38)" (pointer_expression "*(undefined4 *)(puVar18 + 8)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 8)" (( "(") (binary_expression "puVar18 + 8" (identifier "puVar18") (+ "+") (number_literal "8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x38)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x38)" (( "(") (binary_expression "puVar18 + 0x38" (identifier "puVar18") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (if_statement "if ((int)uVar23 == 0) {\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }" (if "if") (parenthesized_expression "((int)uVar23 == 0)" (( "(") (binary_expression "(int)uVar23 == 0" (cast_expression "(int)uVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar23")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            *(undefined4 *)(puVar18 + -4) = uVar12;\n            *(undefined4 *)(puVar18 + -8) = uVar12;\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);\n            *(int *)(puVar18 + -0x10) = iRam001d0874;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;\n            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n            *(int *)(puVar18 + 0x18) = iVar16;\n            if (iVar16 == 0) goto code_r0x000343b5;\n          }" ({ "{") (expression_statement "*(undefined4 *)(puVar18 + -4) = uVar12;" (assignment_expression "*(undefined4 *)(puVar18 + -4) = uVar12" (pointer_expression "*(undefined4 *)(puVar18 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -4)" (( "(") (binary_expression "puVar18 + -4" (identifier "puVar18") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -8) = uVar12;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = uVar12" (pointer_expression "*(undefined4 *)(puVar18 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x38)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x38)" (( "(") (binary_expression "puVar18 + 0x38" (identifier "puVar18") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "*(int *)(puVar18 + -0x10) = iRam001d0874;" (assignment_expression "*(int *)(puVar18 + -0x10) = iRam001d0874" (pointer_expression "*(int *)(puVar18 + -0x10)" (* "*") (cast_expression "(int *)(puVar18 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iRam001d0874")) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034cac;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034cac" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00034cac" (& "&") (identifier "UNK_00034cac"))) (; ";")) (expression_statement "iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (assignment_expression "iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" (identifier "iVar16") (= "=") (call_expression "strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" (identifier "strcmp") (argument_list "(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar18 + -0x10)" (* "*") (cast_expression "(char **)(puVar18 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar18 + -0xc)" (* "*") (cast_expression "(char **)(puVar18 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (expression_statement "*(int *)(puVar18 + 0x18) = iVar16;" (assignment_expression "*(int *)(puVar18 + 0x18) = iVar16" (pointer_expression "*(int *)(puVar18 + 0x18)" (* "*") (cast_expression "(int *)(puVar18 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x18)" (( "(") (binary_expression "puVar18 + 0x18" (identifier "puVar18") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "iVar16")) (; ";")) (if_statement "if (iVar16 == 0) goto code_r0x000343b5;" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (goto_statement "goto code_r0x000343b5;" (goto "goto") (statement_identifier "code_r0x000343b5") (; ";"))) (} "}"))) (goto_statement "goto code_r0x00034800;" (goto "goto") (statement_identifier "code_r0x00034800") (; ";")) (} "}"))) (expression_statement "*(int *)(puVar18 + 8) = iVar16;" (assignment_expression "*(int *)(puVar18 + 8) = iVar16" (pointer_expression "*(int *)(puVar18 + 8)" (* "*") (cast_expression "(int *)(puVar18 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 8)" (( "(") (binary_expression "puVar18 + 8" (identifier "puVar18") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "iVar16")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar18 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar18 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -4)" (( "(") (binary_expression "puVar18 + -4" (identifier "puVar18") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar18 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(puVar18 + -0xc) = iVar16;" (assignment_expression "*(int *)(puVar18 + -0xc) = iVar16" (pointer_expression "*(int *)(puVar18 + -0xc)" (* "*") (cast_expression "(int *)(puVar18 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "iVar16")) (; ";")) (expression_statement "*(int *)(puVar18 + 0x28) = iVar16;" (assignment_expression "*(int *)(puVar18 + 0x28) = iVar16" (pointer_expression "*(int *)(puVar18 + 0x28)" (* "*") (cast_expression "(int *)(puVar18 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x28)" (( "(") (binary_expression "puVar18 + 0x28" (identifier "puVar18") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (identifier "iVar16")) (; ";")) (expression_statement "*(int *)(puVar18 + -0x10) = iRam001d0874;" (assignment_expression "*(int *)(puVar18 + -0x10) = iRam001d0874" (pointer_expression "*(int *)(puVar18 + -0x10)" (* "*") (cast_expression "(int *)(puVar18 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iRam001d0874")) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034cd6" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00034cd6" (& "&") (identifier "UNK_00034cd6"))) (; ";")) (expression_statement "iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (assignment_expression "iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" (identifier "iVar14") (= "=") (call_expression "strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" (identifier "strcmp") (argument_list "(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar18 + -0x10)" (* "*") (cast_expression "(char **)(puVar18 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar18 + -0xc)" (* "*") (cast_expression "(char **)(puVar18 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (expression_statement "iVar16 = *(int *)(puVar18 + 0x28);" (assignment_expression "iVar16 = *(int *)(puVar18 + 0x28)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(puVar18 + 0x28)" (* "*") (cast_expression "(int *)(puVar18 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x28)" (( "(") (binary_expression "puVar18 + 0x28" (identifier "puVar18") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "*(int *)(puVar18 + 0x18) = iVar14;" (assignment_expression "*(int *)(puVar18 + 0x18) = iVar14" (pointer_expression "*(int *)(puVar18 + 0x18)" (* "*") (cast_expression "(int *)(puVar18 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x18)" (( "(") (binary_expression "puVar18 + 0x18" (identifier "puVar18") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "iVar14")) (; ";")) (if_statement "if (iVar14 != 0) goto code_r0x00034800;" (if "if") (parenthesized_expression "(iVar14 != 0)" (( "(") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto code_r0x00034800;" (goto "goto") (statement_identifier "code_r0x00034800") (; ";"))) (labeled_statement "code_r0x00034a0d:\n        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }" (statement_identifier "code_r0x00034a0d") (: ":") (if_statement "if ((*pbVar22 == 0x47) && (iVar16 != 0)) {\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }\n        else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }" (if "if") (parenthesized_expression "((*pbVar22 == 0x47) && (iVar16 != 0))" (( "(") (binary_expression "(*pbVar22 == 0x47) && (iVar16 != 0)" (parenthesized_expression "(*pbVar22 == 0x47)" (( "(") (binary_expression "*pbVar22 == 0x47" (pointer_expression "*pbVar22" (* "*") (identifier "pbVar22")) (== "==") (number_literal "0x47")) () ")")) (&& "&&") (parenthesized_expression "(iVar16 != 0)" (( "(") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\ncode_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;\n          FUN_00034e30();\n        }" ({ "{") (labeled_statement "code_r0x00034a20:\n          *(int *)(puVar18 + -8) = iVar16;" (statement_identifier "code_r0x00034a20") (: ":") (expression_statement "*(int *)(puVar18 + -8) = iVar16;" (assignment_expression "*(int *)(puVar18 + -8) = iVar16" (pointer_expression "*(int *)(puVar18 + -8)" (* "*") (cast_expression "(int *)(puVar18 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar16")) (; ";"))) (expression_statement "*(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;" (assignment_expression "*(undefined **)(puVar18 + -0xc) = &UNK_0007d77d" (pointer_expression "*(undefined **)(puVar18 + -0xc)" (* "*") (cast_expression "(undefined **)(puVar18 + -0xc)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&UNK_0007d77d" (& "&") (identifier "UNK_0007d77d"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x150)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x150)" (( "(") (binary_expression "puVar18 + 0x150" (identifier "puVar18") (+ "+") (number_literal "0x150")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034a37;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034a37" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00034a37" (& "&") (identifier "UNK_00034a37"))) (; ";")) (expression_statement "FUN_00034e30();" (call_expression "FUN_00034e30()" (identifier "FUN_00034e30") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }" (else "else") (compound_statement "{\ncode_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);\n          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);\n          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;\n          FUN_00034e30();\n        }" ({ "{") (labeled_statement "code_r0x00034902:\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);" (statement_identifier "code_r0x00034902") (: ":") (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x24)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x24)" (( "(") (binary_expression "puVar18 + 0x24" (identifier "puVar18") (+ "+") (number_literal "0x24")) () ")"))))) (; ";"))) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20)" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x20)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x20)" (( "(") (binary_expression "puVar18 + 0x20" (identifier "puVar18") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);" (assignment_expression "*(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c)" (pointer_expression "*(undefined4 *)(puVar18 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x18)" (( "(") (binary_expression "puVar18 + -0x18" (identifier "puVar18") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x1c)" (( "(") (binary_expression "puVar18 + 0x1c" (identifier "puVar18") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;" (assignment_expression "*(undefined **)(puVar18 + -0x1c) = &UNK_0007d781" (pointer_expression "*(undefined **)(puVar18 + -0x1c)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x1c)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x1c)" (( "(") (binary_expression "puVar18 + -0x1c" (identifier "puVar18") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (pointer_expression "&UNK_0007d781" (& "&") (identifier "UNK_0007d781"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x20)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x20)" (( "(") (binary_expression "puVar18 + -0x20" (identifier "puVar18") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x150)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x150)" (( "(") (binary_expression "puVar18 + 0x150" (identifier "puVar18") (+ "+") (number_literal "0x150")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x24) = &UNK_00034924;" (assignment_expression "*(undefined **)(puVar18 + -0x24) = &UNK_00034924" (pointer_expression "*(undefined **)(puVar18 + -0x24)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x24)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x24)" (( "(") (binary_expression "puVar18 + -0x24" (identifier "puVar18") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (pointer_expression "&UNK_00034924" (& "&") (identifier "UNK_00034924"))) (; ";")) (expression_statement "FUN_00034e30();" (call_expression "FUN_00034e30()" (identifier "FUN_00034e30") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))))) (} "}")))) (if_statement "if (*(int *)(puVar18 + 0x18) == 0) goto code_r0x0003443a;" (if "if") (parenthesized_expression "(*(int *)(puVar18 + 0x18) == 0)" (( "(") (binary_expression "*(int *)(puVar18 + 0x18) == 0" (pointer_expression "*(int *)(puVar18 + 0x18)" (* "*") (cast_expression "(int *)(puVar18 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x18)" (( "(") (binary_expression "puVar18 + 0x18" (identifier "puVar18") (+ "+") (number_literal "0x18")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto code_r0x0003443a;" (goto "goto") (statement_identifier "code_r0x0003443a") (; ";"))) (} "}")))) (expression_statement "pbRam001d0878 = (byte *)0x0;" (assignment_expression "pbRam001d0878 = (byte *)0x0" (identifier "pbRam001d0878") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (iRam001d0870 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0870;\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003479e;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0870 = 0;\n    }" (if "if") (parenthesized_expression "(iRam001d0870 != 0)" (( "(") (binary_expression "iRam001d0870 != 0" (identifier "iRam001d0870") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *(int *)(puVar18 + -0x10) = iRam001d0870;\n      *(undefined **)(puVar18 + -0x14) = &UNK_0003479e;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0870 = 0;\n    }" ({ "{") (expression_statement "*(int *)(puVar18 + -0x10) = iRam001d0870;" (assignment_expression "*(int *)(puVar18 + -0x10) = iRam001d0870" (pointer_expression "*(int *)(puVar18 + -0x10)" (* "*") (cast_expression "(int *)(puVar18 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iRam001d0870")) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_0003479e;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_0003479e" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0003479e" (& "&") (identifier "UNK_0003479e"))) (; ";")) (expression_statement "free(*(void **)(puVar18 + -0x10));" (call_expression "free(*(void **)(puVar18 + -0x10))" (identifier "free") (argument_list "(*(void **)(puVar18 + -0x10))" (( "(") (pointer_expression "*(void **)(puVar18 + -0x10)" (* "*") (cast_expression "(void **)(puVar18 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "iRam001d0870 = 0;" (assignment_expression "iRam001d0870 = 0" (identifier "iRam001d0870") (= "=") (number_literal "0")) (; ";")) (} "}"))) (if_statement "if (iRam001d0874 != 0) {\n      *(int *)(puVar18 + -0x10) = iRam001d0874;\n      *(undefined **)(puVar18 + -0x14) = &UNK_000347c2;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0874 = 0;\n    }" (if "if") (parenthesized_expression "(iRam001d0874 != 0)" (( "(") (binary_expression "iRam001d0874 != 0" (identifier "iRam001d0874") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *(int *)(puVar18 + -0x10) = iRam001d0874;\n      *(undefined **)(puVar18 + -0x14) = &UNK_000347c2;\n      free(*(void **)(puVar18 + -0x10));\n      iRam001d0874 = 0;\n    }" ({ "{") (expression_statement "*(int *)(puVar18 + -0x10) = iRam001d0874;" (assignment_expression "*(int *)(puVar18 + -0x10) = iRam001d0874" (pointer_expression "*(int *)(puVar18 + -0x10)" (* "*") (cast_expression "(int *)(puVar18 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iRam001d0874")) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_000347c2;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_000347c2" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_000347c2" (& "&") (identifier "UNK_000347c2"))) (; ";")) (expression_statement "free(*(void **)(puVar18 + -0x10));" (call_expression "free(*(void **)(puVar18 + -0x10))" (identifier "free") (argument_list "(*(void **)(puVar18 + -0x10))" (( "(") (pointer_expression "*(void **)(puVar18 + -0x10)" (* "*") (cast_expression "(void **)(puVar18 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "iRam001d0874 = 0;" (assignment_expression "iRam001d0874 = 0" (identifier "iRam001d0874") (= "=") (number_literal "0")) (; ";")) (} "}"))) (labeled_statement "code_r0x0003443a:\n    bVar7 = pbVar22[1];" (statement_identifier "code_r0x0003443a") (: ":") (expression_statement "bVar7 = pbVar22[1];" (assignment_expression "bVar7 = pbVar22[1]" (identifier "bVar7") (= "=") (subscript_expression "pbVar22[1]" (identifier "pbVar22") ([ "[") (number_literal "1") (] "]"))) (; ";"))) (goto_statement "goto joined_r0x000340a6;" (goto "goto") (statement_identifier "joined_r0x000340a6") (; ";"))) (case_statement "case 0x45:\n    *(undefined **)(puVar18 + -4) = &UNK_0003444a;\n    uVar12 = bfd_get_error();\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034453;\n    uVar12 = func_0x00016b10();\n    pbVar15 = *(byte **)(puVar18 + -0xc);\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = uVar12;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034462;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;" (case "case") (number_literal "0x45") (: ":") (expression_statement "*(undefined **)(puVar18 + -4) = &UNK_0003444a;" (assignment_expression "*(undefined **)(puVar18 + -4) = &UNK_0003444a" (pointer_expression "*(undefined **)(puVar18 + -4)" (* "*") (cast_expression "(undefined **)(puVar18 + -4)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -4)" (( "(") (binary_expression "puVar18 + -4" (identifier "puVar18") (+ "+") (number_literal "-4")) () ")")))) (= "=") (pointer_expression "&UNK_0003444a" (& "&") (identifier "UNK_0003444a"))) (; ";")) (expression_statement "uVar12 = bfd_get_error();" (assignment_expression "uVar12 = bfd_get_error()" (identifier "uVar12") (= "=") (call_expression "bfd_get_error()" (identifier "bfd_get_error") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar12;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar12" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034453;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034453" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00034453" (& "&") (identifier "UNK_00034453"))) (; ";")) (expression_statement "uVar12 = func_0x00016b10();" (assignment_expression "uVar12 = func_0x00016b10()" (identifier "uVar12") (= "=") (call_expression "func_0x00016b10()" (identifier "func_0x00016b10") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pbVar15 = *(byte **)(puVar18 + -0xc);" (assignment_expression "pbVar15 = *(byte **)(puVar18 + -0xc)" (identifier "pbVar15") (= "=") (pointer_expression "*(byte **)(puVar18 + -0xc)" (* "*") (cast_expression "(byte **)(puVar18 + -0xc)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x150)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x150)" (( "(") (binary_expression "puVar18 + 0x150" (identifier "puVar18") (+ "+") (number_literal "0x150")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = uVar12;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = uVar12" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034462;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034462" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00034462" (& "&") (identifier "UNK_00034462"))) (; ";")) (expression_statement "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));" (call_expression "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" (identifier "fputs") (argument_list "(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar18 + -0x10)" (* "*") (cast_expression "(char **)(puVar18 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(FILE **)(puVar18 + -0xc)" (* "*") (cast_expression "(FILE **)(puVar18 + -0xc)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) () ")"))) (; ";")) (expression_statement "bVar7 = pbVar22[1];" (assignment_expression "bVar7 = pbVar22[1]" (identifier "bVar7") (= "=") (subscript_expression "pbVar22[1]" (identifier "pbVar22") ([ "[") (number_literal "1") (] "]"))) (; ";")) (goto_statement "goto joined_r0x000340a6;" (goto "goto") (statement_identifier "joined_r0x000340a6") (; ";"))) (case_statement "case 0x46:\n    bVar7 = pbVar22[1];\n    *(undefined4 *)(puVar18 + 0x10) = 1;\n    goto joined_r0x000340a6;" (case "case") (number_literal "0x46") (: ":") (expression_statement "bVar7 = pbVar22[1];" (assignment_expression "bVar7 = pbVar22[1]" (identifier "bVar7") (= "=") (subscript_expression "pbVar22[1]" (identifier "pbVar22") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + 0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar18 + 0x10) = 1" (pointer_expression "*(undefined4 *)(puVar18 + 0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x10)" (( "(") (binary_expression "puVar18 + 0x10" (identifier "puVar18") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto joined_r0x000340a6;" (goto "goto") (statement_identifier "joined_r0x000340a6") (; ";"))) (case_statement "case 0x50:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = DAT_001d1558;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034695;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;" (case "case") (number_literal "0x50") (: ":") (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x150)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x150)" (( "(") (binary_expression "puVar18 + 0x150" (identifier "puVar18") (+ "+") (number_literal "0x150")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = DAT_001d1558;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = DAT_001d1558" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "DAT_001d1558")) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034695;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034695" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00034695" (& "&") (identifier "UNK_00034695"))) (; ";")) (expression_statement "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));" (call_expression "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" (identifier "fputs") (argument_list "(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar18 + -0x10)" (* "*") (cast_expression "(char **)(puVar18 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(FILE **)(puVar18 + -0xc)" (* "*") (cast_expression "(FILE **)(puVar18 + -0xc)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) () ")"))) (; ";")) (expression_statement "bVar7 = pbVar22[1];" (assignment_expression "bVar7 = pbVar22[1]" (identifier "bVar7") (= "=") (subscript_expression "pbVar22[1]" (identifier "pbVar22") ([ "[") (number_literal "1") (] "]"))) (; ";")) (goto_statement "goto joined_r0x000340a6;" (goto "goto") (statement_identifier "joined_r0x000340a6") (; ";"))) (case_statement "case 0x56:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    pcVar20 = "%016llx";\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    break;" (case "case") (number_literal "0x56") (: ":") (expression_statement "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;" (assignment_expression "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" (* "*") (cast_expression "(int *)(puVar18 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 4)" (( "(") (binary_expression "puVar18 + 4" (identifier "puVar18") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" (* "*") (cast_expression "(int *)(puVar18 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 4)" (( "(") (binary_expression "puVar18 + 4" (identifier "puVar18") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar20 = "%016llx";" (assignment_expression "pcVar20 = "%016llx"" (identifier "pcVar20") (= "=") (string_literal ""%016llx"" (" """) (string_content "%016llx") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar18 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -4)" (( "(") (binary_expression "puVar18 + -4" (identifier "puVar18") (+ "+") (number_literal "-4")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4)" (* "*") (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa4)" (( "(") (binary_expression "puVar18 + iVar16 * 0x10 + 0xa4" (binary_expression "puVar18 + iVar16 * 0x10" (identifier "puVar18") (+ "+") (binary_expression "iVar16 * 0x10" (identifier "iVar16") (* "*") (number_literal "0x10"))) (+ "+") (number_literal "0xa4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar18 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (* "*") (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" (( "(") (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" (identifier "puVar18") (+ "+") (binary_expression "iVar16 * 0x10" (identifier "iVar16") (* "*") (number_literal "0x10"))) (+ "+") (number_literal "0xa0")) () ")"))))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x57:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345d0;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_000345f5;\n    sVar11 = strlen(*(char **)(puVar18 + -0x10));\n    if (sVar11 < 8) {\n      *(byte **)(puVar18 + 8) = pbVar22;\n      uVar12 = *(undefined4 *)(puVar18 + 0x150);\n      *(byte **)(puVar18 + 0x18) = param_2;\n      do {\n        sVar11 = sVar11 + 1;\n        *(undefined4 *)(puVar18 + -0xc) = uVar12;\n        *(undefined4 *)(puVar18 + -0x10) = 0x20;\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003461c;\n        putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      } while (sVar11 != 8);\n      pbVar22 = *(byte **)(puVar18 + 8);\n      param_2 = *(byte **)(puVar18 + 0x18);\n    }\n    pcVar20 = "0x%s";\n    *(byte **)(puVar18 + -8) = pbVar15;\n    break;" (case "case") (number_literal "0x57") (: ":") (expression_statement "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;" (assignment_expression "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" (* "*") (cast_expression "(int *)(puVar18 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 4)" (( "(") (binary_expression "puVar18 + 4" (identifier "puVar18") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" (* "*") (cast_expression "(int *)(puVar18 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 4)" (( "(") (binary_expression "puVar18 + 4" (identifier "puVar18") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar18 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -4)" (( "(") (binary_expression "puVar18 + -4" (identifier "puVar18") (+ "+") (number_literal "-4")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4)" (* "*") (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa4)" (( "(") (binary_expression "puVar18 + iVar16 * 0x10 + 0xa4" (binary_expression "puVar18 + iVar16 * 0x10" (identifier "puVar18") (+ "+") (binary_expression "iVar16 * 0x10" (identifier "iVar16") (* "*") (number_literal "0x10"))) (+ "+") (number_literal "0xa4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar18 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (* "*") (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" (( "(") (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" (identifier "puVar18") (+ "+") (binary_expression "iVar16 * 0x10" (identifier "iVar16") (* "*") (number_literal "0x10"))) (+ "+") (number_literal "0xa0")) () ")"))))) (; ";")) (expression_statement "*(char **)(puVar18 + -0xc) = "%016llx";" (assignment_expression "*(char **)(puVar18 + -0xc) = "%016llx"" (pointer_expression "*(char **)(puVar18 + -0xc)" (* "*") (cast_expression "(char **)(puVar18 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""%016llx"" (" """) (string_content "%016llx") (" """))) (; ";")) (expression_statement "pcVar20 = puVar18 + 0x3c;" (assignment_expression "pcVar20 = puVar18 + 0x3c" (identifier "pcVar20") (= "=") (binary_expression "puVar18 + 0x3c" (identifier "puVar18") (+ "+") (number_literal "0x3c"))) (; ";")) (expression_statement "*(char **)(puVar18 + -0x10) = pcVar20;" (assignment_expression "*(char **)(puVar18 + -0x10) = pcVar20" (pointer_expression "*(char **)(puVar18 + -0x10)" (* "*") (cast_expression "(char **)(puVar18 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pcVar20")) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_000345d0;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_000345d0" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_000345d0" (& "&") (identifier "UNK_000345d0"))) (; ";")) (expression_statement "sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (call_expression "sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" (identifier "sprintf") (argument_list "(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar18 + -0x10)" (* "*") (cast_expression "(char **)(puVar18 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar18 + -0xc)" (* "*") (cast_expression "(char **)(puVar18 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) () ")"))) (; ";")) (expression_statement "cVar2 = puVar18[0x3c];" (assignment_expression "cVar2 = puVar18[0x3c]" (identifier "cVar2") (= "=") (subscript_expression "puVar18[0x3c]" (identifier "puVar18") ([ "[") (number_literal "0x3c") (] "]"))) (; ";")) (while_statement "while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }" (while "while") (parenthesized_expression "(cVar2 == '0')" (( "(") (binary_expression "cVar2 == '0'" (identifier "cVar2") (== "==") (char_literal "'0'" (' "'") (character "0") (' "'"))) () ")")) (compound_statement "{\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }" ({ "{") (expression_statement "pcVar20 = pcVar20 + 1;" (assignment_expression "pcVar20 = pcVar20 + 1" (identifier "pcVar20") (= "=") (binary_expression "pcVar20 + 1" (identifier "pcVar20") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "cVar2 = *pcVar20;" (assignment_expression "cVar2 = *pcVar20" (identifier "cVar2") (= "=") (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20"))) (; ";")) (} "}"))) (expression_statement "pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));" (assignment_expression "pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'))" (identifier "pbVar15") (= "=") (cast_expression "(byte *)(pcVar20 + -(uint)(cVar2 == '\0'))" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + -(uint)(cVar2 == '\0'))" (( "(") (binary_expression "pcVar20 + -(uint)(cVar2 == '\0')" (identifier "pcVar20") (+ "+") (unary_expression "-(uint)(cVar2 == '\0')" (- "-") (call_expression "(uint)(cVar2 == '\0')" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(cVar2 == '\0')" (( "(") (binary_expression "cVar2 == '\0'" (identifier "cVar2") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))))) () ")")))) (; ";")) (expression_statement "*(byte **)(puVar18 + -0x10) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -0x10) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -0x10)" (* "*") (cast_expression "(byte **)(puVar18 + -0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pbVar15")) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_000345f5;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_000345f5" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_000345f5" (& "&") (identifier "UNK_000345f5"))) (; ";")) (expression_statement "sVar11 = strlen(*(char **)(puVar18 + -0x10));" (assignment_expression "sVar11 = strlen(*(char **)(puVar18 + -0x10))" (identifier "sVar11") (= "=") (call_expression "strlen(*(char **)(puVar18 + -0x10))" (identifier "strlen") (argument_list "(*(char **)(puVar18 + -0x10))" (( "(") (pointer_expression "*(char **)(puVar18 + -0x10)" (* "*") (cast_expression "(char **)(puVar18 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (sVar11 < 8) {\n      *(byte **)(puVar18 + 8) = pbVar22;\n      uVar12 = *(undefined4 *)(puVar18 + 0x150);\n      *(byte **)(puVar18 + 0x18) = param_2;\n      do {\n        sVar11 = sVar11 + 1;\n        *(undefined4 *)(puVar18 + -0xc) = uVar12;\n        *(undefined4 *)(puVar18 + -0x10) = 0x20;\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003461c;\n        putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      } while (sVar11 != 8);\n      pbVar22 = *(byte **)(puVar18 + 8);\n      param_2 = *(byte **)(puVar18 + 0x18);\n    }" (if "if") (parenthesized_expression "(sVar11 < 8)" (( "(") (binary_expression "sVar11 < 8" (identifier "sVar11") (< "<") (number_literal "8")) () ")")) (compound_statement "{\n      *(byte **)(puVar18 + 8) = pbVar22;\n      uVar12 = *(undefined4 *)(puVar18 + 0x150);\n      *(byte **)(puVar18 + 0x18) = param_2;\n      do {\n        sVar11 = sVar11 + 1;\n        *(undefined4 *)(puVar18 + -0xc) = uVar12;\n        *(undefined4 *)(puVar18 + -0x10) = 0x20;\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003461c;\n        putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      } while (sVar11 != 8);\n      pbVar22 = *(byte **)(puVar18 + 8);\n      param_2 = *(byte **)(puVar18 + 0x18);\n    }" ({ "{") (expression_statement "*(byte **)(puVar18 + 8) = pbVar22;" (assignment_expression "*(byte **)(puVar18 + 8) = pbVar22" (pointer_expression "*(byte **)(puVar18 + 8)" (* "*") (cast_expression "(byte **)(puVar18 + 8)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 8)" (( "(") (binary_expression "puVar18 + 8" (identifier "puVar18") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "pbVar22")) (; ";")) (expression_statement "uVar12 = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "uVar12 = *(undefined4 *)(puVar18 + 0x150)" (identifier "uVar12") (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x150)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x150)" (( "(") (binary_expression "puVar18 + 0x150" (identifier "puVar18") (+ "+") (number_literal "0x150")) () ")"))))) (; ";")) (expression_statement "*(byte **)(puVar18 + 0x18) = param_2;" (assignment_expression "*(byte **)(puVar18 + 0x18) = param_2" (pointer_expression "*(byte **)(puVar18 + 0x18)" (* "*") (cast_expression "(byte **)(puVar18 + 0x18)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x18)" (( "(") (binary_expression "puVar18 + 0x18" (identifier "puVar18") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (do_statement "do {\n        sVar11 = sVar11 + 1;\n        *(undefined4 *)(puVar18 + -0xc) = uVar12;\n        *(undefined4 *)(puVar18 + -0x10) = 0x20;\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003461c;\n        putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      } while (sVar11 != 8);" (do "do") (compound_statement "{\n        sVar11 = sVar11 + 1;\n        *(undefined4 *)(puVar18 + -0xc) = uVar12;\n        *(undefined4 *)(puVar18 + -0x10) = 0x20;\n        *(undefined **)(puVar18 + -0x14) = &UNK_0003461c;\n        putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      }" ({ "{") (expression_statement "sVar11 = sVar11 + 1;" (assignment_expression "sVar11 = sVar11 + 1" (identifier "sVar11") (= "=") (binary_expression "sVar11 + 1" (identifier "sVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0xc) = uVar12;" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = uVar12" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = 0x20;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = 0x20" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0x20")) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_0003461c;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_0003461c" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0003461c" (& "&") (identifier "UNK_0003461c"))) (; ";")) (expression_statement "putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));" (call_expression "putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" (identifier "putc") (argument_list "(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" (( "(") (pointer_expression "*(int *)(puVar18 + -0x10)" (* "*") (cast_expression "(int *)(puVar18 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(FILE **)(puVar18 + -0xc)" (* "*") (cast_expression "(FILE **)(puVar18 + -0xc)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(sVar11 != 8)" (( "(") (binary_expression "sVar11 != 8" (identifier "sVar11") (!= "!=") (number_literal "8")) () ")")) (; ";")) (expression_statement "pbVar22 = *(byte **)(puVar18 + 8);" (assignment_expression "pbVar22 = *(byte **)(puVar18 + 8)" (identifier "pbVar22") (= "=") (pointer_expression "*(byte **)(puVar18 + 8)" (* "*") (cast_expression "(byte **)(puVar18 + 8)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 8)" (( "(") (binary_expression "puVar18 + 8" (identifier "puVar18") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "param_2 = *(byte **)(puVar18 + 0x18);" (assignment_expression "param_2 = *(byte **)(puVar18 + 0x18)" (identifier "param_2") (= "=") (pointer_expression "*(byte **)(puVar18 + 0x18)" (* "*") (cast_expression "(byte **)(puVar18 + 0x18)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x18)" (( "(") (binary_expression "puVar18 + 0x18" (identifier "puVar18") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (} "}"))) (expression_statement "pcVar20 = "0x%s";" (assignment_expression "pcVar20 = "0x%s"" (identifier "pcVar20") (= "=") (string_literal ""0x%s"" (" """) (string_content "0x%s") (" """))) (; ";")) (expression_statement "*(byte **)(puVar18 + -8) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -8) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -8)" (* "*") (cast_expression "(byte **)(puVar18 + -8)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "pbVar15")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x58:\n    DAT_001d14e4 = 0;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;" (case "case") (number_literal "0x58") (: ":") (expression_statement "DAT_001d14e4 = 0;" (assignment_expression "DAT_001d14e4 = 0" (identifier "DAT_001d14e4") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar7 = pbVar22[1];" (assignment_expression "bVar7 = pbVar22[1]" (identifier "bVar7") (= "=") (subscript_expression "pbVar22[1]" (identifier "pbVar22") ([ "[") (number_literal "1") (] "]"))) (; ";")) (goto_statement "goto joined_r0x000340a6;" (goto "goto") (statement_identifier "joined_r0x000340a6") (; ";"))) (case_statement "case 100:\n    puVar10 = &DAT_0006c013;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    goto code_r0x000344af;" (case "case") (number_literal "100") (: ":") (expression_statement "puVar10 = &DAT_0006c013;" (assignment_expression "puVar10 = &DAT_0006c013" (identifier "puVar10") (= "=") (pointer_expression "&DAT_0006c013" (& "&") (identifier "DAT_0006c013"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar18 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (* "*") (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" (( "(") (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" (identifier "puVar18") (+ "+") (binary_expression "iVar16 * 0x10" (identifier "iVar16") (* "*") (number_literal "0x10"))) (+ "+") (number_literal "0xa0")) () ")"))))) (; ";")) (goto_statement "goto code_r0x000344af;" (goto "goto") (statement_identifier "code_r0x000344af") (; ";"))) (case_statement "case 0x6c:\n    if (pbVar22[1] == 100) {\n      puVar10 = &UNK_0007d7c3;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000342cd:\n      *(undefined **)(puVar18 + -0xc) = puVar10;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_000342dd;\n      fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n      bVar7 = pbVar22[2];\n      param_2 = pbVar22 + 2;\n      goto joined_r0x000340a6;\n    }\n    if (pbVar22[1] == 0x75) {\n      puVar10 = &UNK_0007d7c7;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n      goto code_r0x000342cd;\n    }" (case "case") (number_literal "0x6c") (: ":") (if_statement "if (pbVar22[1] == 100) {\n      puVar10 = &UNK_0007d7c3;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000342cd:\n      *(undefined **)(puVar18 + -0xc) = puVar10;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_000342dd;\n      fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n      bVar7 = pbVar22[2];\n      param_2 = pbVar22 + 2;\n      goto joined_r0x000340a6;\n    }" (if "if") (parenthesized_expression "(pbVar22[1] == 100)" (( "(") (binary_expression "pbVar22[1] == 100" (subscript_expression "pbVar22[1]" (identifier "pbVar22") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "100")) () ")")) (compound_statement "{\n      puVar10 = &UNK_0007d7c3;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000342cd:\n      *(undefined **)(puVar18 + -0xc) = puVar10;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined **)(puVar18 + -0x14) = &UNK_000342dd;\n      fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n      *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n      bVar7 = pbVar22[2];\n      param_2 = pbVar22 + 2;\n      goto joined_r0x000340a6;\n    }" ({ "{") (expression_statement "puVar10 = &UNK_0007d7c3;" (assignment_expression "puVar10 = &UNK_0007d7c3" (identifier "puVar10") (= "=") (pointer_expression "&UNK_0007d7c3" (& "&") (identifier "UNK_0007d7c3"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar18 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (* "*") (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" (( "(") (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" (identifier "puVar18") (+ "+") (binary_expression "iVar16 * 0x10" (identifier "iVar16") (* "*") (number_literal "0x10"))) (+ "+") (number_literal "0xa0")) () ")"))))) (; ";")) (labeled_statement "code_r0x000342cd:\n      *(undefined **)(puVar18 + -0xc) = puVar10;" (statement_identifier "code_r0x000342cd") (: ":") (expression_statement "*(undefined **)(puVar18 + -0xc) = puVar10;" (assignment_expression "*(undefined **)(puVar18 + -0xc) = puVar10" (pointer_expression "*(undefined **)(puVar18 + -0xc)" (* "*") (cast_expression "(undefined **)(puVar18 + -0xc)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "puVar10")) (; ";"))) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x150)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x150)" (( "(") (binary_expression "puVar18 + 0x150" (identifier "puVar18") (+ "+") (number_literal "0x150")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_000342dd;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_000342dd" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_000342dd" (& "&") (identifier "UNK_000342dd"))) (; ";")) (expression_statement "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (call_expression "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" (identifier "fprintf") (argument_list "(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" (( "(") (pointer_expression "*(FILE **)(puVar18 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar18 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar18 + -0xc)" (* "*") (cast_expression "(char **)(puVar18 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) () ")"))) (; ";")) (expression_statement "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;" (assignment_expression "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" (* "*") (cast_expression "(int *)(puVar18 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 4)" (( "(") (binary_expression "puVar18 + 4" (identifier "puVar18") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" (* "*") (cast_expression "(int *)(puVar18 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 4)" (( "(") (binary_expression "puVar18 + 4" (identifier "puVar18") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar7 = pbVar22[2];" (assignment_expression "bVar7 = pbVar22[2]" (identifier "bVar7") (= "=") (subscript_expression "pbVar22[2]" (identifier "pbVar22") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "param_2 = pbVar22 + 2;" (assignment_expression "param_2 = pbVar22 + 2" (identifier "param_2") (= "=") (binary_expression "pbVar22 + 2" (identifier "pbVar22") (+ "+") (number_literal "2"))) (; ";")) (goto_statement "goto joined_r0x000340a6;" (goto "goto") (statement_identifier "joined_r0x000340a6") (; ";")) (} "}"))) (if_statement "if (pbVar22[1] == 0x75) {\n      puVar10 = &UNK_0007d7c7;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n      goto code_r0x000342cd;\n    }" (if "if") (parenthesized_expression "(pbVar22[1] == 0x75)" (( "(") (binary_expression "pbVar22[1] == 0x75" (subscript_expression "pbVar22[1]" (identifier "pbVar22") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x75")) () ")")) (compound_statement "{\n      puVar10 = &UNK_0007d7c7;\n      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n      goto code_r0x000342cd;\n    }" ({ "{") (expression_statement "puVar10 = &UNK_0007d7c7;" (assignment_expression "puVar10 = &UNK_0007d7c7" (identifier "puVar10") (= "=") (pointer_expression "&UNK_0007d7c7" (& "&") (identifier "UNK_0007d7c7"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar18 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (* "*") (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" (( "(") (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" (identifier "puVar18") (+ "+") (binary_expression "iVar16 * 0x10" (identifier "iVar16") (* "*") (number_literal "0x10"))) (+ "+") (number_literal "0xa0")) () ")"))))) (; ";")) (goto_statement "goto code_r0x000342cd;" (goto "goto") (statement_identifier "code_r0x000342cd") (; ";")) (} "}")))) (case_statement "default:\nLAB_0003421d:\n    pcVar20 = "%%%c";\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + 8);\n    break;" (default "default") (: ":") (labeled_statement "LAB_0003421d:\n    pcVar20 = "%%%c";" (statement_identifier "LAB_0003421d") (: ":") (expression_statement "pcVar20 = "%%%c";" (assignment_expression "pcVar20 = "%%%c"" (identifier "pcVar20") (= "=") (string_literal ""%%%c"" (" """) (string_content "%%%c") (" """))) (; ";"))) (expression_statement "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + 8);" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + 8)" (pointer_expression "*(undefined4 *)(puVar18 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 8)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 8)" (( "(") (binary_expression "puVar18 + 8" (identifier "puVar18") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x70:\n    bVar7 = pbVar22[1];\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    if (bVar7 == 0x41) {\n      pbVar21 = pbVar22 + 2;\n      puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n      pbVar15 = (byte *)puVar13[0x2b];\n      *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined4 *)(puVar18 + -0x10) = *puVar13;\n      *(undefined4 **)(puVar18 + 8) = puVar13;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034a7f;\n      fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      iVar16 = *(int *)(puVar18 + 8);\n      if (pbVar15 != (byte *)0x0) {\n        if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }\n        if (iVar16 != 0) {\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }\n    }\n    else {\n      if (bVar7 == 0x42) {\n        pbVar21 = pbVar22 + 2;\n        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;\n        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);\n        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));\n        bVar7 = pbVar22[2];\n        puVar18 = puVar19 + 8;\n        param_2 = pbVar21;\n        goto joined_r0x000340a6;\n      }\n      if (bVar7 == 0x49) {\n        pbVar21 = pbVar22 + 2;\n        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);\n        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }\n    }\nLAB_000349da:\n    bVar7 = pbVar22[2];\n    param_2 = pbVar21;\n    goto joined_r0x000340a6;" (case "case") (number_literal "0x70") (: ":") (expression_statement "bVar7 = pbVar22[1];" (assignment_expression "bVar7 = pbVar22[1]" (identifier "bVar7") (= "=") (subscript_expression "pbVar22[1]" (identifier "pbVar22") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;" (assignment_expression "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" (* "*") (cast_expression "(int *)(puVar18 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 4)" (( "(") (binary_expression "puVar18 + 4" (identifier "puVar18") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" (* "*") (cast_expression "(int *)(puVar18 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 4)" (( "(") (binary_expression "puVar18 + 4" (identifier "puVar18") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (bVar7 == 0x41) {\n      pbVar21 = pbVar22 + 2;\n      puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n      pbVar15 = (byte *)puVar13[0x2b];\n      *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined4 *)(puVar18 + -0x10) = *puVar13;\n      *(undefined4 **)(puVar18 + 8) = puVar13;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034a7f;\n      fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      iVar16 = *(int *)(puVar18 + 8);\n      if (pbVar15 != (byte *)0x0) {\n        if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }\n        if (iVar16 != 0) {\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }\n    }\n    else {\n      if (bVar7 == 0x42) {\n        pbVar21 = pbVar22 + 2;\n        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;\n        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);\n        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));\n        bVar7 = pbVar22[2];\n        puVar18 = puVar19 + 8;\n        param_2 = pbVar21;\n        goto joined_r0x000340a6;\n      }\n      if (bVar7 == 0x49) {\n        pbVar21 = pbVar22 + 2;\n        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);\n        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }\n    }" (if "if") (parenthesized_expression "(bVar7 == 0x41)" (( "(") (binary_expression "bVar7 == 0x41" (identifier "bVar7") (== "==") (number_literal "0x41")) () ")")) (compound_statement "{\n      pbVar21 = pbVar22 + 2;\n      puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n      pbVar15 = (byte *)puVar13[0x2b];\n      *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n      *(undefined4 *)(puVar18 + -0x10) = *puVar13;\n      *(undefined4 **)(puVar18 + 8) = puVar13;\n      *(undefined **)(puVar18 + -0x14) = &UNK_00034a7f;\n      fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n      iVar16 = *(int *)(puVar18 + 8);\n      if (pbVar15 != (byte *)0x0) {\n        if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }\n        if (iVar16 != 0) {\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }\n    }" ({ "{") (expression_statement "pbVar21 = pbVar22 + 2;" (assignment_expression "pbVar21 = pbVar22 + 2" (identifier "pbVar21") (= "=") (binary_expression "pbVar22 + 2" (identifier "pbVar22") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0)" (identifier "puVar13") (= "=") (pointer_expression "*(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0)" (* "*") (cast_expression "(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" (( "(") (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" (identifier "puVar18") (+ "+") (binary_expression "iVar16 * 0x10" (identifier "iVar16") (* "*") (number_literal "0x10"))) (+ "+") (number_literal "0xa0")) () ")"))))) (; ";")) (expression_statement "pbVar15 = (byte *)puVar13[0x2b];" (assignment_expression "pbVar15 = (byte *)puVar13[0x2b]" (identifier "pbVar15") (= "=") (cast_expression "(byte *)puVar13[0x2b]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar13[0x2b]" (identifier "puVar13") ([ "[") (number_literal "0x2b") (] "]")))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x150)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x150)" (( "(") (binary_expression "puVar18 + 0x150" (identifier "puVar18") (+ "+") (number_literal "0x150")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *puVar13;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *puVar13" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*puVar13" (* "*") (identifier "puVar13"))) (; ";")) (expression_statement "*(undefined4 **)(puVar18 + 8) = puVar13;" (assignment_expression "*(undefined4 **)(puVar18 + 8) = puVar13" (pointer_expression "*(undefined4 **)(puVar18 + 8)" (* "*") (cast_expression "(undefined4 **)(puVar18 + 8)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 8)" (( "(") (binary_expression "puVar18 + 8" (identifier "puVar18") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "puVar13")) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034a7f;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034a7f" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00034a7f" (& "&") (identifier "UNK_00034a7f"))) (; ";")) (expression_statement "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));" (call_expression "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" (identifier "fputs") (argument_list "(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar18 + -0x10)" (* "*") (cast_expression "(char **)(puVar18 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(FILE **)(puVar18 + -0xc)" (* "*") (cast_expression "(FILE **)(puVar18 + -0xc)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) () ")"))) (; ";")) (expression_statement "iVar16 = *(int *)(puVar18 + 8);" (assignment_expression "iVar16 = *(int *)(puVar18 + 8)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(puVar18 + 8)" (* "*") (cast_expression "(int *)(puVar18 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 8)" (( "(") (binary_expression "puVar18 + 8" (identifier "puVar18") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (pbVar15 != (byte *)0x0) {\n        if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }\n        if (iVar16 != 0) {\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }" (if "if") (parenthesized_expression "(pbVar15 != (byte *)0x0)" (( "(") (binary_expression "pbVar15 != (byte *)0x0" (identifier "pbVar15") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }\n        if (iVar16 != 0) {\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }\n      }" ({ "{") (if_statement "if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }\n        else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(pbVar15 + 4) + 4) == 5)" (( "(") (binary_expression "*(int *)(*(int *)(pbVar15 + 4) + 4) == 5" (pointer_expression "*(int *)(*(int *)(pbVar15 + 4) + 4)" (* "*") (cast_expression "(int *)(*(int *)(pbVar15 + 4) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pbVar15 + 4) + 4)" (( "(") (binary_expression "*(int *)(pbVar15 + 4) + 4" (pointer_expression "*(int *)(pbVar15 + 4)" (* "*") (cast_expression "(int *)(pbVar15 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar15 + 4)" (( "(") (binary_expression "pbVar15 + 4" (identifier "pbVar15") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "5")) () ")")) (compound_statement "{\n          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);\n          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;\n          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);\n        }" ({ "{") (expression_statement "pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);" (assignment_expression "pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c)" (identifier "pbVar15") (= "=") (pointer_expression "*(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c)" (* "*") (cast_expression "(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(iVar16 + 0xa4) + 0x8c)" (( "(") (binary_expression "*(int *)(iVar16 + 0xa4) + 0x8c" (pointer_expression "*(int *)(iVar16 + 0xa4)" (* "*") (cast_expression "(int *)(iVar16 + 0xa4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0xa4)" (( "(") (binary_expression "iVar16 + 0xa4" (identifier "iVar16") (+ "+") (number_literal "0xa4")) () ")")))) (+ "+") (number_literal "0x8c")) () ")"))))) (; ";")) (if_statement "if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;" (if "if") (parenthesized_expression "((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0))" (( "(") (binary_expression "(pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)" (parenthesized_expression "(pbVar15 == (byte *)0x0)" (( "(") (binary_expression "pbVar15 == (byte *)0x0" (identifier "pbVar15") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "((*(byte *)(iVar16 + 0x17) & 2) != 0)" (( "(") (binary_expression "(*(byte *)(iVar16 + 0x17) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar16 + 0x17) & 2)" (( "(") (binary_expression "*(byte *)(iVar16 + 0x17) & 2" (pointer_expression "*(byte *)(iVar16 + 0x17)" (* "*") (cast_expression "(byte *)(iVar16 + 0x17)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x17)" (( "(") (binary_expression "iVar16 + 0x17" (identifier "iVar16") (+ "+") (number_literal "0x17")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_000349da;" (goto "goto") (statement_identifier "LAB_000349da") (; ";"))) (expression_statement "iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);" (assignment_expression "iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(*(int *)(iVar16 + 0xa4) + 0x84)" (* "*") (cast_expression "(int *)(*(int *)(iVar16 + 0xa4) + 0x84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar16 + 0xa4) + 0x84)" (( "(") (binary_expression "*(int *)(iVar16 + 0xa4) + 0x84" (pointer_expression "*(int *)(iVar16 + 0xa4)" (* "*") (cast_expression "(int *)(iVar16 + 0xa4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0xa4)" (( "(") (binary_expression "iVar16 + 0xa4" (identifier "iVar16") (+ "+") (number_literal "0xa4")) () ")")))) (+ "+") (number_literal "0x84")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }" (else "else") (compound_statement "{\n          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;\n          iVar16 = *piVar6;\n        }" ({ "{") (if_statement "if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))\n          goto LAB_000349da;" (if "if") (parenthesized_expression "((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))" (( "(") (binary_expression "(((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)) ||\n             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0)" (parenthesized_expression "(((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0))" (( "(") (binary_expression "((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||\n              (*(int *)(iVar16 + 0xa4) == 0)" (parenthesized_expression "((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2))" (( "(") (binary_expression "(*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||\n               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)" (parenthesized_expression "(*(int *)(*(int *)(pbVar15 + 4) + 4) != 2)" (( "(") (binary_expression "*(int *)(*(int *)(pbVar15 + 4) + 4) != 2" (pointer_expression "*(int *)(*(int *)(pbVar15 + 4) + 4)" (* "*") (cast_expression "(int *)(*(int *)(pbVar15 + 4) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pbVar15 + 4) + 4)" (( "(") (binary_expression "*(int *)(pbVar15 + 4) + 4" (pointer_expression "*(int *)(pbVar15 + 4)" (* "*") (cast_expression "(int *)(pbVar15 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar15 + 4)" (( "(") (binary_expression "pbVar15 + 4" (identifier "pbVar15") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (!= "!=") (number_literal "2")) () ")")) (|| "||") (parenthesized_expression "(*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)" (( "(") (binary_expression "*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2" (pointer_expression "*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4)" (* "*") (cast_expression "(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4)" (( "(") (binary_expression "*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4" (pointer_expression "*(int *)(*(int *)(iVar16 + 0xac) + 4)" (* "*") (cast_expression "(int *)(*(int *)(iVar16 + 0xac) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar16 + 0xac) + 4)" (( "(") (binary_expression "*(int *)(iVar16 + 0xac) + 4" (pointer_expression "*(int *)(iVar16 + 0xac)" (* "*") (cast_expression "(int *)(iVar16 + 0xac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0xac)" (( "(") (binary_expression "iVar16 + 0xac" (identifier "iVar16") (+ "+") (number_literal "0xac")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (!= "!=") (number_literal "2")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(*(int *)(iVar16 + 0xa4) == 0)" (( "(") (binary_expression "*(int *)(iVar16 + 0xa4) == 0" (pointer_expression "*(int *)(iVar16 + 0xa4)" (* "*") (cast_expression "(int *)(iVar16 + 0xa4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0xa4)" (( "(") (binary_expression "iVar16 + 0xa4" (identifier "iVar16") (+ "+") (number_literal "0xa4")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0)" (( "(") (comma_expression "piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0" (assignment_expression "piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c)" (identifier "piVar6") (= "=") (pointer_expression "*(int **)(*(int *)(iVar16 + 0xa4) + 0x2c)" (* "*") (cast_expression "(int **)(*(int *)(iVar16 + 0xa4) + 0x2c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(iVar16 + 0xa4) + 0x2c)" (( "(") (binary_expression "*(int *)(iVar16 + 0xa4) + 0x2c" (pointer_expression "*(int *)(iVar16 + 0xa4)" (* "*") (cast_expression "(int *)(iVar16 + 0xa4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0xa4)" (( "(") (binary_expression "iVar16 + 0xa4" (identifier "iVar16") (+ "+") (number_literal "0xa4")) () ")")))) (+ "+") (number_literal "0x2c")) () ")"))))) (, ",") (binary_expression "piVar6 == (int *)0x0" (identifier "piVar6") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (goto_statement "goto LAB_000349da;" (goto "goto") (statement_identifier "LAB_000349da") (; ";"))) (expression_statement "iVar16 = *piVar6;" (assignment_expression "iVar16 = *piVar6" (identifier "iVar16") (= "=") (pointer_expression "*piVar6" (* "*") (identifier "piVar6"))) (; ";")) (} "}")))) (if_statement "if (iVar16 != 0) {\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }" (if "if") (parenthesized_expression "(iVar16 != 0)" (( "(") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          puVar19 = puVar18 + -8;\n          *(int *)(puVar18 + -8) = iVar16;\n          pcVar20 = "[%s]";\n          goto LAB_00034ae6;\n        }" ({ "{") (expression_statement "puVar19 = puVar18 + -8;" (assignment_expression "puVar19 = puVar18 + -8" (identifier "puVar19") (= "=") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8"))) (; ";")) (expression_statement "*(int *)(puVar18 + -8) = iVar16;" (assignment_expression "*(int *)(puVar18 + -8) = iVar16" (pointer_expression "*(int *)(puVar18 + -8)" (* "*") (cast_expression "(int *)(puVar18 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar16")) (; ";")) (expression_statement "pcVar20 = "[%s]";" (assignment_expression "pcVar20 = "[%s]"" (identifier "pcVar20") (= "=") (string_literal ""[%s]"" (" """) (string_content "[%s]") (" """))) (; ";")) (goto_statement "goto LAB_00034ae6;" (goto "goto") (statement_identifier "LAB_00034ae6") (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n      if (bVar7 == 0x42) {\n        pbVar21 = pbVar22 + 2;\n        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;\n        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);\n        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));\n        bVar7 = pbVar22[2];\n        puVar18 = puVar19 + 8;\n        param_2 = pbVar21;\n        goto joined_r0x000340a6;\n      }\n      if (bVar7 == 0x49) {\n        pbVar21 = pbVar22 + 2;\n        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);\n        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }\n    }" (else "else") (compound_statement "{\n      if (bVar7 == 0x42) {\n        pbVar21 = pbVar22 + 2;\n        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;\n        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);\n        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));\n        bVar7 = pbVar22[2];\n        puVar18 = puVar19 + 8;\n        param_2 = pbVar21;\n        goto joined_r0x000340a6;\n      }\n      if (bVar7 == 0x49) {\n        pbVar21 = pbVar22 + 2;\n        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);\n        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }\n    }" ({ "{") (if_statement "if (bVar7 == 0x42) {\n        pbVar21 = pbVar22 + 2;\n        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;\n        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);\n        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));\n        bVar7 = pbVar22[2];\n        puVar18 = puVar19 + 8;\n        param_2 = pbVar21;\n        goto joined_r0x000340a6;\n      }" (if "if") (parenthesized_expression "(bVar7 == 0x42)" (( "(") (binary_expression "bVar7 == 0x42" (identifier "bVar7") (== "==") (number_literal "0x42")) () ")")) (compound_statement "{\n        pbVar21 = pbVar22 + 2;\n        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }\nLAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;\n        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);\n        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;\n        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));\n        bVar7 = pbVar22[2];\n        puVar18 = puVar19 + 8;\n        param_2 = pbVar21;\n        goto joined_r0x000340a6;\n      }" ({ "{") (expression_statement "pbVar21 = pbVar22 + 2;" (assignment_expression "pbVar21 = pbVar22 + 2" (identifier "pbVar21") (= "=") (binary_expression "pbVar22 + 2" (identifier "pbVar22") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0)" (identifier "puVar13") (= "=") (pointer_expression "*(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0)" (* "*") (cast_expression "(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" (( "(") (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" (identifier "puVar18") (+ "+") (binary_expression "iVar16 * 0x10" (identifier "iVar16") (* "*") (number_literal "0x10"))) (+ "+") (number_literal "0xa0")) () ")"))))) (; ";")) (if_statement "if (puVar13 == (undefined4 *)0x0) {\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }\n        else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }" (if "if") (parenthesized_expression "(puVar13 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar13 == (undefined4 *)0x0" (identifier "puVar13") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;\n          pcVar20 = "%s generated";\n        }" ({ "{") (expression_statement "puVar19 = puVar18 + -8;" (assignment_expression "puVar19 = puVar18 + -8" (identifier "puVar19") (= "=") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -8) = DAT_001d1558;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = DAT_001d1558" (pointer_expression "*(undefined4 *)(puVar18 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "DAT_001d1558")) (; ";")) (expression_statement "pcVar20 = "%s generated";" (assignment_expression "pcVar20 = "%s generated"" (identifier "pcVar20") (= "=") (string_literal ""%s generated"" (" """) (string_content "%s generated") (" """))) (; ";")) (} "}")) (else_clause "else {\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }" (else "else") (compound_statement "{\n          puVar8 = (undefined4 *)puVar13[0x23];\n          pcVar20 = (char *)*puVar13;\n          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }\n          *(char **)(puVar18 + -4) = pcVar20;\n          puVar19 = puVar18 + -8;\n          *(undefined4 *)(puVar18 + -8) = *puVar8;\n          pcVar20 = "%s(%s)";\n        }" ({ "{") (expression_statement "puVar8 = (undefined4 *)puVar13[0x23];" (assignment_expression "puVar8 = (undefined4 *)puVar13[0x23]" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)puVar13[0x23]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar13[0x23]" (identifier "puVar13") ([ "[") (number_literal "0x23") (] "]")))) (; ";")) (expression_statement "pcVar20 = (char *)*puVar13;" (assignment_expression "pcVar20 = (char *)*puVar13" (identifier "pcVar20") (= "=") (cast_expression "(char *)*puVar13" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar13" (* "*") (identifier "puVar13")))) (; ";")) (if_statement "if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }" (if "if") (parenthesized_expression "((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0))" (( "(") (binary_expression "(puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)" (parenthesized_expression "(puVar8 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar8 == (undefined4 *)0x0" (identifier "puVar8") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "((*(byte *)(puVar8 + 0xb) & 1) != 0)" (( "(") (binary_expression "(*(byte *)(puVar8 + 0xb) & 1) != 0" (parenthesized_expression "(*(byte *)(puVar8 + 0xb) & 1)" (( "(") (binary_expression "*(byte *)(puVar8 + 0xb) & 1" (pointer_expression "*(byte *)(puVar8 + 0xb)" (* "*") (cast_expression "(byte *)(puVar8 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 0xb)" (( "(") (binary_expression "puVar8 + 0xb" (identifier "puVar8") (+ "+") (number_literal "0xb")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\ncode_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n            *(char **)(puVar18 + -0x10) = pcVar20;\n            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;\n            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n            bVar7 = pbVar22[2];\n            param_2 = pbVar22 + 2;\n            goto joined_r0x000340a6;\n          }" ({ "{") (labeled_statement "code_r0x00034957:\n            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);" (statement_identifier "code_r0x00034957") (: ":") (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x150)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x150)" (( "(") (binary_expression "puVar18 + 0x150" (identifier "puVar18") (+ "+") (number_literal "0x150")) () ")"))))) (; ";"))) (expression_statement "*(char **)(puVar18 + -0x10) = pcVar20;" (assignment_expression "*(char **)(puVar18 + -0x10) = pcVar20" (pointer_expression "*(char **)(puVar18 + -0x10)" (* "*") (cast_expression "(char **)(puVar18 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pcVar20")) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034967;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034967" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00034967" (& "&") (identifier "UNK_00034967"))) (; ";")) (expression_statement "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));" (call_expression "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" (identifier "fputs") (argument_list "(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar18 + -0x10)" (* "*") (cast_expression "(char **)(puVar18 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(FILE **)(puVar18 + -0xc)" (* "*") (cast_expression "(FILE **)(puVar18 + -0xc)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) () ")"))) (; ";")) (expression_statement "bVar7 = pbVar22[2];" (assignment_expression "bVar7 = pbVar22[2]" (identifier "bVar7") (= "=") (subscript_expression "pbVar22[2]" (identifier "pbVar22") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "param_2 = pbVar22 + 2;" (assignment_expression "param_2 = pbVar22 + 2" (identifier "param_2") (= "=") (binary_expression "pbVar22 + 2" (identifier "pbVar22") (+ "+") (number_literal "2"))) (; ";")) (goto_statement "goto joined_r0x000340a6;" (goto "goto") (statement_identifier "joined_r0x000340a6") (; ";")) (} "}"))) (expression_statement "*(char **)(puVar18 + -4) = pcVar20;" (assignment_expression "*(char **)(puVar18 + -4) = pcVar20" (pointer_expression "*(char **)(puVar18 + -4)" (* "*") (cast_expression "(char **)(puVar18 + -4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -4)" (( "(") (binary_expression "puVar18 + -4" (identifier "puVar18") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "pcVar20")) (; ";")) (expression_statement "puVar19 = puVar18 + -8;" (assignment_expression "puVar19 = puVar18 + -8" (identifier "puVar19") (= "=") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -8) = *puVar8;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *puVar8" (pointer_expression "*(undefined4 *)(puVar18 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*puVar8" (* "*") (identifier "puVar8"))) (; ";")) (expression_statement "pcVar20 = "%s(%s)";" (assignment_expression "pcVar20 = "%s(%s)"" (identifier "pcVar20") (= "=") (string_literal ""%s(%s)"" (" """) (string_content "%s(%s)") (" """))) (; ";")) (} "}")))) (labeled_statement "LAB_00034ae6:\n        *(char **)(puVar19 + -4) = pcVar20;" (statement_identifier "LAB_00034ae6") (: ":") (expression_statement "*(char **)(puVar19 + -4) = pcVar20;" (assignment_expression "*(char **)(puVar19 + -4) = pcVar20" (pointer_expression "*(char **)(puVar19 + -4)" (* "*") (cast_expression "(char **)(puVar19 + -4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + -4)" (( "(") (binary_expression "puVar19 + -4" (identifier "puVar19") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "pcVar20")) (; ";"))) (expression_statement "*(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);" (assignment_expression "*(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158)" (pointer_expression "*(undefined4 *)(puVar19 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -8)" (( "(") (binary_expression "puVar19 + -8" (identifier "puVar19") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar19 + 0x158)" (* "*") (cast_expression "(undefined4 *)(puVar19 + 0x158)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x158)" (( "(") (binary_expression "puVar19 + 0x158" (identifier "puVar19") (+ "+") (number_literal "0x158")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x34af3;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x34af3" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0xc)" (( "(") (binary_expression "puVar19 + -0xc" (identifier "puVar19") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x34af3")) (; ";")) (expression_statement "fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));" (call_expression "fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4))" (identifier "fprintf") (argument_list "(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4))" (( "(") (pointer_expression "*(FILE **)(puVar19 + -8)" (* "*") (cast_expression "(FILE **)(puVar19 + -8)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + -8)" (( "(") (binary_expression "puVar19 + -8" (identifier "puVar19") (+ "+") (number_literal "-8")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar19 + -4)" (* "*") (cast_expression "(char **)(puVar19 + -4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + -4)" (( "(") (binary_expression "puVar19 + -4" (identifier "puVar19") (+ "+") (number_literal "-4")) () ")")))) () ")"))) (; ";")) (expression_statement "bVar7 = pbVar22[2];" (assignment_expression "bVar7 = pbVar22[2]" (identifier "bVar7") (= "=") (subscript_expression "pbVar22[2]" (identifier "pbVar22") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "puVar18 = puVar19 + 8;" (assignment_expression "puVar18 = puVar19 + 8" (identifier "puVar18") (= "=") (binary_expression "puVar19 + 8" (identifier "puVar19") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "param_2 = pbVar21;" (assignment_expression "param_2 = pbVar21" (identifier "param_2") (= "=") (identifier "pbVar21")) (; ";")) (goto_statement "goto joined_r0x000340a6;" (goto "goto") (statement_identifier "joined_r0x000340a6") (; ";")) (} "}"))) (if_statement "if (bVar7 == 0x49) {\n        pbVar21 = pbVar22 + 2;\n        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);\n        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }\n      }\n      else {\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }" (if "if") (parenthesized_expression "(bVar7 == 0x49)" (( "(") (binary_expression "bVar7 == 0x49" (identifier "bVar7") (== "==") (number_literal "0x49")) () ")")) (compound_statement "{\n        pbVar21 = pbVar22 + 2;\n        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);\n        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;\n        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }\n      }" ({ "{") (expression_statement "pbVar21 = pbVar22 + 2;" (assignment_expression "pbVar21 = pbVar22 + 2" (identifier "pbVar21") (= "=") (binary_expression "pbVar22 + 2" (identifier "pbVar22") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0)" (identifier "pbVar15") (= "=") (pointer_expression "*(byte **)(puVar18 + iVar16 * 0x10 + 0xa0)" (* "*") (cast_expression "(byte **)(puVar18 + iVar16 * 0x10 + 0xa0)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" (( "(") (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" (identifier "puVar18") (+ "+") (binary_expression "iVar16 * 0x10" (identifier "iVar16") (* "*") (number_literal "0x10"))) (+ "+") (number_literal "0xa0")) () ")"))))) (; ";")) (expression_statement "puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);" (assignment_expression "puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c)" (identifier "puVar13") (= "=") (pointer_expression "*(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c)" (* "*") (cast_expression "(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(pbVar15 + 0x10) + 0x8c)" (( "(") (binary_expression "*(int *)(pbVar15 + 0x10) + 0x8c" (pointer_expression "*(int *)(pbVar15 + 0x10)" (* "*") (cast_expression "(int *)(pbVar15 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar15 + 0x10)" (( "(") (binary_expression "pbVar15 + 0x10" (identifier "pbVar15") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x8c")) () ")"))))) (; ";")) (if_statement "if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }" (if "if") (parenthesized_expression "((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0))" (( "(") (binary_expression "(puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)" (parenthesized_expression "(puVar13 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar13 != (undefined4 *)0x0" (identifier "puVar13") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(puVar13 + 0xb) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(puVar13 + 0xb) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar13 + 0xb) & 1)" (( "(") (binary_expression "*(byte *)(puVar13 + 0xb) & 1" (pointer_expression "*(byte *)(puVar13 + 0xb)" (* "*") (cast_expression "(byte *)(puVar13 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13 + 0xb)" (( "(") (binary_expression "puVar13 + 0xb" (identifier "puVar13") (+ "+") (number_literal "0xb")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\ncode_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;\n          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }" ({ "{") (labeled_statement "code_r0x00034be8:\n          *(undefined4 *)(puVar18 + -8) = *puVar13;" (statement_identifier "code_r0x00034be8") (: ":") (expression_statement "*(undefined4 *)(puVar18 + -8) = *puVar13;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *puVar13" (pointer_expression "*(undefined4 *)(puVar18 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*puVar13" (* "*") (identifier "puVar13"))) (; ";"))) (expression_statement "*(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;" (assignment_expression "*(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1" (pointer_expression "*(undefined **)(puVar18 + -0xc)" (* "*") (cast_expression "(undefined **)(puVar18 + -0xc)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&DAT_0007d3a1" (& "&") (identifier "DAT_0007d3a1"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x150)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x150)" (( "(") (binary_expression "puVar18 + 0x150" (identifier "puVar18") (+ "+") (number_literal "0x150")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x34c00;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x34c00" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x34c00")) (; ";")) (expression_statement "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (call_expression "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" (identifier "fprintf") (argument_list "(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" (( "(") (pointer_expression "*(FILE **)(puVar18 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar18 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar18 + -0xc)" (* "*") (cast_expression "(char **)(puVar18 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x150)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x150)" (( "(") (binary_expression "puVar18 + 0x150" (identifier "puVar18") (+ "+") (number_literal "0x150")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(pbVar15 + 0xc)" (* "*") (cast_expression "(undefined4 *)(pbVar15 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar15 + 0xc)" (( "(") (binary_expression "pbVar15 + 0xc" (identifier "pbVar15") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x349ab;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x349ab" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x349ab")) (; ";")) (expression_statement "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));" (call_expression "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" (identifier "fputs") (argument_list "(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar18 + -0x10)" (* "*") (cast_expression "(char **)(puVar18 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(FILE **)(puVar18 + -0xc)" (* "*") (cast_expression "(FILE **)(puVar18 + -0xc)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) () ")"))) (; ";")) (if_statement "if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }" (if "if") (parenthesized_expression "((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0))" (( "(") (binary_expression "(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||\n           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)" (parenthesized_expression "(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0)" (( "(") (binary_expression "*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0" (pointer_expression "*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c)" (* "*") (cast_expression "(int *)(*(int *)(pbVar15 + 0x10) + 0x8c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pbVar15 + 0x10) + 0x8c)" (( "(") (binary_expression "*(int *)(pbVar15 + 0x10) + 0x8c" (pointer_expression "*(int *)(pbVar15 + 0x10)" (* "*") (cast_expression "(int *)(pbVar15 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar15 + 0x10)" (( "(") (binary_expression "pbVar15 + 0x10" (identifier "pbVar15") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x8c")) () ")")))) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)" (( "(") (binary_expression "(*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0" (parenthesized_expression "(*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1)" (( "(") (binary_expression "*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1" (pointer_expression "*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c)" (* "*") (cast_expression "(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c)" (( "(") (binary_expression "*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c" (pointer_expression "*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c)" (* "*") (cast_expression "(int *)(*(int *)(pbVar15 + 0x10) + 0x8c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pbVar15 + 0x10) + 0x8c)" (( "(") (binary_expression "*(int *)(pbVar15 + 0x10) + 0x8c" (pointer_expression "*(int *)(pbVar15 + 0x10)" (* "*") (cast_expression "(int *)(pbVar15 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar15 + 0x10)" (( "(") (binary_expression "pbVar15 + 0x10" (identifier "pbVar15") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x8c")) () ")")))) (+ "+") (number_literal "0x2c")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);\n          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;\n          iVar16 = filename_cmp();\n          if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }\n        }" ({ "{") (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(pbVar15 + 8)" (* "*") (cast_expression "(undefined4 *)(pbVar15 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar15 + 8)" (( "(") (binary_expression "pbVar15 + 8" (identifier "pbVar15") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(pbVar15 + 0xc)" (* "*") (cast_expression "(undefined4 *)(pbVar15 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar15 + 0xc)" (( "(") (binary_expression "pbVar15 + 0xc" (identifier "pbVar15") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x349cf;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x349cf" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x349cf")) (; ";")) (expression_statement "iVar16 = filename_cmp();" (assignment_expression "iVar16 = filename_cmp()" (identifier "iVar16") (= "=") (call_expression "filename_cmp()" (identifier "filename_cmp") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar16 != 0) {\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }" (if "if") (parenthesized_expression "(iVar16 != 0)" (( "(") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            pcVar20 = " (%s)";\n            puVar19 = puVar18 + -8;\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);\n            goto LAB_00034ae6;\n          }" ({ "{") (expression_statement "pcVar20 = " (%s)";" (assignment_expression "pcVar20 = " (%s)"" (identifier "pcVar20") (= "=") (string_literal "" (%s)"" (" """) (string_content " (%s)") (" """))) (; ";")) (expression_statement "puVar19 = puVar18 + -8;" (assignment_expression "puVar19 = puVar18 + -8" (identifier "puVar19") (= "=") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8)" (pointer_expression "*(undefined4 *)(puVar18 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(pbVar15 + 8)" (* "*") (cast_expression "(undefined4 *)(pbVar15 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar15 + 8)" (( "(") (binary_expression "pbVar15 + 8" (identifier "pbVar15") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (goto_statement "goto LAB_00034ae6;" (goto "goto") (statement_identifier "LAB_00034ae6") (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }" (else "else") (compound_statement "{\n        if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }\n        if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }\n        pbVar21 = pbVar22 + 2;\n        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n        if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }\n        if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }\n      }" ({ "{") (if_statement "if (bVar7 == 0x52) {\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }" (if "if") (parenthesized_expression "(bVar7 == 0x52)" (( "(") (binary_expression "bVar7 == 0x52" (identifier "bVar7") (== "==") (number_literal "0x52")) () ")")) (compound_statement "{\n          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);\n          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];\n          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];\n          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);\n          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";\n          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;\n          FUN_00034e30();\n          bVar7 = pbVar22[2];\n          param_2 = pbVar22 + 2;\n          goto joined_r0x000340a6;\n        }" ({ "{") (expression_statement "puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0)" (identifier "puVar13") (= "=") (pointer_expression "*(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0)" (* "*") (cast_expression "(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" (( "(") (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" (identifier "puVar18") (+ "+") (binary_expression "iVar16 * 0x10" (identifier "iVar16") (* "*") (number_literal "0x10"))) (+ "+") (number_literal "0xa0")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar13[5] + 0x20)" (* "*") (cast_expression "(undefined4 *)(puVar13[5] + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13[5] + 0x20)" (( "(") (binary_expression "puVar13[5] + 0x20" (subscript_expression "puVar13[5]" (identifier "puVar13") ([ "[") (number_literal "5") (] "]")) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = puVar13[4];" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = puVar13[4]" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "puVar13[4]" (identifier "puVar13") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = puVar13[3];" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = puVar13[3]" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (subscript_expression "puVar13[3]" (identifier "puVar13") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);" (assignment_expression "*(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4)" (pointer_expression "*(undefined4 *)(puVar18 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x18)" (( "(") (binary_expression "puVar18 + -0x18" (identifier "puVar18") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(*(int *)*puVar13 + 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)*puVar13 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)*puVar13 + 4)" (( "(") (binary_expression "*(int *)*puVar13 + 4" (pointer_expression "*(int *)*puVar13" (* "*") (cast_expression "(int *)*puVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar13" (* "*") (identifier "puVar13")))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";" (assignment_expression "*(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)"" (pointer_expression "*(char **)(puVar18 + -0x1c)" (* "*") (cast_expression "(char **)(puVar18 + -0x1c)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x1c)" (( "(") (binary_expression "puVar18 + -0x1c" (identifier "puVar18") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (string_literal ""%s+0x%v (type %s)"" (" """) (string_content "%s+0x%v (type %s)") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x20)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x20)" (( "(") (binary_expression "puVar18 + -0x20" (identifier "puVar18") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x150)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x150)" (( "(") (binary_expression "puVar18 + 0x150" (identifier "puVar18") (+ "+") (number_literal "0x150")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x24) = &UNK_000348d6;" (assignment_expression "*(undefined **)(puVar18 + -0x24) = &UNK_000348d6" (pointer_expression "*(undefined **)(puVar18 + -0x24)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x24)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x24)" (( "(") (binary_expression "puVar18 + -0x24" (identifier "puVar18") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (pointer_expression "&UNK_000348d6" (& "&") (identifier "UNK_000348d6"))) (; ";")) (expression_statement "FUN_00034e30();" (call_expression "FUN_00034e30()" (identifier "FUN_00034e30") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "bVar7 = pbVar22[2];" (assignment_expression "bVar7 = pbVar22[2]" (identifier "bVar7") (= "=") (subscript_expression "pbVar22[2]" (identifier "pbVar22") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "param_2 = pbVar22 + 2;" (assignment_expression "param_2 = pbVar22 + 2" (identifier "param_2") (= "=") (binary_expression "pbVar22 + 2" (identifier "pbVar22") (+ "+") (number_literal "2"))) (; ";")) (goto_statement "goto joined_r0x000340a6;" (goto "goto") (statement_identifier "joined_r0x000340a6") (; ";")) (} "}"))) (if_statement "if (bVar7 != 0x53) {\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }" (if "if") (parenthesized_expression "(bVar7 != 0x53)" (( "(") (binary_expression "bVar7 != 0x53" (identifier "bVar7") (!= "!=") (number_literal "0x53")) () ")")) (compound_statement "{\n          if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }\n          pbVar21 = pbVar22 + 2;\n          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);\n          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }\n          *(undefined4 *)(puVar18 + -8) = 5;\n          *(char **)(puVar18 + -0xc) = "no symbol";\n          *(undefined4 *)(puVar18 + -0x10) = 0;\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;\n          pcVar20 = (char *)dcgettext();\n          puVar19 = puVar18 + -8;\n          goto LAB_00034ae6;\n        }" ({ "{") (if_statement "if (bVar7 != 0x54) {\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }" (if "if") (parenthesized_expression "(bVar7 != 0x54)" (( "(") (binary_expression "bVar7 != 0x54" (identifier "bVar7") (!= "!=") (number_literal "0x54")) () ")")) (compound_statement "{\n            pcVar20 = "%p";\n            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n            break;\n          }" ({ "{") (expression_statement "pcVar20 = "%p";" (assignment_expression "pcVar20 = "%p"" (identifier "pcVar20") (= "=") (string_literal ""%p"" (" """) (string_content "%p") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar18 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (* "*") (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" (( "(") (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" (identifier "puVar18") (+ "+") (binary_expression "iVar16 * 0x10" (identifier "iVar16") (* "*") (number_literal "0x10"))) (+ "+") (number_literal "0xa0")) () ")"))))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "pbVar21 = pbVar22 + 2;" (assignment_expression "pbVar21 = pbVar22 + 2" (identifier "pbVar21") (= "=") (binary_expression "pbVar22 + 2" (identifier "pbVar22") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0)" (identifier "pcVar20") (= "=") (pointer_expression "*(char **)(puVar18 + iVar16 * 0x10 + 0xa0)" (* "*") (cast_expression "(char **)(puVar18 + iVar16 * 0x10 + 0xa0)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" (( "(") (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" (identifier "puVar18") (+ "+") (binary_expression "iVar16 * 0x10" (identifier "iVar16") (* "*") (number_literal "0x10"))) (+ "+") (number_literal "0xa0")) () ")"))))) (; ";")) (if_statement "if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }" (if "if") (parenthesized_expression "((pcVar20 != (char *)0x0) && (*pcVar20 != '\0'))" (( "(") (binary_expression "(pcVar20 != (char *)0x0) && (*pcVar20 != '\0')" (parenthesized_expression "(pcVar20 != (char *)0x0)" (( "(") (binary_expression "pcVar20 != (char *)0x0" (identifier "pcVar20") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(*pcVar20 != '\0')" (( "(") (binary_expression "*pcVar20 != '\0'" (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);\n            if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }\n            goto code_r0x00034957;\n          }" ({ "{") (expression_statement "pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);" (assignment_expression "pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14)" (identifier "pbVar15") (= "=") (cast_expression "(byte *)**(undefined4 **)(puVar18 + 0x14)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(puVar18 + 0x14)" (* "*") (pointer_expression "*(undefined4 **)(puVar18 + 0x14)" (* "*") (cast_expression "(undefined4 **)(puVar18 + 0x14)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 0x14)" (( "(") (binary_expression "puVar18 + 0x14" (identifier "puVar18") (+ "+") (number_literal "0x14")) () ")"))))))) (; ";")) (if_statement "if (pbVar15 != (byte *)0x0) {\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }" (if "if") (parenthesized_expression "(pbVar15 != (byte *)0x0)" (( "(") (binary_expression "pbVar15 != (byte *)0x0" (identifier "pbVar15") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              *(undefined4 *)(puVar18 + -8) = 3;\n              *(char **)(puVar18 + -0xc) = pcVar20;\n              *(char **)(puVar18 + 8) = pcVar20;\n              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;\n              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;\n              pbVar15 = (byte *)bfd_demangle();\n              pcVar20 = *(char **)(puVar18 + 8);\n              if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }\n            }" ({ "{") (expression_statement "*(undefined4 *)(puVar18 + -8) = 3;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = 3" (pointer_expression "*(undefined4 *)(puVar18 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "3")) (; ";")) (expression_statement "*(char **)(puVar18 + -0xc) = pcVar20;" (assignment_expression "*(char **)(puVar18 + -0xc) = pcVar20" (pointer_expression "*(char **)(puVar18 + -0xc)" (* "*") (cast_expression "(char **)(puVar18 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "pcVar20")) (; ";")) (expression_statement "*(char **)(puVar18 + 8) = pcVar20;" (assignment_expression "*(char **)(puVar18 + 8) = pcVar20" (pointer_expression "*(char **)(puVar18 + 8)" (* "*") (cast_expression "(char **)(puVar18 + 8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 8)" (( "(") (binary_expression "puVar18 + 8" (identifier "puVar18") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "pcVar20")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = DAT_001d1414" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "DAT_001d1414")) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_0003454c;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_0003454c" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0003454c" (& "&") (identifier "UNK_0003454c"))) (; ";")) (expression_statement "pbVar15 = (byte *)bfd_demangle();" (assignment_expression "pbVar15 = (byte *)bfd_demangle()" (identifier "pbVar15") (= "=") (cast_expression "(byte *)bfd_demangle()" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "bfd_demangle()" (identifier "bfd_demangle") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "pcVar20 = *(char **)(puVar18 + 8);" (assignment_expression "pcVar20 = *(char **)(puVar18 + 8)" (identifier "pcVar20") (= "=") (pointer_expression "*(char **)(puVar18 + 8)" (* "*") (cast_expression "(char **)(puVar18 + 8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + 8)" (( "(") (binary_expression "puVar18 + 8" (identifier "puVar18") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (pbVar15 != (byte *)0x0) {\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }" (if "if") (parenthesized_expression "(pbVar15 != (byte *)0x0)" (( "(") (binary_expression "pbVar15 != (byte *)0x0" (identifier "pbVar15") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;\n                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n                *(byte **)(puVar18 + -0x10) = pbVar15;\n                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;\n                free(*(void **)(puVar18 + -0x10));\n                bVar7 = pbVar22[2];\n                param_2 = pbVar21;\n                goto joined_r0x000340a6;\n              }" ({ "{") (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x150)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x150)" (( "(") (binary_expression "puVar18 + 0x150" (identifier "puVar18") (+ "+") (number_literal "0x150")) () ")"))))) (; ";")) (expression_statement "*(byte **)(puVar18 + -0x10) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -0x10) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -0x10)" (* "*") (cast_expression "(byte **)(puVar18 + -0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pbVar15")) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_0003456d;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_0003456d" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0003456d" (& "&") (identifier "UNK_0003456d"))) (; ";")) (expression_statement "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));" (call_expression "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" (identifier "fputs") (argument_list "(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar18 + -0x10)" (* "*") (cast_expression "(char **)(puVar18 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(FILE **)(puVar18 + -0xc)" (* "*") (cast_expression "(FILE **)(puVar18 + -0xc)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) () ")"))) (; ";")) (expression_statement "*(byte **)(puVar18 + -0x10) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -0x10) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -0x10)" (* "*") (cast_expression "(byte **)(puVar18 + -0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pbVar15")) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034575;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034575" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00034575" (& "&") (identifier "UNK_00034575"))) (; ";")) (expression_statement "free(*(void **)(puVar18 + -0x10));" (call_expression "free(*(void **)(puVar18 + -0x10))" (identifier "free") (argument_list "(*(void **)(puVar18 + -0x10))" (( "(") (pointer_expression "*(void **)(puVar18 + -0x10)" (* "*") (cast_expression "(void **)(puVar18 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "bVar7 = pbVar22[2];" (assignment_expression "bVar7 = pbVar22[2]" (identifier "bVar7") (= "=") (subscript_expression "pbVar22[2]" (identifier "pbVar22") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "param_2 = pbVar21;" (assignment_expression "param_2 = pbVar21" (identifier "param_2") (= "=") (identifier "pbVar21")) (; ";")) (goto_statement "goto joined_r0x000340a6;" (goto "goto") (statement_identifier "joined_r0x000340a6") (; ";")) (} "}"))) (} "}"))) (goto_statement "goto code_r0x00034957;" (goto "goto") (statement_identifier "code_r0x00034957") (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar18 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar18 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar18 + -0xc) = "no symbol";" (assignment_expression "*(char **)(puVar18 + -0xc) = "no symbol"" (pointer_expression "*(char **)(puVar18 + -0xc)" (* "*") (cast_expression "(char **)(puVar18 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""no symbol"" (" """) (string_content "no symbol") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034b14;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034b14" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00034b14" (& "&") (identifier "UNK_00034b14"))) (; ";")) (expression_statement "pcVar20 = (char *)dcgettext();" (assignment_expression "pcVar20 = (char *)dcgettext()" (identifier "pcVar20") (= "=") (cast_expression "(char *)dcgettext()" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "puVar19 = puVar18 + -8;" (assignment_expression "puVar19 = puVar18 + -8" (identifier "puVar19") (= "=") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8"))) (; ";")) (goto_statement "goto LAB_00034ae6;" (goto "goto") (statement_identifier "LAB_00034ae6") (; ";")) (} "}"))) (expression_statement "pbVar21 = pbVar22 + 2;" (assignment_expression "pbVar21 = pbVar22 + 2" (identifier "pbVar21") (= "=") (binary_expression "pbVar22 + 2" (identifier "pbVar22") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0)" (identifier "puVar17") (= "=") (pointer_expression "*(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0)" (* "*") (cast_expression "(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" (( "(") (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" (identifier "puVar18") (+ "+") (binary_expression "iVar16 * 0x10" (identifier "iVar16") (* "*") (number_literal "0x10"))) (+ "+") (number_literal "0xa0")) () ")"))))) (; ";")) (if_statement "if (puVar17 == (undefined1 *)0x0) {\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }\n        else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }" (if "if") (parenthesized_expression "(puVar17 == (undefined1 *)0x0)" (( "(") (binary_expression "puVar17 == (undefined1 *)0x0" (identifier "puVar17") (== "==") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;\n          iVar16 = FUN_0001d2c0();\n          *(int *)(puVar18 + 0x44) = iVar16;\n          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;\n          puVar17 = puVar18 + 0x3c;\n        }" ({ "{") (expression_statement "*(undefined **)(puVar18 + -4) = &UNK_00034c1e;" (assignment_expression "*(undefined **)(puVar18 + -4) = &UNK_00034c1e" (pointer_expression "*(undefined **)(puVar18 + -4)" (* "*") (cast_expression "(undefined **)(puVar18 + -4)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -4)" (( "(") (binary_expression "puVar18 + -4" (identifier "puVar18") (+ "+") (number_literal "-4")) () ")")))) (= "=") (pointer_expression "&UNK_00034c1e" (& "&") (identifier "UNK_00034c1e"))) (; ";")) (expression_statement "iVar16 = FUN_0001d2c0();" (assignment_expression "iVar16 = FUN_0001d2c0()" (identifier "iVar16") (= "=") (call_expression "FUN_0001d2c0()" (identifier "FUN_0001d2c0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int *)(puVar18 + 0x44) = iVar16;" (assignment_expression "*(int *)(puVar18 + 0x44) = iVar16" (pointer_expression "*(int *)(puVar18 + 0x44)" (* "*") (cast_expression "(int *)(puVar18 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x44)" (( "(") (binary_expression "puVar18 + 0x44" (identifier "puVar18") (+ "+") (number_literal "0x44")) () ")")))) (= "=") (identifier "iVar16")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;" (assignment_expression "*(undefined4 *)(puVar18 + 0x40) = DAT_001d136c" (pointer_expression "*(undefined4 *)(puVar18 + 0x40)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x40)" (( "(") (binary_expression "puVar18 + 0x40" (identifier "puVar18") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (identifier "DAT_001d136c")) (; ";")) (expression_statement "puVar17 = puVar18 + 0x3c;" (assignment_expression "puVar17 = puVar18 + 0x3c" (identifier "puVar17") (= "=") (binary_expression "puVar18 + 0x3c" (identifier "puVar18") (+ "+") (number_literal "0x3c"))) (; ";")) (} "}")) (else_clause "else {\n          iVar16 = *(int *)(puVar17 + 8);\n        }" (else "else") (compound_statement "{\n          iVar16 = *(int *)(puVar17 + 8);\n        }" ({ "{") (expression_statement "iVar16 = *(int *)(puVar17 + 8);" (assignment_expression "iVar16 = *(int *)(puVar17 + 8)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(puVar17 + 8)" (* "*") (cast_expression "(int *)(puVar17 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + 8)" (( "(") (binary_expression "puVar17 + 8" (identifier "puVar17") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (} "}")))) (if_statement "if (iVar16 != 0) {\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }" (if "if") (parenthesized_expression "(iVar16 != 0)" (( "(") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);\n          *(int *)(puVar18 + -8) = iVar16;\n          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;\n          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;\n          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        }" ({ "{") (expression_statement "*(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);" (assignment_expression "*(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4)" (pointer_expression "*(undefined4 *)(puVar18 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -4)" (( "(") (binary_expression "puVar18 + -4" (identifier "puVar18") (+ "+") (number_literal "-4")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar17 + 4)" (* "*") (cast_expression "(undefined4 *)(puVar17 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + 4)" (( "(") (binary_expression "puVar17 + 4" (identifier "puVar17") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(int *)(puVar18 + -8) = iVar16;" (assignment_expression "*(int *)(puVar18 + -8) = iVar16" (pointer_expression "*(int *)(puVar18 + -8)" (* "*") (cast_expression "(int *)(puVar18 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar16")) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;" (assignment_expression "*(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0" (pointer_expression "*(undefined **)(puVar18 + -0xc)" (* "*") (cast_expression "(undefined **)(puVar18 + -0xc)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&UNK_0007d7b0" (& "&") (identifier "UNK_0007d7b0"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x150)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x150)" (( "(") (binary_expression "puVar18 + 0x150" (identifier "puVar18") (+ "+") (number_literal "0x150")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034b67;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034b67" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00034b67" (& "&") (identifier "UNK_00034b67"))) (; ";")) (expression_statement "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (call_expression "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" (identifier "fprintf") (argument_list "(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" (( "(") (pointer_expression "*(FILE **)(puVar18 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar18 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar18 + -0xc)" (* "*") (cast_expression "(char **)(puVar18 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) () ")"))) (; ";")) (} "}"))) (} "}")))) (} "}")))) (labeled_statement "LAB_000349da:\n    bVar7 = pbVar22[2];" (statement_identifier "LAB_000349da") (: ":") (expression_statement "bVar7 = pbVar22[2];" (assignment_expression "bVar7 = pbVar22[2]" (identifier "bVar7") (= "=") (subscript_expression "pbVar22[2]" (identifier "pbVar22") ([ "[") (number_literal "2") (] "]"))) (; ";"))) (expression_statement "param_2 = pbVar21;" (assignment_expression "param_2 = pbVar21" (identifier "param_2") (= "=") (identifier "pbVar21")) (; ";")) (goto_statement "goto joined_r0x000340a6;" (goto "goto") (statement_identifier "joined_r0x000340a6") (; ";"))) (case_statement "case 0x73:\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034489;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;" (case "case") (number_literal "0x73") (: ":") (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x150)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x150)" (( "(") (binary_expression "puVar18 + 0x150" (identifier "puVar18") (+ "+") (number_literal "0x150")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (* "*") (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" (( "(") (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" (identifier "puVar18") (+ "+") (binary_expression "iVar16 * 0x10" (identifier "iVar16") (* "*") (number_literal "0x10"))) (+ "+") (number_literal "0xa0")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034489;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034489" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00034489" (& "&") (identifier "UNK_00034489"))) (; ";")) (expression_statement "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));" (call_expression "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" (identifier "fputs") (argument_list "(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar18 + -0x10)" (* "*") (cast_expression "(char **)(puVar18 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(FILE **)(puVar18 + -0xc)" (* "*") (cast_expression "(FILE **)(puVar18 + -0xc)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) () ")"))) (; ";")) (expression_statement "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;" (assignment_expression "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" (* "*") (cast_expression "(int *)(puVar18 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 4)" (( "(") (binary_expression "puVar18 + 4" (identifier "puVar18") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" (* "*") (cast_expression "(int *)(puVar18 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 4)" (( "(") (binary_expression "puVar18 + 4" (identifier "puVar18") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar7 = pbVar22[1];" (assignment_expression "bVar7 = pbVar22[1]" (identifier "bVar7") (= "=") (subscript_expression "pbVar22[1]" (identifier "pbVar22") ([ "[") (number_literal "1") (] "]"))) (; ";")) (goto_statement "goto joined_r0x000340a6;" (goto "goto") (statement_identifier "joined_r0x000340a6") (; ";"))) (case_statement "case 0x75:\n    puVar10 = &UNK_0007d7b3;\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\ncode_r0x000344af:\n    *(undefined **)(puVar18 + -0xc) = puVar10;\n    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);\n    *(undefined **)(puVar18 + -0x14) = &UNK_000344bc;\n    fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;" (case "case") (number_literal "0x75") (: ":") (expression_statement "puVar10 = &UNK_0007d7b3;" (assignment_expression "puVar10 = &UNK_0007d7b3" (identifier "puVar10") (= "=") (pointer_expression "&UNK_0007d7b3" (& "&") (identifier "UNK_0007d7b3"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar18 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (* "*") (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" (( "(") (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" (identifier "puVar18") (+ "+") (binary_expression "iVar16 * 0x10" (identifier "iVar16") (* "*") (number_literal "0x10"))) (+ "+") (number_literal "0xa0")) () ")"))))) (; ";")) (labeled_statement "code_r0x000344af:\n    *(undefined **)(puVar18 + -0xc) = puVar10;" (statement_identifier "code_r0x000344af") (: ":") (expression_statement "*(undefined **)(puVar18 + -0xc) = puVar10;" (assignment_expression "*(undefined **)(puVar18 + -0xc) = puVar10" (pointer_expression "*(undefined **)(puVar18 + -0xc)" (* "*") (cast_expression "(undefined **)(puVar18 + -0xc)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "puVar10")) (; ";"))) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x150)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x150)" (( "(") (binary_expression "puVar18 + 0x150" (identifier "puVar18") (+ "+") (number_literal "0x150")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_000344bc;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_000344bc" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_000344bc" (& "&") (identifier "UNK_000344bc"))) (; ";")) (expression_statement "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (call_expression "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" (identifier "fprintf") (argument_list "(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" (( "(") (pointer_expression "*(FILE **)(puVar18 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar18 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar18 + -0xc)" (* "*") (cast_expression "(char **)(puVar18 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) () ")"))) (; ";")) (expression_statement "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;" (assignment_expression "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" (* "*") (cast_expression "(int *)(puVar18 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 4)" (( "(") (binary_expression "puVar18 + 4" (identifier "puVar18") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" (* "*") (cast_expression "(int *)(puVar18 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 4)" (( "(") (binary_expression "puVar18 + 4" (identifier "puVar18") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar7 = pbVar22[1];" (assignment_expression "bVar7 = pbVar22[1]" (identifier "bVar7") (= "=") (subscript_expression "pbVar22[1]" (identifier "pbVar22") ([ "[") (number_literal "1") (] "]"))) (; ";")) (goto_statement "goto joined_r0x000340a6;" (goto "goto") (statement_identifier "joined_r0x000340a6") (; ";"))) (case_statement "case 0x76:\n    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;\n    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);\n    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);\n    *(char **)(puVar18 + -0xc) = "%016llx";\n    pcVar20 = puVar18 + 0x3c;\n    *(char **)(puVar18 + -0x10) = pcVar20;\n    *(undefined **)(puVar18 + -0x14) = &UNK_0003426c;\n    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n    cVar2 = puVar18[0x3c];\n    while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }\n    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));\n    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);\n    *(byte **)(puVar18 + -0x10) = pbVar15;\n    *(undefined **)(puVar18 + -0x14) = &UNK_00034298;\n    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));\n    bVar7 = pbVar22[1];\n    goto joined_r0x000340a6;" (case "case") (number_literal "0x76") (: ":") (expression_statement "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;" (assignment_expression "*(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" (* "*") (cast_expression "(int *)(puVar18 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 4)" (( "(") (binary_expression "puVar18 + 4" (identifier "puVar18") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(int *)(puVar18 + 4) + 1" (pointer_expression "*(int *)(puVar18 + 4)" (* "*") (cast_expression "(int *)(puVar18 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 4)" (( "(") (binary_expression "puVar18 + 4" (identifier "puVar18") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar18 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -4)" (( "(") (binary_expression "puVar18 + -4" (identifier "puVar18") (+ "+") (number_literal "-4")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4)" (* "*") (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa4)" (( "(") (binary_expression "puVar18 + iVar16 * 0x10 + 0xa4" (binary_expression "puVar18 + iVar16 * 0x10" (identifier "puVar18") (+ "+") (binary_expression "iVar16 * 0x10" (identifier "iVar16") (* "*") (number_literal "0x10"))) (+ "+") (number_literal "0xa4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);" (assignment_expression "*(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (pointer_expression "*(undefined4 *)(puVar18 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (* "*") (cast_expression "(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + iVar16 * 0x10 + 0xa0)" (( "(") (binary_expression "puVar18 + iVar16 * 0x10 + 0xa0" (binary_expression "puVar18 + iVar16 * 0x10" (identifier "puVar18") (+ "+") (binary_expression "iVar16 * 0x10" (identifier "iVar16") (* "*") (number_literal "0x10"))) (+ "+") (number_literal "0xa0")) () ")"))))) (; ";")) (expression_statement "*(char **)(puVar18 + -0xc) = "%016llx";" (assignment_expression "*(char **)(puVar18 + -0xc) = "%016llx"" (pointer_expression "*(char **)(puVar18 + -0xc)" (* "*") (cast_expression "(char **)(puVar18 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""%016llx"" (" """) (string_content "%016llx") (" """))) (; ";")) (expression_statement "pcVar20 = puVar18 + 0x3c;" (assignment_expression "pcVar20 = puVar18 + 0x3c" (identifier "pcVar20") (= "=") (binary_expression "puVar18 + 0x3c" (identifier "puVar18") (+ "+") (number_literal "0x3c"))) (; ";")) (expression_statement "*(char **)(puVar18 + -0x10) = pcVar20;" (assignment_expression "*(char **)(puVar18 + -0x10) = pcVar20" (pointer_expression "*(char **)(puVar18 + -0x10)" (* "*") (cast_expression "(char **)(puVar18 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pcVar20")) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_0003426c;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_0003426c" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0003426c" (& "&") (identifier "UNK_0003426c"))) (; ";")) (expression_statement "sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (call_expression "sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" (identifier "sprintf") (argument_list "(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar18 + -0x10)" (* "*") (cast_expression "(char **)(puVar18 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar18 + -0xc)" (* "*") (cast_expression "(char **)(puVar18 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) () ")"))) (; ";")) (expression_statement "cVar2 = puVar18[0x3c];" (assignment_expression "cVar2 = puVar18[0x3c]" (identifier "cVar2") (= "=") (subscript_expression "puVar18[0x3c]" (identifier "puVar18") ([ "[") (number_literal "0x3c") (] "]"))) (; ";")) (while_statement "while (cVar2 == '0') {\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }" (while "while") (parenthesized_expression "(cVar2 == '0')" (( "(") (binary_expression "cVar2 == '0'" (identifier "cVar2") (== "==") (char_literal "'0'" (' "'") (character "0") (' "'"))) () ")")) (compound_statement "{\n      pcVar20 = pcVar20 + 1;\n      cVar2 = *pcVar20;\n    }" ({ "{") (expression_statement "pcVar20 = pcVar20 + 1;" (assignment_expression "pcVar20 = pcVar20 + 1" (identifier "pcVar20") (= "=") (binary_expression "pcVar20 + 1" (identifier "pcVar20") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "cVar2 = *pcVar20;" (assignment_expression "cVar2 = *pcVar20" (identifier "cVar2") (= "=") (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20"))) (; ";")) (} "}"))) (expression_statement "pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));" (assignment_expression "pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'))" (identifier "pbVar15") (= "=") (cast_expression "(byte *)(pcVar20 + -(uint)(cVar2 == '\0'))" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar20 + -(uint)(cVar2 == '\0'))" (( "(") (binary_expression "pcVar20 + -(uint)(cVar2 == '\0')" (identifier "pcVar20") (+ "+") (unary_expression "-(uint)(cVar2 == '\0')" (- "-") (call_expression "(uint)(cVar2 == '\0')" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(cVar2 == '\0')" (( "(") (binary_expression "cVar2 == '\0'" (identifier "cVar2") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))))) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x150)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x150)" (( "(") (binary_expression "puVar18 + 0x150" (identifier "puVar18") (+ "+") (number_literal "0x150")) () ")"))))) (; ";")) (expression_statement "*(byte **)(puVar18 + -0x10) = pbVar15;" (assignment_expression "*(byte **)(puVar18 + -0x10) = pbVar15" (pointer_expression "*(byte **)(puVar18 + -0x10)" (* "*") (cast_expression "(byte **)(puVar18 + -0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pbVar15")) (; ";")) (expression_statement "*(undefined **)(puVar18 + -0x14) = &UNK_00034298;" (assignment_expression "*(undefined **)(puVar18 + -0x14) = &UNK_00034298" (pointer_expression "*(undefined **)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00034298" (& "&") (identifier "UNK_00034298"))) (; ";")) (expression_statement "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));" (call_expression "fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" (identifier "fputs") (argument_list "(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar18 + -0x10)" (* "*") (cast_expression "(char **)(puVar18 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(FILE **)(puVar18 + -0xc)" (* "*") (cast_expression "(FILE **)(puVar18 + -0xc)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) () ")"))) (; ";")) (expression_statement "bVar7 = pbVar22[1];" (assignment_expression "bVar7 = pbVar22[1]" (identifier "bVar7") (= "=") (subscript_expression "pbVar22[1]" (identifier "pbVar22") ([ "[") (number_literal "1") (] "]"))) (; ";")) (goto_statement "goto joined_r0x000340a6;" (goto "goto") (statement_identifier "joined_r0x000340a6") (; ";"))) (} "}"))) (expression_statement "*(char **)(puVar18 + -0xc) = pcVar20;" (assignment_expression "*(char **)(puVar18 + -0xc) = pcVar20" (pointer_expression "*(char **)(puVar18 + -0xc)" (* "*") (cast_expression "(char **)(puVar18 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "pcVar20")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150)" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar18 + 0x150)" (* "*") (cast_expression "(undefined4 *)(puVar18 + 0x150)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 0x150)" (( "(") (binary_expression "puVar18 + 0x150" (identifier "puVar18") (+ "+") (number_literal "0x150")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x34237;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x34237" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x34237")) (; ";")) (expression_statement "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (call_expression "fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" (identifier "fprintf") (argument_list "(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" (( "(") (pointer_expression "*(FILE **)(puVar18 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar18 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar18 + -0xc)" (* "*") (cast_expression "(char **)(puVar18 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) () ")"))) (; ";")) (expression_statement "bVar7 = pbVar22[1];" (assignment_expression "bVar7 = pbVar22[1]" (identifier "bVar7") (= "=") (subscript_expression "pbVar22[1]" (identifier "pbVar22") ([ "[") (number_literal "1") (] "]"))) (; ";")) (goto_statement "goto joined_r0x000340a6;" (goto "goto") (statement_identifier "joined_r0x000340a6") (; ";")) (} "}")))

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

void function_1(type_1 *fp,char *fmt,type_2 ap,type_3 is_warning)

{
  type_4 var_12;
  char var_38;
  void *pvVar3;
  type_5 *pbVar4;
  type_6 *pbVar5;
  type_7
  *p_Var6;
  type_8 *var_46;
  type_8 *var_47;
  type_9 var_42;
  int *var_45;
  type_4 *var_14;
  type_4 var_7;
  type_10 *var_1;
  type_11 var_5;
  type_12 *puVar15;
  type_3 var_24;
  size_t var_41;
  type_8 uVar18;
  type_13 *var_49;
  int var_31;
  type_10 *var_6;
  type_4 *var_11;
  int var_17;
  type_14 *var_51;
  type_14 *var_8;
  type_14 *var_48;
  char *var_39;
  type_13 *var_19;
  type_13 *var_9;
  type_13 *pbVar30;
  type_15 uVar31;
  type_14 auStack_14c [4];
  type_10 *var_3;
  type_4 *var_13;
  type_12 *var_15;
  type_8 local_13c;
  type_3 *local_138;
  int local_134;
  char *filename;
  char *functionname;
  char buf [100];
  type_10 args [9];
  type_8 uStack_14;
  
  uStack_14 = 0x33f29;
  var_8 = auStack_14c;
  var_6 = args;
  var_1 = var_6;
  do {
    var_1->i = 0;
    var_1 = var_1 + 1;
  } while ((type_10 *)&stack0xffffffe4 != var_1);
  var_7 = *fmt;
  var_3 = (type_10 *)0x0;
  local_13c = var_2(local_13c._1_3_,var_7);
  local_138 = (type_3 *)PTR__sch_istable_001cefa0;
  var_5 = (type_11)var_7;
  var_11 = (type_4 *)fmt;
LAB_00033f90:
  if ((char)var_5 != '\0') {
    if ((char)var_5 != '%') goto LAB_00033fb0;
    goto LAB_00033fd0;
  }
  var_5 = 0;
  var_19 = (type_13 *)ap;
  if (var_3 != (type_10 *)0x0) {
    do {
      switch(var_6->i) {
      default:
                    /* WARNING: Subroutine does not return */
        var_4("../../ld/ldmisc.c",0xc6,"vfinfo");
      case 1:
      case 2:
      case 3:
        var_19 = (type_13 *)&((type_13 *)ap)->xvec;
        var_6->i = (int)((type_13 *)ap)->filename;
        break;
      case 4:
        pbVar5 = ((type_13 *)ap)->xvec;
        var_19 = (type_13 *)&((type_13 *)ap)->iostream;
        var_6->i = (int)((type_13 *)ap)->filename;
        (var_6->reladdr).sec = (type_16 *)pbVar5;
        break;
      case 5:
        pvVar3 = ((type_13 *)ap)->iostream;
        var_19 = (type_13 *)&((type_13 *)ap)->lru_prev;
        pbVar4 = ((type_13 *)ap)->iovec;
        var_6->i = (int)((type_13 *)ap)->filename;
        pbVar5 = ((type_13 *)ap)->xvec;
        *(void **)&(var_6->reladdr).off = pvVar3;
        (var_6->reladdr).sec = (type_16 *)pbVar5;
        *(type_5 **)((int)&(var_6->reladdr).off + 4) = pbVar4;
      }
      var_5 = var_5 + 1;
      var_6 = var_6 + 1;
      ap = (type_2)var_19;
    } while (var_3 != (type_10 *)var_5);
  }
  var_3 = (type_10 *)0x0;
  local_13c = 0;
  var_15 = PTR__sch_istable_001cefa0;
  local_138 = &demangling;
joined_r0x000340a6:
  if (var_7 != 0) {
    var_9 = (type_13 *)fmt;
    var_19 = (type_13 *)fmt;
    if (var_7 != 0x25) goto LAB_000340c2;
    goto LAB_00034170;
  }
  var_9 = *(type_13 **)(var_8 + 0x15c);
  if ((var_9 != (type_13 *)0x0) && (config.fatal_warnings != 0)) {
    config.make_executable = 0;
  }
  if (*(int *)(var_8 + 0x10) == 0) {
    return;
  }
  *(type_8 *)(var_8 + -0x10) = 1;
  *(type_8 *)(var_8 + -0x14) = 0x34be1;
  var_49 = (type_13 *)var_10();
  var_8 = var_8 + -0x10;
  pbVar30 = (type_13 *)fmt;
  goto LAB_00034be8;
LAB_00033fb0:
  do {
    var_11 = var_11 + 1;
    var_12 = *var_11;
    var_5 = (type_11)var_12;
    if (var_12 == 0x25) break;
  } while (var_12 != 0);
  if (var_12 != 0x25) goto LAB_00033f90;
LAB_00033fd0:
  var_13 = var_11 + 1;
  var_12 = var_11[1];
  var_5 = (type_11)var_12;
  if (var_12 == 0x30) {
    var_11 = var_11 + 2;
_L18:
    var_5 = (type_11)var_13[1];
    goto LAB_00033f90;
  }
  local_134 = (int)(char)var_12;
  var_15 = (type_12 *)var_3;
  if (((PTR__sch_istable_001cefa0[var_5 * 2] & 4) != 0) && (var_11[2] == 0x24)) {
    var_15 = (type_12 *)((int)(char)var_12 - 0x31);
    var_13 = var_11 + 3;
    var_5 = (type_11)var_11[3];
  }
  var_14 = var_13;
  var_11 = var_13 + 1;
  switch(var_5) {
  case 0:
    var_11 = var_13;
    goto LAB_00033f90;
  default:
    goto _L18;
  case 0x43:
  case 0x44:
  case 0x47:
  case 0x48:
    var_13 = (type_4 *)0x5;
    break;
  case 0x56:
  case 0x57:
  case 0x76:
    var_13 = (type_4 *)0x4;
    break;
  case 100:
  case 0x75:
    var_13 = (type_4 *)0x1;
    break;
  case 0x6c:
    var_12 = var_13[1];
    var_5 = (type_11)var_12;
    if ((var_12 != 100) && (var_12 != 0x75)) goto LAB_00033f90;
    var_13 = (type_4 *)0x2;
    var_11 = var_14 + 2;
    break;
  case 0x70:
    var_13 = (type_4 *)0x3;
    if (((type_4)(var_14[1] - 0x41) < 0x14) && ((0xe0103U >> (var_14[1] - 0x41 & 0x1f) & 1) != 0)) {
      var_11 = var_14 + 2;
    }
    break;
  case 0x73:
    var_13 = (type_4 *)0x3;
  }
  if (8 < var_15) {
    var_3 = var_6;
                    /* WARNING: Subroutine does not return */
    var_4("../../ld/ldmisc.c",0xa9,"vfinfo");
  }
  var_3 = (type_10 *)((int)&var_3->reladdr + 1);
  args[(int)var_15].i = (int)var_13;
  var_5 = (type_11)*var_11;
  goto LAB_00033f90;
LAB_000340c2:
  do {
    var_19 = var_9;
    var_7 = *(type_4 *)((int)&var_19->filename + 1);
    var_9 = (type_13 *)((int)&var_19->filename + 1);
    if (var_7 == 0x25) break;
  } while (var_7 != 0);
  if ((type_13 *)fmt != var_9) {
    *(type_8 *)(var_8 + -4) = *(type_8 *)(var_8 + 0x150);
    *(int *)(var_8 + -8) = (int)var_9 - (int)fmt;
    *(type_8 *)(var_8 + -0xc) = 1;
    *(char **)(var_8 + -0x10) = fmt;
    *(type_8 *)(var_8 + -0x14) = 0x340e9;
    var_16(*(void **)(var_8 + -0x10),*(size_t *)(var_8 + -0xc),*(size_t *)(var_8 + -8),
           *(type_1 **)(var_8 + -4));
    var_7 = *(type_4 *)((int)&var_19->filename + 1);
  }
  fmt = (char *)var_9;
  if (var_7 != 0x25) goto joined_r0x000340a6;
LAB_00034170:
  var_7 = *(type_4 *)((int)&((type_13 *)fmt)->filename + 1);
  pbVar30 = (type_13 *)((int)&((type_13 *)fmt)->filename + 1);
  *(int *)(var_8 + 8) = (int)(char)var_7;
  if (var_7 == 0x30) {
    *(type_8 *)(var_8 + 8) = 0x30;
    fmt = (char *)((int)&((type_13 *)fmt)->filename + 2);
    goto _L48;
  }
  var_19 = *(type_13 **)(var_8 + 0xc);
  var_17 = *(int *)(var_8 + 4);
  if (((*(type_4 *)((int)&var_19->filename + (type_11)var_7 * 2) & 4) != 0) &&
     (*(char *)((int)&((type_13 *)fmt)->filename + 2) == '$')) {
    var_7 = *(type_4 *)((int)&((type_13 *)fmt)->filename + 3);
    var_17 = *(int *)(var_8 + 8);
    pbVar30 = (type_13 *)((int)&((type_13 *)fmt)->filename + 3);
    *(int *)(var_8 + 8) = (int)(char)var_7;
    var_17 = var_17 + -0x31;
  }
  fmt = (char *)((int)&pbVar30->filename + 1);
  switch(var_7) {
  case 0:
    fmt = (char *)pbVar30;
  case 0x25:
    *(type_8 *)(var_8 + -0xc) = *(type_8 *)(var_8 + 0x150);
    *(type_8 *)(var_8 + -0x10) = 0x25;
    *(type_8 *)(var_8 + -0x14) = 0x34207;
    var_18(*(int *)(var_8 + -0x10),*(type_1 **)(var_8 + -0xc));
    var_7 = *(type_4 *)&((type_13 *)fmt)->filename;
    goto joined_r0x000340a6;
  case 0x43:
  case 0x44:
  case 0x47:
  case 0x48:
    var_17 = var_17 * 0x10;
    *(int *)(var_8 + 4) = *(int *)(var_8 + 4) + 1;
    var_19 = *(type_13 **)(var_8 + var_17 + 0xa0);
    *(type_8 *)(var_8 + 0x1c) = *(type_8 *)(var_8 + var_17 + 0xa4);
    uVar18 = *(type_8 *)(var_8 + var_17 + 0xac);
    *(type_8 *)(var_8 + 0x20) = *(type_8 *)(var_8 + var_17 + 0xa8);
    *(type_8 *)(var_8 + 0x24) = uVar18;
    if (var_19 == (type_13 *)0x0) {
LAB_00034747:
      *(type_13 **)(var_8 + -8) = var_19;
      *(type_12 **)(var_8 + -0xc) = &DAT_0007d36d;
      *(type_8 *)(var_8 + -0x10) = *(type_8 *)(var_8 + 0x150);
      *(type_8 *)(var_8 + -0x14) = 0x3475e;
      var_20(*(type_1 **)(var_8 + -0x10),*(char **)(var_8 + -0xc));
      *(type_8 *)(var_8 + -0x10) = *(type_8 *)(var_8 + 0x24);
      *(type_8 *)(var_8 + -0x14) = *(type_8 *)(var_8 + 0x20);
      *(type_8 *)(var_8 + -0x18) = *(type_8 *)(var_8 + 0x1c);
      *(char **)(var_8 + -0x1c) = "(%pA+0x%v)";
      *(type_8 *)(var_8 + -0x20) = *(type_8 *)(var_8 + 0x150);
      *(type_8 *)(var_8 + -0x24) = 0x3477e;
      var_20(*(type_1 **)(var_8 + -0x20),*(char **)(var_8 + -0x1c));
    }
    else {
      *(type_13 **)(var_8 + -0x10) = var_19;
      *(type_8 *)(var_8 + -0x14) = 0x34331;
      var_17 = var_21();
      if (var_17 == 0) {
        *(type_8 *)(var_8 + -8) = 5;
        *(char **)(var_8 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";
        *(type_8 *)(var_8 + -0x10) = 0;
        *(type_8 *)(var_8 + -0x14) = 0x349f8;
        uVar18 = var_22();
        *(type_13 **)(var_8 + -0xc) = var_19;
        *(type_8 *)(var_8 + -0x10) = uVar18;
        *(type_8 *)(var_8 + -0x14) = 0x34a01;
        var_23(*(char **)(var_8 + -0x10));
      }
      pbVar5 = var_19->xvec;
      *(type_8 *)(var_8 + -0x10) = 0;
      *(type_14 **)(var_8 + -0x14) = var_8 + 0x3c;
      *(type_14 **)(var_8 + -0x18) = var_8 + 0x38;
      *(type_14 **)(var_8 + -0x1c) = var_8 + 0x34;
      *(type_8 *)(var_8 + -0x20) = *(type_8 *)(var_8 + 0x24);
      *(type_8 *)(var_8 + -0x24) = *(type_8 *)(var_8 + 0x20);
      *(type_8 *)(var_8 + -0x28) = *(type_8 *)(var_8 + 0x1c);
      *(type_17 ***)(var_8 + -0x2c) = var_19->outsymbols;
      *(type_13 **)(var_8 + -0x30) = var_19;
      p_Var6 = pbVar5->_bfd_find_nearest_line;
      *(type_8 *)(var_8 + -0x34) = 0x34369;
      var_24 = (*p_Var6)(*(type_13 **)(var_8 + -0x30),*(type_17 ***)(var_8 + -0x2c),
                         *(type_18 **)(var_8 + -0x28),*(type_19 *)(var_8 + -0x24),
                         *(char ***)(var_8 + -0x1c),*(char ***)(var_8 + -0x18),
                         *(type_11 **)(var_8 + -0x14),*(type_11 **)(var_8 + -0x10));
      if (var_24 == 0) goto LAB_00034747;
      var_17 = *(int *)(var_8 + 0x38);
      *(int *)(var_8 + 8) = var_17;
      if ((var_17 == 0) ||
         ((*(char *)&pbVar30->filename != 'C' && (*(char *)&pbVar30->filename != 'H')))) {
        *(type_13 **)(var_8 + -8) = var_19;
        *(type_12 **)(var_8 + -0xc) = &DAT_0007d36d;
        *(type_8 *)(var_8 + -0x10) = *(type_8 *)(var_8 + 0x150);
        *(type_8 *)(var_8 + -0x14) = 0x343aa;
        var_20(*(type_1 **)(var_8 + -0x10),*(char **)(var_8 + -0xc));
        *(type_8 *)(var_8 + 0x18) = 1;
LAB_000343b5:
        if (*(int *)(var_8 + 0x34) == 0) {
          var_17 = *(int *)(var_8 + 0x38);
          goto LAB_00034a0d;
        }
        *(int *)(var_8 + -8) = *(int *)(var_8 + 0x34);
        *(type_12 **)(var_8 + -0xc) = &DAT_0007d779;
        *(type_8 *)(var_8 + -0x10) = *(type_8 *)(var_8 + 0x150);
        *(type_8 *)(var_8 + -0x14) = 0x343d8;
        var_25(*(type_1 **)(var_8 + -0x10),*(char **)(var_8 + -0xc));
        var_17 = *(int *)(var_8 + 0x38);
        if ((var_17 != 0) && (*(char *)&pbVar30->filename == 'G')) goto LAB_00034a20;
        if ((*(int *)(var_8 + 0x34) == 0) || (var_17 = *(int *)(var_8 + 0x3c), var_17 == 0))
        goto LAB_00034902;
        if (*(char *)&pbVar30->filename == 'H') {
          *(type_12 **)(var_8 + -4) = &DAT_0007b12f;
          *(int *)(var_8 + -8) = var_17;
          *(type_12 **)(var_8 + -0xc) = &DAT_0007d7d0;
          *(type_8 *)(var_8 + -0x10) = *(type_8 *)(var_8 + 0x150);
          *(type_8 *)(var_8 + -0x14) = 0x348ff;
          var_25(*(type_1 **)(var_8 + -0x10),*(char **)(var_8 + -0xc));
          goto LAB_00034902;
        }
        *(char **)(var_8 + -4) = "";
        *(int *)(var_8 + -8) = var_17;
        *(type_12 **)(var_8 + -0xc) = &DAT_0007d7d0;
        *(type_8 *)(var_8 + -0x10) = *(type_8 *)(var_8 + 0x150);
        *(type_8 *)(var_8 + -0x14) = 0x3442b;
        var_25(*(type_1 **)(var_8 + -0x10),*(char **)(var_8 + -0xc));
      }
      else {
        if (((function_1::lexical_block_14::lexical_block_14_4::var_26 == (type_13 *)0x0) ||
            (function_1::lexical_block_14::lexical_block_14_4::var_27 == (char *)0x0)) ||
           (function_1::lexical_block_14::lexical_block_14_4::var_26 != var_19)) {
LAB_00034800:
          *(type_8 *)(var_8 + -8) = 5;
          *(char **)(var_8 + -0xc) = "%pB: in function `%pT\':\n";
          *(type_8 *)(var_8 + -0x10) = 0;
          *(type_8 *)(var_8 + -0x14) = 0x34813;
          uVar18 = var_22();
          *(type_8 *)(var_8 + -0x14) = *(type_8 *)(var_8 + 8);
          *(type_13 **)(var_8 + -0x18) = var_19;
          *(type_8 *)(var_8 + -0x1c) = uVar18;
          *(type_8 *)(var_8 + -0x20) = *(type_8 *)(var_8 + 0x150);
          *(type_8 *)(var_8 + -0x24) = 0x34825;
          var_20(*(type_1 **)(var_8 + -0x20),*(char **)(var_8 + -0x1c));
          vfinfo::lexical_block_14::lexical_block_14_4::var_26 = var_19;
          if (function_1::lexical_block_14::lexical_block_14_4::var_28 != (char *)0x0) {
            *(char **)(var_8 + -0x10) = function_1::lexical_block_14::lexical_block_14_4::var_28;
            *(type_8 *)(var_8 + -0x14) = 0x34841;
            var_29(*(void **)(var_8 + -0x10));
          }
          vfinfo::lexical_block_14::lexical_block_14_4::var_28 = (char *)0x0;
          if (*(int *)(var_8 + 0x34) != 0) {
            *(int *)(var_8 + -0x10) = *(int *)(var_8 + 0x34);
            *(type_8 *)(var_8 + -0x14) = 0x3485f;
            vfinfo::lexical_block_14::lexical_block_14_4::var_28 = (char *)var_30();
          }
          if (function_1::lexical_block_14::lexical_block_14_4::var_27 != (char *)0x0) {
            *(char **)(var_8 + -0x10) =
                 function_1::lexical_block_14::lexical_block_14_4::var_27;
            *(type_8 *)(var_8 + -0x14) = 0x3487b;
            var_29(*(void **)(var_8 + -0x10));
          }
          *(type_8 *)(var_8 + -0x10) = *(type_8 *)(var_8 + 0x38);
          *(type_8 *)(var_8 + -0x14) = 0x3488a;
          vfinfo::lexical_block_14::lexical_block_14_4::var_27 = (char *)var_30();
          *(type_8 *)(var_8 + 0x18) = 0;
          goto LAB_000343b5;
        }
        var_31 = *(int *)(var_8 + 0x34);
        *(char **)(var_8 + 0x18) = function_1::lexical_block_14::lexical_block_14_4::var_28;
        var_8[0x28] = function_1::lexical_block_14::lexical_block_14_4::var_28 == (char *)0x0;
        var_8[0x2f] = var_31 == 0;
        if (var_8[0x28] != var_8[0x2f]) goto LAB_00034800;
        if (var_31 != 0) {
          *(int *)(var_8 + -4) = var_17;
          *(int *)(var_8 + -8) = var_17;
          *(int *)(var_8 + -0xc) = var_31;
          *(type_8 *)(var_8 + -0x10) = *(type_8 *)(var_8 + 0x18);
          *(type_8 *)(var_8 + -0x14) = 0x34c8b;
          uVar31 = var_32();
          uVar18 = (type_8)((type_20)uVar31 >> 0x20);
          *(type_8 *)(var_8 + 8) = *(type_8 *)(var_8 + 0x38);
          if ((int)uVar31 == 0) {
            *(type_8 *)(var_8 + -4) = uVar18;
            *(type_8 *)(var_8 + -8) = uVar18;
            *(type_8 *)(var_8 + -0xc) = *(type_8 *)(var_8 + 0x38);
            *(char **)(var_8 + -0x10) =
                 function_1::lexical_block_14::lexical_block_14_4::var_27;
            *(type_8 *)(var_8 + -0x14) = 0x34cac;
            var_17 = var_33(*(char **)(var_8 + -0x10),*(char **)(var_8 + -0xc));
            *(int *)(var_8 + 0x18) = var_17;
            if (var_17 == 0) goto LAB_000343b5;
          }
          goto LAB_00034800;
        }
        *(int *)(var_8 + 8) = var_17;
        *(type_8 *)(var_8 + -4) = 0;
        *(type_8 *)(var_8 + -8) = 0;
        *(int *)(var_8 + -0xc) = var_17;
        *(int *)(var_8 + 0x28) = var_17;
        *(char **)(var_8 + -0x10) = function_1::lexical_block_14::lexical_block_14_4::var_27;
        *(type_8 *)(var_8 + -0x14) = 0x34cd6;
        var_31 = var_33(*(char **)(var_8 + -0x10),*(char **)(var_8 + -0xc));
        var_17 = *(int *)(var_8 + 0x28);
        *(int *)(var_8 + 0x18) = var_31;
        if (var_31 != 0) goto LAB_00034800;
LAB_00034a0d:
        if ((*(char *)&pbVar30->filename == 'G') && (var_17 != 0)) {
LAB_00034a20:
          *(int *)(var_8 + -8) = var_17;
          *(type_12 **)(var_8 + -0xc) = &DAT_0007d77d;
          *(type_8 *)(var_8 + -0x10) = *(type_8 *)(var_8 + 0x150);
          *(type_8 *)(var_8 + -0x14) = 0x34a37;
          var_20(*(type_1 **)(var_8 + -0x10),*(char **)(var_8 + -0xc));
        }
        else {
LAB_00034902:
          *(type_8 *)(var_8 + -0x10) = *(type_8 *)(var_8 + 0x24);
          *(type_8 *)(var_8 + -0x14) = *(type_8 *)(var_8 + 0x20);
          *(type_8 *)(var_8 + -0x18) = *(type_8 *)(var_8 + 0x1c);
          *(char **)(var_8 + -0x1c) = "(%pA+0x%v)";
          *(type_8 *)(var_8 + -0x20) = *(type_8 *)(var_8 + 0x150);
          *(type_8 *)(var_8 + -0x24) = 0x34924;
          var_20(*(type_1 **)(var_8 + -0x20),*(char **)(var_8 + -0x1c));
        }
      }
      if (*(int *)(var_8 + 0x18) == 0) goto LAB_0003443a;
    }
    vfinfo::lexical_block_14::lexical_block_14_4::var_26 = (type_13 *)0x0;
    if (function_1::lexical_block_14::lexical_block_14_4::var_28 != (char *)0x0) {
      *(char **)(var_8 + -0x10) = function_1::lexical_block_14::lexical_block_14_4::var_28;
      *(type_8 *)(var_8 + -0x14) = 0x3479e;
      var_29(*(void **)(var_8 + -0x10));
      vfinfo::lexical_block_14::lexical_block_14_4::var_28 = (char *)0x0;
    }
    if (function_1::lexical_block_14::lexical_block_14_4::var_27 != (char *)0x0) {
      *(char **)(var_8 + -0x10) = function_1::lexical_block_14::lexical_block_14_4::var_27;
      *(type_8 *)(var_8 + -0x14) = 0x347c2;
      var_29(*(void **)(var_8 + -0x10));
      vfinfo::lexical_block_14::lexical_block_14_4::var_27 = (char *)0x0;
    }
LAB_0003443a:
    var_7 = *(type_4 *)((int)&pbVar30->filename + 1);
    goto joined_r0x000340a6;
  case 0x45:
    *(type_8 *)(var_8 + -4) = 0x3444a;
    uVar18 = var_34();
    *(type_8 *)(var_8 + -0x10) = uVar18;
    *(type_8 *)(var_8 + -0x14) = 0x34453;
    uVar18 = var_35();
    var_19 = *(type_13 **)(var_8 + -0xc);
    *(type_8 *)(var_8 + -0xc) = *(type_8 *)(var_8 + 0x150);
    *(type_8 *)(var_8 + -0x10) = uVar18;
    *(type_8 *)(var_8 + -0x14) = 0x34462;
    var_36(*(char **)(var_8 + -0x10),*(type_1 **)(var_8 + -0xc));
    var_7 = *(type_4 *)((int)&pbVar30->filename + 1);
    goto joined_r0x000340a6;
  case 0x46:
    var_7 = *(type_4 *)((int)&pbVar30->filename + 1);
    *(type_8 *)(var_8 + 0x10) = 1;
    goto joined_r0x000340a6;
  case 0x50:
    *(type_8 *)(var_8 + -0xc) = *(type_8 *)(var_8 + 0x150);
    *(char **)(var_8 + -0x10) = program_name;
    *(type_8 *)(var_8 + -0x14) = 0x34695;
    var_36(*(char **)(var_8 + -0x10),*(type_1 **)(var_8 + -0xc));
    var_7 = *(type_4 *)((int)&pbVar30->filename + 1);
    goto joined_r0x000340a6;
  case 0x56:
    *(int *)(var_8 + 4) = *(int *)(var_8 + 4) + 1;
    var_39 = "%016llx";
    *(type_8 *)(var_8 + -4) = *(type_8 *)(var_8 + var_17 * 0x10 + 0xa4);
    *(type_8 *)(var_8 + -8) = *(type_8 *)(var_8 + var_17 * 0x10 + 0xa0);
    break;
  case 0x57:
    *(int *)(var_8 + 4) = *(int *)(var_8 + 4) + 1;
    *(type_8 *)(var_8 + -4) = *(type_8 *)(var_8 + var_17 * 0x10 + 0xa4);
    *(type_8 *)(var_8 + -8) = *(type_8 *)(var_8 + var_17 * 0x10 + 0xa0);
    *(char **)(var_8 + -0xc) = "%016llx";
    var_39 = var_8 + 0x3c;
    *(char **)(var_8 + -0x10) = var_39;
    *(type_8 *)(var_8 + -0x14) = 0x345d0;
    var_37(*(char **)(var_8 + -0x10),*(char **)(var_8 + -0xc));
    var_38 = var_8[0x3c];
    while (var_38 == '0') {
      var_39 = var_39 + 1;
      var_38 = *var_39;
    }
    var_19 = (type_13 *)(var_39 + -(type_11)(var_38 == '\0'));
    *(type_13 **)(var_8 + -0x10) = var_19;
    *(type_8 *)(var_8 + -0x14) = 0x345f5;
    var_41 = var_40(*(char **)(var_8 + -0x10));
    if (var_41 < 8) {
      *(type_13 **)(var_8 + 8) = pbVar30;
      uVar18 = *(type_8 *)(var_8 + 0x150);
      *(char **)(var_8 + 0x18) = fmt;
      do {
        var_41 = var_41 + 1;
        *(type_8 *)(var_8 + -0xc) = uVar18;
        *(type_8 *)(var_8 + -0x10) = 0x20;
        *(type_8 *)(var_8 + -0x14) = 0x3461c;
        var_18(*(int *)(var_8 + -0x10),*(type_1 **)(var_8 + -0xc));
      } while (var_41 != 8);
      pbVar30 = *(type_13 **)(var_8 + 8);
      fmt = *(char **)(var_8 + 0x18);
    }
    var_39 = "0x%s";
    *(type_13 **)(var_8 + -8) = var_19;
    break;
  case 0x58:
    config.make_executable = 0;
    var_7 = *(type_4 *)((int)&pbVar30->filename + 1);
    goto joined_r0x000340a6;
  case 100:
    puVar15 = &DAT_0006c013;
    *(type_8 *)(var_8 + -8) = *(type_8 *)(var_8 + var_17 * 0x10 + 0xa0);
    goto LAB_000344af;
  case 0x6c:
    var_38 = *(char *)((int)&pbVar30->filename + 1);
    if (var_38 == 'd') {
      puVar15 = &DAT_0007d7c3;
      *(type_8 *)(var_8 + -8) = *(type_8 *)(var_8 + var_17 * 0x10 + 0xa0);
LAB_000342cd:
      *(type_12 **)(var_8 + -0xc) = puVar15;
      *(type_8 *)(var_8 + -0x10) = *(type_8 *)(var_8 + 0x150);
      *(type_8 *)(var_8 + -0x14) = 0x342dd;
      var_25(*(type_1 **)(var_8 + -0x10),*(char **)(var_8 + -0xc));
      *(int *)(var_8 + 4) = *(int *)(var_8 + 4) + 1;
      var_7 = *(type_4 *)((int)&pbVar30->filename + 2);
      fmt = (char *)((int)&pbVar30->filename + 2);
      goto joined_r0x000340a6;
    }
    if (var_38 == 'u') {
      puVar15 = &DAT_0007d7c7;
      *(type_8 *)(var_8 + -8) = *(type_8 *)(var_8 + var_17 * 0x10 + 0xa0);
      goto LAB_000342cd;
    }
  default:
_L48:
    var_39 = "%%%c";
    *(type_8 *)(var_8 + -8) = *(type_8 *)(var_8 + 8);
    break;
  case 0x70:
    var_38 = *(char *)((int)&pbVar30->filename + 1);
    *(int *)(var_8 + 4) = *(int *)(var_8 + 4) + 1;
    if (var_38 == 'A') {
      var_9 = (type_13 *)((int)&pbVar30->filename + 2);
      var_46 = *(type_8 **)(var_8 + var_17 * 0x10 + 0xa0);
      var_19 = (type_13 *)var_46[0x2b];
      *(type_8 *)(var_8 + -0xc) = *(type_8 *)(var_8 + 0x150);
      *(type_8 *)(var_8 + -0x10) = *var_46;
      *(type_8 **)(var_8 + 8) = var_46;
      *(type_8 *)(var_8 + -0x14) = 0x34a7f;
      var_36(*(char **)(var_8 + -0x10),*(type_1 **)(var_8 + -0xc));
      var_17 = *(int *)(var_8 + 8);
      if (var_19 != (type_13 *)0x0) {
        var_42 = var_19->xvec->flavour;
        if (var_42 == var_43) {
          var_19 = *(type_13 **)(*(int *)(var_17 + 0xa4) + 0x8c);
          if ((var_19 == (type_13 *)0x0) || ((*(type_4 *)(var_17 + 0x17) & 2) != 0)) goto LAB_000349da;
          var_17 = *(int *)(*(int *)(var_17 + 0xa4) + 0x84);
        }
        else {
          if ((((var_42 != var_44) ||
               (*(int *)(*(int *)(*(int *)(var_17 + 0xac) + 4) + 4) != 2)) ||
              (*(int *)(var_17 + 0xa4) == 0)) ||
             (var_45 = *(int **)(*(int *)(var_17 + 0xa4) + 0x2c), var_45 == (int *)0x0))
          goto LAB_000349da;
          var_17 = *var_45;
        }
        if (var_17 != 0) {
          var_48 = var_8 + -8;
          *(int *)(var_8 + -8) = var_17;
          var_39 = "[%s]";
          goto LAB_00034ae6;
        }
      }
    }
    else {
      if (var_38 == 'B') {
        var_9 = (type_13 *)((int)&pbVar30->filename + 2);
        var_46 = *(type_8 **)(var_8 + var_17 * 0x10 + 0xa0);
        if (var_46 == (type_8 *)0x0) {
          var_48 = var_8 + -8;
          *(char **)(var_8 + -8) = program_name;
          var_39 = "%s generated";
        }
        else {
          var_47 = (type_8 *)var_46[0x23];
          var_39 = (char *)*var_46;
          if ((var_47 == (type_8 *)0x0) || ((*(type_4 *)(var_47 + 0xb) & 1) != 0)) {
LAB_00034957:
            *(type_8 *)(var_8 + -0xc) = *(type_8 *)(var_8 + 0x150);
            *(char **)(var_8 + -0x10) = var_39;
            *(type_8 *)(var_8 + -0x14) = 0x34967;
            var_36(*(char **)(var_8 + -0x10),*(type_1 **)(var_8 + -0xc));
            fmt = (char *)((int)&pbVar30->filename + 2);
            var_7 = *(type_4 *)&((type_13 *)fmt)->filename;
            goto joined_r0x000340a6;
          }
          *(char **)(var_8 + -4) = var_39;
          var_48 = var_8 + -8;
          *(type_8 *)(var_8 + -8) = *var_47;
          var_39 = "%s(%s)";
        }
LAB_00034ae6:
        *(char **)(var_48 + -4) = var_39;
        *(type_8 *)(var_48 + -8) = *(type_8 *)(var_48 + 0x158);
        *(type_8 *)(var_48 + -0xc) = 0x34af3;
        var_25(*(type_1 **)(var_48 + -8),*(char **)(var_48 + -4));
        var_7 = *(type_4 *)((int)&pbVar30->filename + 2);
        var_8 = var_48 + 8;
        fmt = (char *)var_9;
        goto joined_r0x000340a6;
      }
      if (var_38 == 'I') {
        var_9 = (type_13 *)((int)&pbVar30->filename + 2);
        var_19 = *(type_13 **)(var_8 + var_17 * 0x10 + 0xa0);
        var_49 = var_19->lru_prev->my_archive;
        if ((var_49 != (type_13 *)0x0) && ((var_49->field_0x2c & 1) == 0)) {
LAB_00034be8:
          *(char **)(var_8 + -8) = var_49->filename;
          *(type_12 **)(var_8 + -0xc) = &DAT_0007d3a1;
          *(type_8 *)(var_8 + -0x10) = *(type_8 *)(var_8 + 0x150);
          *(type_8 *)(var_8 + -0x14) = 0x34c00;
          var_25(*(type_1 **)(var_8 + -0x10),*(char **)(var_8 + -0xc));
        }
        *(type_8 *)(var_8 + -0xc) = *(type_8 *)(var_8 + 0x150);
        *(type_5 **)(var_8 + -0x10) = var_19->iovec;
        *(type_8 *)(var_8 + -0x14) = 0x349ab;
        var_36(*(char **)(var_8 + -0x10),*(type_1 **)(var_8 + -0xc));
        var_49 = var_19->lru_prev->my_archive;
        if ((var_49 == (type_13 *)0x0) || ((var_49->field_0x2c & 1) != 0)) {
          *(void **)(var_8 + -0xc) = var_19->iostream;
          *(type_5 **)(var_8 + -0x10) = var_19->iovec;
          *(type_8 *)(var_8 + -0x14) = 0x349cf;
          var_17 = var_32();
          if (var_17 != 0) {
            var_39 = " (%s)";
            var_48 = var_8 + -8;
            *(void **)(var_8 + -8) = var_19->iostream;
            goto LAB_00034ae6;
          }
        }
      }
      else {
        if (var_38 == 'R') {
          var_46 = *(type_8 **)(var_8 + var_17 * 0x10 + 0xa0);
          *(type_8 *)(var_8 + -0xc) = *(type_8 *)(var_46[5] + 0x20);
          *(type_8 *)(var_8 + -0x10) = var_46[4];
          *(type_8 *)(var_8 + -0x14) = var_46[3];
          *(type_8 *)(var_8 + -0x18) = *(type_8 *)(*(int *)*var_46 + 4);
          *(char **)(var_8 + -0x1c) = "%s+0x%v (type %s)";
          *(type_8 *)(var_8 + -0x20) = *(type_8 *)(var_8 + 0x150);
          *(type_8 *)(var_8 + -0x24) = 0x348d6;
          var_20(*(type_1 **)(var_8 + -0x20),*(char **)(var_8 + -0x1c));
          var_7 = *(type_4 *)((int)&pbVar30->filename + 2);
          fmt = (char *)((int)&pbVar30->filename + 2);
          goto joined_r0x000340a6;
        }
        if (var_38 != 'S') {
          if (var_38 != 'T') {
            var_39 = "%p";
            *(type_8 *)(var_8 + -8) = *(type_8 *)(var_8 + var_17 * 0x10 + 0xa0);
            break;
          }
          var_9 = (type_13 *)((int)&pbVar30->filename + 2);
          var_39 = *(char **)(var_8 + var_17 * 0x10 + 0xa0);
          if ((var_39 != (char *)0x0) && (*var_39 != '\0')) {
            var_19 = (type_13 *)**(type_8 **)(var_8 + 0x14);
            if (var_19 != (type_13 *)0x0) {
              *(type_8 *)(var_8 + -8) = 3;
              *(char **)(var_8 + -0xc) = var_39;
              *(char **)(var_8 + 8) = var_39;
              *(type_13 **)(var_8 + -0x10) = link_info.output_bfd;
              *(type_8 *)(var_8 + -0x14) = 0x3454c;
              var_19 = (type_13 *)var_50();
              var_39 = *(char **)(var_8 + 8);
              if (var_19 != (type_13 *)0x0) {
                *(type_8 *)(var_8 + -0xc) = *(type_8 *)(var_8 + 0x150);
                *(type_13 **)(var_8 + -0x10) = var_19;
                *(type_8 *)(var_8 + -0x14) = 0x3456d;
                var_36(*(char **)(var_8 + -0x10),*(type_1 **)(var_8 + -0xc));
                *(type_13 **)(var_8 + -0x10) = var_19;
                *(type_8 *)(var_8 + -0x14) = 0x34575;
                var_29(*(void **)(var_8 + -0x10));
                var_7 = *(type_4 *)((int)&pbVar30->filename + 2);
                fmt = (char *)var_9;
                goto joined_r0x000340a6;
              }
            }
            goto LAB_00034957;
          }
          *(type_8 *)(var_8 + -8) = 5;
          *(char **)(var_8 + -0xc) = "no symbol";
          *(type_8 *)(var_8 + -0x10) = 0;
          *(type_8 *)(var_8 + -0x14) = 0x34b14;
          var_39 = (char *)var_22();
          var_48 = var_8 + -8;
          goto LAB_00034ae6;
        }
        var_9 = (type_13 *)((int)&pbVar30->filename + 2);
        var_51 = *(type_14 **)(var_8 + var_17 * 0x10 + 0xa0);
        if (var_51 == (type_14 *)0x0) {
          *(type_8 *)(var_8 + -4) = 0x34c1e;
          var_39 = var_52();
          *(char **)(var_8 + 0x44) = var_39;
          *(type_11 *)(var_8 + 0x40) = lineno;
          var_51 = var_8 + 0x3c;
        }
        else {
          var_39 = *(char **)(var_51 + 8);
        }
        if (var_39 != (char *)0x0) {
          *(type_8 *)(var_8 + -4) = *(type_8 *)(var_51 + 4);
          *(char **)(var_8 + -8) = var_39;
          *(type_12 **)(var_8 + -0xc) = &DAT_0007d7b0;
          *(type_8 *)(var_8 + -0x10) = *(type_8 *)(var_8 + 0x150);
          *(type_8 *)(var_8 + -0x14) = 0x34b67;
          var_25(*(type_1 **)(var_8 + -0x10),*(char **)(var_8 + -0xc));
        }
      }
    }
LAB_000349da:
    var_7 = *(type_4 *)((int)&pbVar30->filename + 2);
    fmt = (char *)var_9;
    goto joined_r0x000340a6;
  case 0x73:
    *(type_8 *)(var_8 + -0xc) = *(type_8 *)(var_8 + 0x150);
    *(type_8 *)(var_8 + -0x10) = *(type_8 *)(var_8 + var_17 * 0x10 + 0xa0);
    *(type_8 *)(var_8 + -0x14) = 0x34489;
    var_36(*(char **)(var_8 + -0x10),*(type_1 **)(var_8 + -0xc));
    *(int *)(var_8 + 4) = *(int *)(var_8 + 4) + 1;
    var_7 = *(type_4 *)((int)&pbVar30->filename + 1);
    goto joined_r0x000340a6;
  case 0x75:
    puVar15 = &DAT_0007d7b3;
    *(type_8 *)(var_8 + -8) = *(type_8 *)(var_8 + var_17 * 0x10 + 0xa0);
LAB_000344af:
    *(type_12 **)(var_8 + -0xc) = puVar15;
    *(type_8 *)(var_8 + -0x10) = *(type_8 *)(var_8 + 0x150);
    *(type_8 *)(var_8 + -0x14) = 0x344bc;
    var_25(*(type_1 **)(var_8 + -0x10),*(char **)(var_8 + -0xc));
    *(int *)(var_8 + 4) = *(int *)(var_8 + 4) + 1;
    var_7 = *(type_4 *)((int)&pbVar30->filename + 1);
    goto joined_r0x000340a6;
  case 0x76:
    *(int *)(var_8 + 4) = *(int *)(var_8 + 4) + 1;
    *(type_8 *)(var_8 + -4) = *(type_8 *)(var_8 + var_17 * 0x10 + 0xa4);
    *(type_8 *)(var_8 + -8) = *(type_8 *)(var_8 + var_17 * 0x10 + 0xa0);
    *(char **)(var_8 + -0xc) = "%016llx";
    var_39 = var_8 + 0x3c;
    *(char **)(var_8 + -0x10) = var_39;
    *(type_8 *)(var_8 + -0x14) = 0x3426c;
    var_37(*(char **)(var_8 + -0x10),*(char **)(var_8 + -0xc));
    var_38 = var_8[0x3c];
    while (var_38 == '0') {
      var_39 = var_39 + 1;
      var_38 = *var_39;
    }
    var_19 = (type_13 *)(var_39 + -(type_11)(var_38 == '\0'));
    *(type_8 *)(var_8 + -0xc) = *(type_8 *)(var_8 + 0x150);
    *(type_13 **)(var_8 + -0x10) = var_19;
    *(type_8 *)(var_8 + -0x14) = 0x34298;
    var_36(*(char **)(var_8 + -0x10),*(type_1 **)(var_8 + -0xc));
    var_7 = *(type_4 *)((int)&pbVar30->filename + 1);
    goto joined_r0x000340a6;
  }
  *(char **)(var_8 + -0xc) = var_39;
  *(type_8 *)(var_8 + -0x10) = *(type_8 *)(var_8 + 0x150);
  *(type_8 *)(var_8 + -0x14) = 0x34237;
  var_25(*(type_1 **)(var_8 + -0x10),*(char **)(var_8 + -0xc));
  var_7 = *(type_4 *)((int)&pbVar30->filename + 1);
  goto joined_r0x000340a6;
}


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

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

void MASKED(undefined4 param_1,byte *param_2,byte *param_3)

{
  byte bVar1;
  char cVar2;
  undefined4 uVar3;
  undefined4 uVar4;
  code *pcVar5;
  int *piVar6;
  byte bVar7;
  undefined4 *puVar8;
  uint uVar9;
  undefined *puVar10;
  size_t sVar11;
  undefined4 uVar12;
  undefined4 *puVar13;
  int iVar14;
  byte *pbVar15;
  int iVar16;
  undefined1 *puVar17;
  undefined1 *puVar18;
  undefined1 *puVar19;
  char *pcVar20;
  byte *pbVar21;
  byte *pbVar22;
  undefined8 uVar23;
  undefined1 auStack_14c [4];
  undefined4 *local_148;
  byte *local_144;
  undefined *local_140;
  undefined4 local_13c;
  undefined4 *local_138;
  int local_134;
  undefined4 local_ac [36];
  undefined4 local_1c [2];
  undefined4 uStack_14;
  
  uStack_14 = 0x33f29;
  puVar18 = auStack_14c;
  puVar13 = local_ac;
  puVar8 = puVar13;
  do {
    *puVar8 = 0;
    puVar8 = puVar8 + 4;
  } while (local_1c != puVar8);
  bVar7 = *param_2;
  local_148 = (undefined4 *)0x0;
  local_13c = CONCAT31(local_13c._1_3_,bVar7);
  local_138 = (undefined4 *)PTR__sch_istable_001cefa0;
  uVar9 = (uint)bVar7;
  pbVar15 = param_2;
LAB_00033f90:
  if ((char)uVar9 != '\0') {
    if ((char)uVar9 != '%') goto LAB_00033fb0;
    goto LAB_00033fd0;
  }
  uVar9 = 0;
  pbVar15 = param_3;
  if (local_148 != (undefined4 *)0x0) {
    do {
      switch(*puVar13) {
      default:
                    /* WARNING: Subroutine does not return */
        FUN_00033e90("../../ld/ldmisc.c",0xc6,"vfinfo");
      case 1:
      case 2:
      case 3:
        pbVar15 = param_3 + 4;
        *puVar13 = *(undefined4 *)param_3;
        break;
      case 4:
        uVar12 = *(undefined4 *)(param_3 + 4);
        pbVar15 = param_3 + 8;
        *puVar13 = *(undefined4 *)param_3;
        puVar13[1] = uVar12;
        break;
      case 5:
        uVar12 = *(undefined4 *)(param_3 + 8);
        pbVar15 = param_3 + 0x10;
        uVar3 = *(undefined4 *)(param_3 + 0xc);
        *puVar13 = *(undefined4 *)param_3;
        uVar4 = *(undefined4 *)(param_3 + 4);
        puVar13[2] = uVar12;
        puVar13[1] = uVar4;
        puVar13[3] = uVar3;
      }
      uVar9 = uVar9 + 1;
      puVar13 = puVar13 + 4;
      param_3 = pbVar15;
    } while (local_148 != (undefined4 *)uVar9);
  }
  local_148 = (undefined4 *)0x0;
  local_13c = 0;
  local_140 = PTR__sch_istable_001cefa0;
  local_138 = &DAT_001d13c4;
joined_r0x000340a6:
  if (bVar7 != 0) {
    pbVar21 = param_2;
    pbVar15 = param_2;
    if (bVar7 != 0x25) goto LAB_000340c2;
    goto LAB_00034170;
  }
  pbVar21 = *(byte **)(puVar18 + 0x15c);
  if ((pbVar21 != (byte *)0x0) && (DAT_001d1508 != 0)) {
    DAT_001d14e4 = 0;
  }
  if (*(int *)(puVar18 + 0x10) == 0) {
    return;
  }
  *(undefined4 *)(puVar18 + -0x10) = 1;
  *(undefined4 *)(puVar18 + -0x14) = 0x34be1;
  puVar13 = (undefined4 *)xexit();
  puVar18 = puVar18 + -0x10;
  pbVar22 = param_2;
  goto code_r0x00034be8;
LAB_00033fb0:
  do {
    pbVar15 = pbVar15 + 1;
    bVar1 = *pbVar15;
    uVar9 = (uint)bVar1;
    if (bVar1 == 0x25) break;
  } while (bVar1 != 0);
  if (bVar1 != 0x25) goto LAB_00033f90;
LAB_00033fd0:
  local_144 = pbVar15 + 1;
  bVar1 = pbVar15[1];
  uVar9 = (uint)bVar1;
  if (bVar1 == 0x30) {
    pbVar15 = pbVar15 + 2;
LAB_000347d7:
    uVar9 = (uint)local_144[1];
    goto LAB_00033f90;
  }
  local_134 = (int)(char)bVar1;
  local_140 = (undefined *)local_148;
  if (((PTR__sch_istable_001cefa0[uVar9 * 2] & 4) != 0) && (pbVar15[2] == 0x24)) {
    local_140 = (undefined *)((int)(char)bVar1 - 0x31);
    local_144 = pbVar15 + 3;
    uVar9 = (uint)pbVar15[3];
  }
  pbVar21 = local_144;
  pbVar15 = local_144 + 1;
  switch(uVar9) {
  case 0:
    pbVar15 = local_144;
    goto LAB_00033f90;
  default:
    goto LAB_000347d7;
  case 0x43:
  case 0x44:
  case 0x47:
  case 0x48:
    local_144 = (byte *)0x5;
    break;
  case 0x56:
  case 0x57:
  case 0x76:
    local_144 = (byte *)0x4;
    break;
  case 100:
  case 0x75:
    local_144 = (byte *)0x1;
    break;
  case 0x6c:
    bVar1 = local_144[1];
    uVar9 = (uint)bVar1;
    if ((bVar1 != 100) && (bVar1 != 0x75)) goto LAB_00033f90;
    local_144 = (byte *)0x2;
    pbVar15 = pbVar21 + 2;
    break;
  case 0x70:
    local_144 = (byte *)0x3;
    uVar9 = pbVar21[1] - 0x41;
    if (((byte)uVar9 < 0x14) && ((0xe0103U >> (uVar9 & 0x1f) & 1) != 0)) {
      pbVar15 = pbVar21 + 2;
    }
    break;
  case 0x73:
    local_144 = (byte *)0x3;
  }
  if (8 < local_140) {
    local_148 = puVar13;
                    /* WARNING: Subroutine does not return */
    FUN_00033e90("../../ld/ldmisc.c",0xa9,"vfinfo",uVar9);
  }
  local_148 = (undefined4 *)((int)local_148 + 1);
  local_ac[(int)local_140 * 4] = local_144;
  uVar9 = (uint)*pbVar15;
  goto LAB_00033f90;
LAB_000340c2:
  do {
    pbVar15 = pbVar21;
    bVar7 = pbVar15[1];
    pbVar21 = pbVar15 + 1;
    if (bVar7 == 0x25) break;
  } while (bVar7 != 0);
  if (param_2 != pbVar21) {
    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + 0x150);
    *(int *)(puVar18 + -8) = (int)pbVar21 - (int)param_2;
    *(undefined4 *)(puVar18 + -0xc) = 1;
    *(byte **)(puVar18 + -0x10) = param_2;
    *(undefined4 *)(puVar18 + -0x14) = 0x340e9;
    fwrite(*(void **)(puVar18 + -0x10),*(size_t *)(puVar18 + -0xc),*(size_t *)(puVar18 + -8),
           *(FILE **)(puVar18 + -4));
    bVar7 = pbVar15[1];
  }
  param_2 = pbVar21;
  if (bVar7 != 0x25) goto joined_r0x000340a6;
LAB_00034170:
  bVar7 = param_2[1];
  pbVar22 = param_2 + 1;
  *(int *)(puVar18 + 8) = (int)(char)bVar7;
  if (bVar7 == 0x30) {
    *(undefined4 *)(puVar18 + 8) = 0x30;
    param_2 = param_2 + 2;
    goto LAB_0003421d;
  }
  pbVar15 = *(byte **)(puVar18 + 0xc);
  iVar16 = *(int *)(puVar18 + 4);
  if (((pbVar15[(uint)bVar7 * 2] & 4) != 0) && (param_2[2] == 0x24)) {
    bVar7 = param_2[3];
    iVar16 = *(int *)(puVar18 + 8);
    pbVar22 = param_2 + 3;
    *(int *)(puVar18 + 8) = (int)(char)bVar7;
    iVar16 = iVar16 + -0x31;
  }
  param_2 = pbVar22 + 1;
  switch(bVar7) {
  case 0:
    param_2 = pbVar22;
  case 0x25:
    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);
    *(undefined4 *)(puVar18 + -0x10) = 0x25;
    *(undefined **)(puVar18 + -0x14) = &UNK_00034207;
    putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));
    bVar7 = *param_2;
    goto joined_r0x000340a6;
  case 0x43:
  case 0x44:
  case 0x47:
  case 0x48:
    iVar16 = iVar16 * 0x10;
    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;
    pbVar15 = *(byte **)(puVar18 + iVar16 + 0xa0);
    *(undefined4 *)(puVar18 + 0x1c) = *(undefined4 *)(puVar18 + iVar16 + 0xa4);
    uVar12 = *(undefined4 *)(puVar18 + iVar16 + 0xac);
    *(undefined4 *)(puVar18 + 0x20) = *(undefined4 *)(puVar18 + iVar16 + 0xa8);
    *(undefined4 *)(puVar18 + 0x24) = uVar12;
    if (pbVar15 == (byte *)0x0) {
code_r0x00034747:
      *(byte **)(puVar18 + -8) = pbVar15;
      *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;
      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);
      *(undefined **)(puVar18 + -0x14) = &UNK_0003475e;
      FUN_00034e30();
      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);
      *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);
      *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);
      *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;
      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);
      *(undefined **)(puVar18 + -0x24) = &UNK_0003477e;
      FUN_00034e30();
    }
    else {
      *(byte **)(puVar18 + -0x10) = pbVar15;
      *(undefined **)(puVar18 + -0x14) = &UNK_00034331;
      iVar16 = bfd_generic_link_read_symbols();
      if (iVar16 == 0) {
        *(undefined4 *)(puVar18 + -8) = 5;
        *(char **)(puVar18 + -0xc) = "%F%P: %pB: could not read symbols: %E\n";
        *(undefined4 *)(puVar18 + -0x10) = 0;
        *(undefined **)(puVar18 + -0x14) = &UNK_000349f8;
        uVar12 = dcgettext();
        *(byte **)(puVar18 + -0xc) = pbVar15;
        *(undefined4 *)(puVar18 + -0x10) = uVar12;
        *(undefined **)(puVar18 + -0x14) = &UNK_00034a01;
        FUN_00034d20();
      }
      iVar16 = *(int *)(pbVar15 + 4);
      *(undefined4 *)(puVar18 + -0x10) = 0;
      *(undefined1 **)(puVar18 + -0x14) = puVar18 + 0x3c;
      *(undefined1 **)(puVar18 + -0x18) = puVar18 + 0x38;
      *(undefined1 **)(puVar18 + -0x1c) = puVar18 + 0x34;
      *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x24);
      *(undefined4 *)(puVar18 + -0x24) = *(undefined4 *)(puVar18 + 0x20);
      *(undefined4 *)(puVar18 + -0x28) = *(undefined4 *)(puVar18 + 0x1c);
      *(undefined4 *)(puVar18 + -0x2c) = *(undefined4 *)(pbVar15 + 0x78);
      *(byte **)(puVar18 + -0x30) = pbVar15;
      pcVar5 = *(code **)(iVar16 + 0x128);
      *(undefined **)(puVar18 + -0x34) = &UNK_00034369;
      iVar16 = (*pcVar5)();
      if (iVar16 == 0) goto code_r0x00034747;
      iVar16 = *(int *)(puVar18 + 0x38);
      *(int *)(puVar18 + 8) = iVar16;
      if ((iVar16 == 0) || ((*pbVar22 != 0x43 && (*pbVar22 != 0x48)))) {
        *(byte **)(puVar18 + -8) = pbVar15;
        *(undefined **)(puVar18 + -0xc) = &UNK_0007d36d;
        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);
        *(undefined **)(puVar18 + -0x14) = &UNK_000343aa;
        FUN_00034e30();
        *(undefined4 *)(puVar18 + 0x18) = 1;
code_r0x000343b5:
        if (*(int *)(puVar18 + 0x34) == 0) {
          iVar16 = *(int *)(puVar18 + 0x38);
          goto code_r0x00034a0d;
        }
        *(int *)(puVar18 + -8) = *(int *)(puVar18 + 0x34);
        *(undefined **)(puVar18 + -0xc) = &UNK_0007d779;
        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);
        *(undefined **)(puVar18 + -0x14) = &UNK_000343d8;
        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));
        iVar16 = *(int *)(puVar18 + 0x38);
        if ((iVar16 != 0) && (*pbVar22 == 0x47)) goto code_r0x00034a20;
        if ((*(int *)(puVar18 + 0x34) == 0) || (iVar16 = *(int *)(puVar18 + 0x3c), iVar16 == 0))
        goto code_r0x00034902;
        if (*pbVar22 == 0x48) {
          *(undefined **)(puVar18 + -4) = &UNK_0007b12f;
          *(int *)(puVar18 + -8) = iVar16;
          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;
          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);
          *(undefined **)(puVar18 + -0x14) = &UNK_000348ff;
          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));
          goto code_r0x00034902;
        }
        *(char **)(puVar18 + -4) = "";
        *(int *)(puVar18 + -8) = iVar16;
        *(undefined **)(puVar18 + -0xc) = &UNK_0007d7d0;
        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);
        *(undefined **)(puVar18 + -0x14) = &UNK_0003442b;
        fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));
      }
      else {
        if (((pbRam001d0878 == (byte *)0x0) || (iRam001d0874 == 0)) || (pbRam001d0878 != pbVar15)) {
code_r0x00034800:
          *(undefined4 *)(puVar18 + -8) = 5;
          *(char **)(puVar18 + -0xc) = "%pB: in function `%pT\':\n";
          *(undefined4 *)(puVar18 + -0x10) = 0;
          *(undefined **)(puVar18 + -0x14) = &UNK_00034813;
          uVar12 = dcgettext();
          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 8);
          *(byte **)(puVar18 + -0x18) = pbVar15;
          *(undefined4 *)(puVar18 + -0x1c) = uVar12;
          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);
          *(undefined **)(puVar18 + -0x24) = &UNK_00034825;
          FUN_00034e30();
          pbRam001d0878 = pbVar15;
          if (iRam001d0870 != 0) {
            *(int *)(puVar18 + -0x10) = iRam001d0870;
            *(undefined **)(puVar18 + -0x14) = &UNK_00034841;
            free(*(void **)(puVar18 + -0x10));
          }
          iRam001d0870 = 0;
          if (*(int *)(puVar18 + 0x34) != 0) {
            *(int *)(puVar18 + -0x10) = *(int *)(puVar18 + 0x34);
            *(undefined **)(puVar18 + -0x14) = &UNK_0003485f;
            iRam001d0870 = xstrdup();
          }
          if (iRam001d0874 != 0) {
            *(int *)(puVar18 + -0x10) = iRam001d0874;
            *(undefined **)(puVar18 + -0x14) = &UNK_0003487b;
            free(*(void **)(puVar18 + -0x10));
          }
          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x38);
          *(undefined **)(puVar18 + -0x14) = &UNK_0003488a;
          iRam001d0874 = xstrdup();
          *(undefined4 *)(puVar18 + 0x18) = 0;
          goto code_r0x000343b5;
        }
        iVar14 = *(int *)(puVar18 + 0x34);
        *(int *)(puVar18 + 0x18) = iRam001d0870;
        puVar18[0x28] = iRam001d0870 == 0;
        puVar18[0x2f] = iVar14 == 0;
        if (puVar18[0x28] != puVar18[0x2f]) goto code_r0x00034800;
        if (iVar14 != 0) {
          *(int *)(puVar18 + -4) = iVar16;
          *(int *)(puVar18 + -8) = iVar16;
          *(int *)(puVar18 + -0xc) = iVar14;
          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x18);
          *(undefined **)(puVar18 + -0x14) = &UNK_00034c8b;
          uVar23 = filename_cmp();
          uVar12 = (undefined4)((ulonglong)uVar23 >> 0x20);
          *(undefined4 *)(puVar18 + 8) = *(undefined4 *)(puVar18 + 0x38);
          if ((int)uVar23 == 0) {
            *(undefined4 *)(puVar18 + -4) = uVar12;
            *(undefined4 *)(puVar18 + -8) = uVar12;
            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x38);
            *(int *)(puVar18 + -0x10) = iRam001d0874;
            *(undefined **)(puVar18 + -0x14) = &UNK_00034cac;
            iVar16 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));
            *(int *)(puVar18 + 0x18) = iVar16;
            if (iVar16 == 0) goto code_r0x000343b5;
          }
          goto code_r0x00034800;
        }
        *(int *)(puVar18 + 8) = iVar16;
        *(undefined4 *)(puVar18 + -4) = 0;
        *(undefined4 *)(puVar18 + -8) = 0;
        *(int *)(puVar18 + -0xc) = iVar16;
        *(int *)(puVar18 + 0x28) = iVar16;
        *(int *)(puVar18 + -0x10) = iRam001d0874;
        *(undefined **)(puVar18 + -0x14) = &UNK_00034cd6;
        iVar14 = strcmp(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));
        iVar16 = *(int *)(puVar18 + 0x28);
        *(int *)(puVar18 + 0x18) = iVar14;
        if (iVar14 != 0) goto code_r0x00034800;
code_r0x00034a0d:
        if ((*pbVar22 == 0x47) && (iVar16 != 0)) {
code_r0x00034a20:
          *(int *)(puVar18 + -8) = iVar16;
          *(undefined **)(puVar18 + -0xc) = &UNK_0007d77d;
          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);
          *(undefined **)(puVar18 + -0x14) = &UNK_00034a37;
          FUN_00034e30();
        }
        else {
code_r0x00034902:
          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x24);
          *(undefined4 *)(puVar18 + -0x14) = *(undefined4 *)(puVar18 + 0x20);
          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(puVar18 + 0x1c);
          *(undefined **)(puVar18 + -0x1c) = &UNK_0007d781;
          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);
          *(undefined **)(puVar18 + -0x24) = &UNK_00034924;
          FUN_00034e30();
        }
      }
      if (*(int *)(puVar18 + 0x18) == 0) goto code_r0x0003443a;
    }
    pbRam001d0878 = (byte *)0x0;
    if (iRam001d0870 != 0) {
      *(int *)(puVar18 + -0x10) = iRam001d0870;
      *(undefined **)(puVar18 + -0x14) = &UNK_0003479e;
      free(*(void **)(puVar18 + -0x10));
      iRam001d0870 = 0;
    }
    if (iRam001d0874 != 0) {
      *(int *)(puVar18 + -0x10) = iRam001d0874;
      *(undefined **)(puVar18 + -0x14) = &UNK_000347c2;
      free(*(void **)(puVar18 + -0x10));
      iRam001d0874 = 0;
    }
code_r0x0003443a:
    bVar7 = pbVar22[1];
    goto joined_r0x000340a6;
  case 0x45:
    *(undefined **)(puVar18 + -4) = &UNK_0003444a;
    uVar12 = bfd_get_error();
    *(undefined4 *)(puVar18 + -0x10) = uVar12;
    *(undefined **)(puVar18 + -0x14) = &UNK_00034453;
    uVar12 = func_0x00016b10();
    pbVar15 = *(byte **)(puVar18 + -0xc);
    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);
    *(undefined4 *)(puVar18 + -0x10) = uVar12;
    *(undefined **)(puVar18 + -0x14) = &UNK_00034462;
    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));
    bVar7 = pbVar22[1];
    goto joined_r0x000340a6;
  case 0x46:
    bVar7 = pbVar22[1];
    *(undefined4 *)(puVar18 + 0x10) = 1;
    goto joined_r0x000340a6;
  case 0x50:
    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);
    *(undefined4 *)(puVar18 + -0x10) = DAT_001d1558;
    *(undefined **)(puVar18 + -0x14) = &UNK_00034695;
    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));
    bVar7 = pbVar22[1];
    goto joined_r0x000340a6;
  case 0x56:
    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;
    pcVar20 = "%016llx";
    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);
    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);
    break;
  case 0x57:
    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;
    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);
    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);
    *(char **)(puVar18 + -0xc) = "%016llx";
    pcVar20 = puVar18 + 0x3c;
    *(char **)(puVar18 + -0x10) = pcVar20;
    *(undefined **)(puVar18 + -0x14) = &UNK_000345d0;
    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));
    cVar2 = puVar18[0x3c];
    while (cVar2 == '0') {
      pcVar20 = pcVar20 + 1;
      cVar2 = *pcVar20;
    }
    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));
    *(byte **)(puVar18 + -0x10) = pbVar15;
    *(undefined **)(puVar18 + -0x14) = &UNK_000345f5;
    sVar11 = strlen(*(char **)(puVar18 + -0x10));
    if (sVar11 < 8) {
      *(byte **)(puVar18 + 8) = pbVar22;
      uVar12 = *(undefined4 *)(puVar18 + 0x150);
      *(byte **)(puVar18 + 0x18) = param_2;
      do {
        sVar11 = sVar11 + 1;
        *(undefined4 *)(puVar18 + -0xc) = uVar12;
        *(undefined4 *)(puVar18 + -0x10) = 0x20;
        *(undefined **)(puVar18 + -0x14) = &UNK_0003461c;
        putc(*(int *)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));
      } while (sVar11 != 8);
      pbVar22 = *(byte **)(puVar18 + 8);
      param_2 = *(byte **)(puVar18 + 0x18);
    }
    pcVar20 = "0x%s";
    *(byte **)(puVar18 + -8) = pbVar15;
    break;
  case 0x58:
    DAT_001d14e4 = 0;
    bVar7 = pbVar22[1];
    goto joined_r0x000340a6;
  case 100:
    puVar10 = &DAT_0006c013;
    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);
    goto code_r0x000344af;
  case 0x6c:
    if (pbVar22[1] == 100) {
      puVar10 = &UNK_0007d7c3;
      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);
code_r0x000342cd:
      *(undefined **)(puVar18 + -0xc) = puVar10;
      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);
      *(undefined **)(puVar18 + -0x14) = &UNK_000342dd;
      fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));
      *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;
      bVar7 = pbVar22[2];
      param_2 = pbVar22 + 2;
      goto joined_r0x000340a6;
    }
    if (pbVar22[1] == 0x75) {
      puVar10 = &UNK_0007d7c7;
      *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);
      goto code_r0x000342cd;
    }
  default:
LAB_0003421d:
    pcVar20 = "%%%c";
    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + 8);
    break;
  case 0x70:
    bVar7 = pbVar22[1];
    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;
    if (bVar7 == 0x41) {
      pbVar21 = pbVar22 + 2;
      puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);
      pbVar15 = (byte *)puVar13[0x2b];
      *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);
      *(undefined4 *)(puVar18 + -0x10) = *puVar13;
      *(undefined4 **)(puVar18 + 8) = puVar13;
      *(undefined **)(puVar18 + -0x14) = &UNK_00034a7f;
      fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));
      iVar16 = *(int *)(puVar18 + 8);
      if (pbVar15 != (byte *)0x0) {
        if (*(int *)(*(int *)(pbVar15 + 4) + 4) == 5) {
          pbVar15 = *(byte **)(*(int *)(iVar16 + 0xa4) + 0x8c);
          if ((pbVar15 == (byte *)0x0) || ((*(byte *)(iVar16 + 0x17) & 2) != 0)) goto LAB_000349da;
          iVar16 = *(int *)(*(int *)(iVar16 + 0xa4) + 0x84);
        }
        else {
          if ((((*(int *)(*(int *)(pbVar15 + 4) + 4) != 2) ||
               (*(int *)(*(int *)(*(int *)(iVar16 + 0xac) + 4) + 4) != 2)) ||
              (*(int *)(iVar16 + 0xa4) == 0)) ||
             (piVar6 = *(int **)(*(int *)(iVar16 + 0xa4) + 0x2c), piVar6 == (int *)0x0))
          goto LAB_000349da;
          iVar16 = *piVar6;
        }
        if (iVar16 != 0) {
          puVar19 = puVar18 + -8;
          *(int *)(puVar18 + -8) = iVar16;
          pcVar20 = "[%s]";
          goto LAB_00034ae6;
        }
      }
    }
    else {
      if (bVar7 == 0x42) {
        pbVar21 = pbVar22 + 2;
        puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);
        if (puVar13 == (undefined4 *)0x0) {
          puVar19 = puVar18 + -8;
          *(undefined4 *)(puVar18 + -8) = DAT_001d1558;
          pcVar20 = "%s generated";
        }
        else {
          puVar8 = (undefined4 *)puVar13[0x23];
          pcVar20 = (char *)*puVar13;
          if ((puVar8 == (undefined4 *)0x0) || ((*(byte *)(puVar8 + 0xb) & 1) != 0)) {
code_r0x00034957:
            *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);
            *(char **)(puVar18 + -0x10) = pcVar20;
            *(undefined **)(puVar18 + -0x14) = &UNK_00034967;
            fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));
            bVar7 = pbVar22[2];
            param_2 = pbVar22 + 2;
            goto joined_r0x000340a6;
          }
          *(char **)(puVar18 + -4) = pcVar20;
          puVar19 = puVar18 + -8;
          *(undefined4 *)(puVar18 + -8) = *puVar8;
          pcVar20 = "%s(%s)";
        }
LAB_00034ae6:
        *(char **)(puVar19 + -4) = pcVar20;
        *(undefined4 *)(puVar19 + -8) = *(undefined4 *)(puVar19 + 0x158);
        *(undefined4 *)(puVar19 + -0xc) = 0x34af3;
        fprintf(*(FILE **)(puVar19 + -8),*(char **)(puVar19 + -4));
        bVar7 = pbVar22[2];
        puVar18 = puVar19 + 8;
        param_2 = pbVar21;
        goto joined_r0x000340a6;
      }
      if (bVar7 == 0x49) {
        pbVar21 = pbVar22 + 2;
        pbVar15 = *(byte **)(puVar18 + iVar16 * 0x10 + 0xa0);
        puVar13 = *(undefined4 **)(*(int *)(pbVar15 + 0x10) + 0x8c);
        if ((puVar13 != (undefined4 *)0x0) && ((*(byte *)(puVar13 + 0xb) & 1) == 0)) {
code_r0x00034be8:
          *(undefined4 *)(puVar18 + -8) = *puVar13;
          *(undefined **)(puVar18 + -0xc) = &DAT_0007d3a1;
          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);
          *(undefined4 *)(puVar18 + -0x14) = 0x34c00;
          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));
        }
        *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);
        *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);
        *(undefined4 *)(puVar18 + -0x14) = 0x349ab;
        fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));
        if ((*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) == 0) ||
           ((*(byte *)(*(int *)(*(int *)(pbVar15 + 0x10) + 0x8c) + 0x2c) & 1) != 0)) {
          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(pbVar15 + 8);
          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(pbVar15 + 0xc);
          *(undefined4 *)(puVar18 + -0x14) = 0x349cf;
          iVar16 = filename_cmp();
          if (iVar16 != 0) {
            pcVar20 = " (%s)";
            puVar19 = puVar18 + -8;
            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(pbVar15 + 8);
            goto LAB_00034ae6;
          }
        }
      }
      else {
        if (bVar7 == 0x52) {
          puVar13 = *(undefined4 **)(puVar18 + iVar16 * 0x10 + 0xa0);
          *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar13[5] + 0x20);
          *(undefined4 *)(puVar18 + -0x10) = puVar13[4];
          *(undefined4 *)(puVar18 + -0x14) = puVar13[3];
          *(undefined4 *)(puVar18 + -0x18) = *(undefined4 *)(*(int *)*puVar13 + 4);
          *(char **)(puVar18 + -0x1c) = "%s+0x%v (type %s)";
          *(undefined4 *)(puVar18 + -0x20) = *(undefined4 *)(puVar18 + 0x150);
          *(undefined **)(puVar18 + -0x24) = &UNK_000348d6;
          FUN_00034e30();
          bVar7 = pbVar22[2];
          param_2 = pbVar22 + 2;
          goto joined_r0x000340a6;
        }
        if (bVar7 != 0x53) {
          if (bVar7 != 0x54) {
            pcVar20 = "%p";
            *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);
            break;
          }
          pbVar21 = pbVar22 + 2;
          pcVar20 = *(char **)(puVar18 + iVar16 * 0x10 + 0xa0);
          if ((pcVar20 != (char *)0x0) && (*pcVar20 != '\0')) {
            pbVar15 = (byte *)**(undefined4 **)(puVar18 + 0x14);
            if (pbVar15 != (byte *)0x0) {
              *(undefined4 *)(puVar18 + -8) = 3;
              *(char **)(puVar18 + -0xc) = pcVar20;
              *(char **)(puVar18 + 8) = pcVar20;
              *(undefined4 *)(puVar18 + -0x10) = DAT_001d1414;
              *(undefined **)(puVar18 + -0x14) = &UNK_0003454c;
              pbVar15 = (byte *)bfd_demangle();
              pcVar20 = *(char **)(puVar18 + 8);
              if (pbVar15 != (byte *)0x0) {
                *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);
                *(byte **)(puVar18 + -0x10) = pbVar15;
                *(undefined **)(puVar18 + -0x14) = &UNK_0003456d;
                fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));
                *(byte **)(puVar18 + -0x10) = pbVar15;
                *(undefined **)(puVar18 + -0x14) = &UNK_00034575;
                free(*(void **)(puVar18 + -0x10));
                bVar7 = pbVar22[2];
                param_2 = pbVar21;
                goto joined_r0x000340a6;
              }
            }
            goto code_r0x00034957;
          }
          *(undefined4 *)(puVar18 + -8) = 5;
          *(char **)(puVar18 + -0xc) = "no symbol";
          *(undefined4 *)(puVar18 + -0x10) = 0;
          *(undefined **)(puVar18 + -0x14) = &UNK_00034b14;
          pcVar20 = (char *)dcgettext();
          puVar19 = puVar18 + -8;
          goto LAB_00034ae6;
        }
        pbVar21 = pbVar22 + 2;
        puVar17 = *(undefined1 **)(puVar18 + iVar16 * 0x10 + 0xa0);
        if (puVar17 == (undefined1 *)0x0) {
          *(undefined **)(puVar18 + -4) = &UNK_00034c1e;
          iVar16 = FUN_0001d2c0();
          *(int *)(puVar18 + 0x44) = iVar16;
          *(undefined4 *)(puVar18 + 0x40) = DAT_001d136c;
          puVar17 = puVar18 + 0x3c;
        }
        else {
          iVar16 = *(int *)(puVar17 + 8);
        }
        if (iVar16 != 0) {
          *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar17 + 4);
          *(int *)(puVar18 + -8) = iVar16;
          *(undefined **)(puVar18 + -0xc) = &UNK_0007d7b0;
          *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);
          *(undefined **)(puVar18 + -0x14) = &UNK_00034b67;
          fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));
        }
      }
    }
LAB_000349da:
    bVar7 = pbVar22[2];
    param_2 = pbVar21;
    goto joined_r0x000340a6;
  case 0x73:
    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);
    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);
    *(undefined **)(puVar18 + -0x14) = &UNK_00034489;
    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));
    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;
    bVar7 = pbVar22[1];
    goto joined_r0x000340a6;
  case 0x75:
    puVar10 = &UNK_0007d7b3;
    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);
code_r0x000344af:
    *(undefined **)(puVar18 + -0xc) = puVar10;
    *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);
    *(undefined **)(puVar18 + -0x14) = &UNK_000344bc;
    fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));
    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;
    bVar7 = pbVar22[1];
    goto joined_r0x000340a6;
  case 0x76:
    *(int *)(puVar18 + 4) = *(int *)(puVar18 + 4) + 1;
    *(undefined4 *)(puVar18 + -4) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa4);
    *(undefined4 *)(puVar18 + -8) = *(undefined4 *)(puVar18 + iVar16 * 0x10 + 0xa0);
    *(char **)(puVar18 + -0xc) = "%016llx";
    pcVar20 = puVar18 + 0x3c;
    *(char **)(puVar18 + -0x10) = pcVar20;
    *(undefined **)(puVar18 + -0x14) = &UNK_0003426c;
    sprintf(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));
    cVar2 = puVar18[0x3c];
    while (cVar2 == '0') {
      pcVar20 = pcVar20 + 1;
      cVar2 = *pcVar20;
    }
    pbVar15 = (byte *)(pcVar20 + -(uint)(cVar2 == '\0'));
    *(undefined4 *)(puVar18 + -0xc) = *(undefined4 *)(puVar18 + 0x150);
    *(byte **)(puVar18 + -0x10) = pbVar15;
    *(undefined **)(puVar18 + -0x14) = &UNK_00034298;
    fputs(*(char **)(puVar18 + -0x10),*(FILE **)(puVar18 + -0xc));
    bVar7 = pbVar22[1];
    goto joined_r0x000340a6;
  }
  *(char **)(puVar18 + -0xc) = pcVar20;
  *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0x150);
  *(undefined4 *)(puVar18 + -0x14) = 0x34237;
  fprintf(*(FILE **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));
  bVar7 = pbVar22[1];
  goto joined_r0x000340a6;
}

