
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

bfd_boolean __regparm3 process_file_header(Filedata *filedata)

{
  uchar uVar1;
  char cVar2;
  ushort uVar3;
  Elf_Internal_Shdr *__ptr;
  ulong uVar4;
  char **ppcVar5;
  undefined *puVar6;
  char *pcVar7;
  char *pcVar8;
  char *pcVar9;
  Elf32_Ehdr *pEVar10;
  int iVar11;
  undefined1 *puVar12;
  uint *puVar13;
  Filedata *pFVar14;
  size_t sVar15;
  int extraout_ECX;
  undefined4 extraout_ECX_00;
  undefined4 extraout_ECX_01;
  undefined4 extraout_ECX_02;
  undefined4 extraout_ECX_03;
  undefined4 uVar16;
  int iVar17;
  undefined4 extraout_ECX_04;
  undefined4 extraout_ECX_05;
  undefined4 extraout_ECX_06;
  undefined4 extraout_ECX_07;
  undefined4 extraout_ECX_08;
  undefined4 extraout_ECX_09;
  undefined4 extraout_ECX_10;
  undefined4 extraout_ECX_11;
  undefined4 extraout_ECX_12;
  undefined4 extraout_ECX_13;
  undefined4 extraout_ECX_14;
  undefined4 extraout_ECX_15;
  undefined4 extraout_ECX_16;
  undefined4 extraout_ECX_17;
  undefined4 extraout_ECX_18;
  undefined4 extraout_ECX_19;
  undefined4 extraout_ECX_20;
  uint uVar18;
  uint uVar19;
  Filedata *pFVar20;
  Filedata *extraout_EDX;
  undefined4 extraout_EDX_00;
  Filedata *extraout_EDX_01;
  byte bVar21;
  uint uVar22;
  uint *puVar23;
  undefined4 *puVar24;
  Filedata *pFVar25;
  bool bVar26;
  bool bVar27;
  byte bVar28;
  char *local_40;
  char *local_3c;
  Filedata *local_38;
  Filedata *local_34;
  Elf_Internal_Ehdr *local_30;
  char abi [8];
  
  bVar28 = 0;
  if (*(int *)(filedata->file_header).e_ident != 0x464c457f) {
    pcVar7 = (char *)dcgettext(0,"Not an ELF file - it has the wrong magic bytes at the start\n",5);
    error(pcVar7);
    return 0;
  }
  init_dwarf_regnames((uint)(filedata->file_header).e_machine);
  if (do_header == 0) goto LAB_0003b371;
  pcVar7 = (char *)dcgettext(0,"ELF Header:\n",5);
  printf(pcVar7);
  pcVar7 = (char *)dcgettext(0,"  Magic:   ",5);
  printf(pcVar7);
  local_30 = &filedata->file_header;
  do {
    printf("%2.2x ",(uint)local_30->e_ident[0]);
    local_30 = (Elf_Internal_Ehdr *)(local_30->e_ident + 1);
  } while ((Elf_Internal_Ehdr *)&(filedata->file_header).e_entry != local_30);
  putchar(10);
  uVar1 = (filedata->file_header).e_ident[4];
  pcVar7 = "ELF32";
  if (uVar1 != '\x01') {
    if (uVar1 == '\0') {
      pcVar7 = (char *)dcgettext(0,&DAT_00076afd,5);
    }
    else {
      pcVar7 = "ELF64";
      if (uVar1 != '\x02') {
        pcVar7 = (char *)dcgettext(0,"<unknown: %x>",5);
        snprintf(buff_17378,0x20,pcVar7,uVar1);
        pcVar7 = buff_17378;
      }
    }
  }
  pcVar8 = (char *)dcgettext(0,"  Class:                             %s\n",5);
  printf(pcVar8,pcVar7);
  uVar1 = (filedata->file_header).e_ident[5];
  if (uVar1 == '\x01') {
    pcVar7 = "2\'s complement, little endian";
LAB_0003c46b:
    puVar12 = (undefined1 *)dcgettext(0,pcVar7,5);
  }
  else {
    if (uVar1 == '\0') {
      pcVar7 = "none";
      goto LAB_0003c46b;
    }
    if (uVar1 == '\x02') {
      pcVar7 = "2\'s complement, big endian";
      goto LAB_0003c46b;
    }
    puVar12 = buff_17386;
    pcVar7 = (char *)dcgettext(0,"<unknown: %x>",5);
    snprintf(buff_17386,0x20,pcVar7,uVar1);
  }
  pcVar8 = (char *)dcgettext(0,"  Data:                              %s\n",5);
  pcVar7 = "(current)";
  printf(pcVar8,puVar12);
  bVar21 = (filedata->file_header).e_ident[6];
  if ((bVar21 != 1) && (pcVar7 = "", bVar21 != 0)) {
    pcVar7 = (char *)dcgettext(0,"<unknown: %lx>",5);
    bVar21 = (filedata->file_header).e_ident[6];
  }
  pcVar8 = (char *)dcgettext(0,"  Version:                           %d %s\n",5);
  printf(pcVar8,(uint)bVar21,pcVar7);
  pcVar7 = get_osabi_name((Filedata *)&(filedata->file_header).e_machine,
                          (uint)(filedata->file_header).e_ident[7]);
  pcVar8 = (char *)dcgettext(0,"  OS/ABI:                            %s\n",5);
  printf(pcVar8,pcVar7);
  bVar21 = (filedata->file_header).e_ident[8];
  pcVar7 = (char *)dcgettext(0,"  ABI Version:                       %d\n",5);
  printf(pcVar7,(uint)bVar21);
  pcVar7 = get_file_type((uint)(filedata->file_header).e_type);
  pcVar8 = (char *)dcgettext(0,"  Type:                              %s\n",5);
  printf(pcVar8,pcVar7);
  pcVar7 = get_machine_name((uint)(filedata->file_header).e_machine);
  pcVar8 = (char *)dcgettext(0,"  Machine:                           %s\n",5);
  printf(pcVar8,pcVar7);
  uVar4 = (filedata->file_header).e_version;
  pcVar8 = (char *)dcgettext(0,"  Version:                           0x%lx\n",5);
  pcVar7 = "%lld";
  printf(pcVar8,uVar4);
  pcVar8 = "  Entry point address:               ";
  pcVar9 = (char *)dcgettext(0,"  Entry point address:               ",5);
  printf(pcVar9);
  print_vma(CONCAT44(pcVar8,pcVar9),(print_mode)(filedata->file_header).e_entry);
  pcVar8 = (char *)dcgettext(0,"\n  Start of program headers:          ",5);
  printf(pcVar8);
  printf("%lld",(int)(filedata->file_header).e_phoff,
         *(undefined4 *)((int)&(filedata->file_header).e_phoff + 4));
  pcVar8 = (char *)dcgettext(0," (bytes into file)\n  Start of section headers:          ",5);
  printf(pcVar8);
  printf("%lld",(int)(filedata->file_header).e_shoff,
         *(undefined4 *)((int)&(filedata->file_header).e_shoff + 4));
  pcVar8 = (char *)dcgettext(0," (bytes into file)\n",5);
  printf(pcVar8);
  local_38 = (Filedata *)(filedata->file_header).e_flags;
  uVar3 = (filedata->file_header).e_machine;
  buf_16750 = buf_16750 & 0xffffff00;
  if (local_38 == (Filedata *)0x0) goto LAB_0003b840;
  if (uVar3 == 0x5b) {
LAB_0003bdf2:
    if (((uint)local_38 & 0x10) != 0) {
      pcVar7 = ", new calling convention";
      pcVar8 = (char *)&buf_16750;
      for (iVar17 = 0x19; iVar17 != 0; iVar17 = iVar17 + -1) {
        *pcVar8 = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0x20) == 0) {
      local_38 = (Filedata *)(filedata->file_header).e_flags;
    }
    else {
      uVar19 = 0xffffffff;
      pcVar7 = (char *)&buf_16750;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        cVar2 = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
      } while (cVar2 != '\0');
      pcVar7 = ", gnu calling convention";
      pcVar8 = &DAT_000b579f + ~uVar19;
      for (iVar17 = 0x19; iVar17 != 0; iVar17 = iVar17 + -1) {
        *pcVar8 = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
      }
      local_38 = (Filedata *)(filedata->file_header).e_flags;
    }
    goto LAB_0003b840;
  }
  if (0x5b < uVar3) {
    if (uVar3 == 0xc3) {
LAB_0003cc32:
      switch((uint)local_38 & 0xff) {
      default:
        if (uVar3 == 0x5d) {
          puVar13 = (uint *)", Unknown ARCompact";
          puVar23 = &buf_16750;
          for (iVar17 = 5; iVar17 != 0; iVar17 = iVar17 + -1) {
            *puVar23 = *puVar13;
            puVar13 = puVar13 + (uint)bVar28 * -2 + 1;
            puVar23 = puVar23 + (uint)bVar28 * -2 + 1;
          }
        }
        else {
          pcVar7 = ", Unknown ARC";
          puVar13 = &buf_16750;
          for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {
            *(char *)puVar13 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);
          }
        }
        break;
      case 2:
        pcVar7 = ", ARC600";
        puVar13 = &buf_16750;
        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
          *(char *)puVar13 = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);
        }
        break;
      case 3:
        pcVar7 = ", ARC700";
        puVar13 = &buf_16750;
        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
          *(char *)puVar13 = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);
        }
        break;
      case 4:
        pcVar7 = ", ARC601";
        puVar13 = &buf_16750;
        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
          *(char *)puVar13 = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);
        }
        break;
      case 5:
        pcVar7 = ", ARC EM";
        puVar13 = &buf_16750;
        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
          *(char *)puVar13 = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);
        }
        break;
      case 6:
        pcVar7 = ", ARC HS";
        puVar13 = &buf_16750;
        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
          *(char *)puVar13 = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);
        }
      }
      uVar19 = (uint)local_38 & 0xf00;
      puVar13 = &buf_16750;
      do {
        puVar23 = puVar13;
        uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;
        uVar18 = uVar22 & 0x80808080;
        puVar13 = puVar23 + 1;
      } while (uVar18 == 0);
      bVar26 = (uVar22 & 0x8080) == 0;
      if (bVar26) {
        uVar18 = uVar18 >> 0x10;
      }
      if (bVar26) {
        puVar13 = (uint *)((int)puVar23 + 6);
      }
      pcVar7 = (char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)));
      if (uVar19 == 0x200) {
        pcVar8 = ", (ABI:v2)";
        for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {
          *pcVar7 = *pcVar8;
          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        }
        local_38 = (Filedata *)(filedata->file_header).e_flags;
      }
      else if (uVar19 < 0x201) {
        if (uVar19 == 0) {
          pcVar8 = ", (ABI:legacy)";
          for (iVar17 = 0xf; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar7 = *pcVar8;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          }
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
        else {
LAB_0003e7fe:
          pcVar8 = ", unrecognised ARC OSABI flag";
          for (iVar17 = 0x1e; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar7 = *pcVar8;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          }
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
      }
      else if (uVar19 == 0x300) {
        pcVar8 = ", v3 no-legacy-syscalls ABI";
        for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {
          *(undefined4 *)pcVar7 = *(undefined4 *)pcVar8;
          pcVar8 = pcVar8 + ((uint)bVar28 * -2 + 1) * 4;
          pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;
        }
        local_38 = (Filedata *)(filedata->file_header).e_flags;
      }
      else {
        if (uVar19 != 0x400) goto LAB_0003e7fe;
        pcVar8 = ", v4 ABI";
        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
          *pcVar7 = *pcVar8;
          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        }
        local_38 = (Filedata *)(filedata->file_header).e_flags;
      }
    }
    else if (uVar3 < 0xc4) {
      if (uVar3 == 0x69) {
        pcVar7 = (char *)dcgettext(0,": architecture variant: ",5);
        puVar13 = &buf_16750;
        do {
          puVar23 = puVar13;
          uVar18 = *puVar23 + 0xfefefeff & ~*puVar23;
          uVar19 = uVar18 & 0x80808080;
          puVar13 = puVar23 + 1;
        } while (uVar19 == 0);
        bVar26 = (uVar18 & 0x8080) == 0;
        if (bVar26) {
          uVar19 = uVar19 >> 0x10;
        }
        if (bVar26) {
          puVar13 = (uint *)((int)puVar23 + 6);
        }
        pcVar8 = stpcpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar19,(byte)uVar19))),
                        pcVar7);
        uVar19 = ((uint)local_38 & 0xff) - 0xb;
        iVar17 = extraout_ECX;
        if (uVar19 < 100) {
          iVar17 = (int)&_GLOBAL_OFFSET_TABLE_ + (&switchD_0003d36f::switchdataD_0008dec0)[uVar19];
          switch((uint)local_38 & 0xff) {
          case 0xb:
            pcVar7 = "MSP430x11";
            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
              *pcVar8 = *pcVar7;
              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
            }
            break;
          case 0xc:
            pcVar7 = "MSP430x12";
            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
              *pcVar8 = *pcVar7;
              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
            }
            break;
          case 0xd:
            pcVar7 = "MSP430x13";
            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
              *pcVar8 = *pcVar7;
              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
            }
            break;
          case 0xe:
            pcVar7 = "MSP430x14";
            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
              *pcVar8 = *pcVar7;
              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
            }
            break;
          case 0xf:
            pcVar7 = "MSP430x15";
            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
              *pcVar8 = *pcVar7;
              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
            }
            break;
          case 0x10:
            pcVar7 = "MSP430x16";
            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
              *pcVar8 = *pcVar7;
              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
            }
            break;
          default:
            goto _L11134;
          case 0x1f:
            pcVar7 = "MSP430x31";
            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
              *pcVar8 = *pcVar7;
              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
            }
            break;
          case 0x20:
            pcVar7 = "MSP430x32";
            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
              *pcVar8 = *pcVar7;
              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
            }
            break;
          case 0x21:
            pcVar7 = "MSP430x33";
            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
              *pcVar8 = *pcVar7;
              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
            }
            break;
          case 0x29:
            pcVar7 = "MSP430x41";
            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
              *pcVar8 = *pcVar7;
              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
            }
            break;
          case 0x2a:
            pcVar7 = "MSP430x42";
            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
              *pcVar8 = *pcVar7;
              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
            }
            break;
          case 0x2b:
            pcVar7 = "MSP430x43";
            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
              *pcVar8 = *pcVar7;
              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
            }
            break;
          case 0x2c:
            pcVar7 = "MSP430x44";
            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
              *pcVar8 = *pcVar7;
              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
            }
            break;
          case 0x2d:
            builtin_strncpy(pcVar8,"MSP430X",8);
            break;
          case 0x6e:
            pcVar7 = "MSP430x11x1 ";
            for (iVar17 = 0xd; iVar17 != 0; iVar17 = iVar17 + -1) {
              *pcVar8 = *pcVar7;
              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
            }
          }
        }
        else {
_L11134:
          pcVar7 = (char *)0x0;
          pcVar8 = (char *)dcgettext(0,": unknown",5,iVar17);
          strcat((char *)&buf_16750,pcVar8);
        }
        if (((uint)local_38 & 0xffffff00) == 0) {
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
        else {
          pcVar7 = (char *)dcgettext(0,": unknown extra flag bits also present",5,pcVar7);
          strcat((char *)&buf_16750,pcVar7);
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
      }
      else if (uVar3 < 0x6a) {
        if (uVar3 == 0x5d) goto LAB_0003cc32;
        if (uVar3 < 0x5d) {
          if (((uint)local_38 & 1) != 0) {
            pcVar7 = ", no delay";
            pcVar8 = (char *)&buf_16750;
            for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {
              *pcVar8 = *pcVar7;
              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
            }
            local_38 = (Filedata *)(filedata->file_header).e_flags;
          }
        }
        else if (uVar3 == 99) goto LAB_0003bdf2;
      }
      else if (uVar3 == 0x8c) {
        if (((uint)local_38 & 1) != 0) {
          pcVar7 = ", relocatable module";
          puVar13 = &buf_16750;
          for (iVar17 = 0x15; iVar17 != 0; iVar17 = iVar17 + -1) {
            *(char *)puVar13 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);
          }
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
      }
      else if (uVar3 < 0x8d) {
        if (uVar3 == 0x6a) {
          if (((uint)local_38 & 1) != 0) {
            buf_16750 = 0x4950202c;
            DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x43);
          }
          if (((uint)local_38 & 2) != 0) {
            uVar19 = 0xffffffff;
            pcVar7 = (char *)&buf_16750;
            do {
              if (uVar19 == 0) break;
              uVar19 = uVar19 - 1;
              cVar2 = *pcVar7;
              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            } while (cVar2 != '\0');
            *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x4446202c;
            *(undefined4 *)((int)&buf_16750 + ~uVar19 + 3) = 0x434950;
          }
          if (((uint)local_38 & 0x10) != 0) {
            uVar19 = 0xffffffff;
            pcVar7 = (char *)&buf_16750;
            do {
              if (uVar19 == 0) break;
              uVar19 = uVar19 - 1;
              cVar2 = *pcVar7;
              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            } while (cVar2 != '\0');
            pcVar7 = ", code in L1";
            pcVar8 = &DAT_000b579f + ~uVar19;
            for (iVar17 = 0xd; iVar17 != 0; iVar17 = iVar17 + -1) {
              *pcVar8 = *pcVar7;
              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
            }
          }
          if (((uint)local_38 & 0x20) == 0) {
            local_38 = (Filedata *)(filedata->file_header).e_flags;
          }
          else {
            uVar19 = 0xffffffff;
            pcVar7 = (char *)&buf_16750;
            do {
              if (uVar19 == 0) break;
              uVar19 = uVar19 - 1;
              cVar2 = *pcVar7;
              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            } while (cVar2 != '\0');
            pcVar7 = ", data in L1";
            pcVar8 = &DAT_000b579f + ~uVar19;
            for (iVar17 = 0xd; iVar17 != 0; iVar17 = iVar17 + -1) {
              *pcVar8 = *pcVar7;
              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
            }
            local_38 = (Filedata *)(filedata->file_header).e_flags;
          }
        }
      }
      else if (uVar3 == 0xa7) {
        uVar19 = (uint)local_38 & 0xf0000000;
        uVar18 = (uint)local_38 & 0xf0;
        puVar24 = &buf_16750;
        for (iVar17 = 0x100; iVar17 != 0; iVar17 = iVar17 + -1) {
          *puVar24 = 0;
          puVar24 = puVar24 + (uint)bVar28 * -2 + 1;
        }
        if (uVar18 == 0x20) {
LAB_0003d15d:
          iVar17 = snprintf((char *)&buf_16750,0x400,", %s",
                            *(undefined4 *)(ABI_STRINGS_16718 + (uVar18 >> 4) * 4));
        }
        else {
          if (uVar18 < 0x21) {
            if ((uVar18 == 0) || (uVar18 == 0x10)) goto LAB_0003d15d;
          }
          else if ((uVar18 == 0x40) || ((uVar18 == 0x50 || (uVar18 == 0x30)))) goto LAB_0003d15d;
          buf_16750 = 0x753c202c;
          iVar17 = 0x14;
          DAT_000b57a4 = 0x6365726e;
          _DAT_000b57a8 = 0x696e676f;
          DAT_000b57ac = 0x2064657a;
          DAT_000b57b0 = 0x3e494241;
          DAT_000b57b4 = 0;
        }
        if (((uint)local_38 & 0xf) < 3) {
          iVar11 = snprintf((char *)((int)&buf_16750 + iVar17),0x400U - iVar17,", %s",
                            *(undefined4 *)(VER_STRINGS_16719 + ((uint)local_38 & 0xf) * 4));
          uVar22 = iVar17 + iVar11;
        }
        else {
          uVar22 = iVar17 + 0x23;
          snprintf((char *)((int)&buf_16750 + iVar17),0x400U - iVar17,
                   ", <unrecognized ELF version number>");
        }
        sVar15 = 0x400 - uVar22;
        pcVar7 = (char *)((int)&buf_16750 + uVar22);
        if (uVar18 == 0) {
          iVar17 = snprintf(pcVar7,sVar15,", Andes Star v1.0, N1213HC, MAC, PERF1",&buf_16750);
          if (uVar19 == 0x10000000) {
            snprintf((char *)(uVar22 + 0xb57c6),0x400 - (uVar22 + 0x26),", 16b",iVar17);
            local_38 = (Filedata *)(filedata->file_header).e_flags;
          }
          else {
            local_38 = (Filedata *)(filedata->file_header).e_flags;
          }
        }
        else if (uVar19 == 0x20000000) {
LAB_0003d678:
          iVar17 = snprintf(pcVar7,sVar15,", %s",
                            *(undefined4 *)(ARCH_STRINGS_16720 + ((uint)local_38 >> 0x1c) * 4));
          iVar17 = iVar17 + uVar22;
          uVar18 = (uint)local_38 & 0x100;
          uVar16 = extraout_ECX_00;
          if (uVar19 == 0x10000000) {
            if (uVar18 != 0) {
              sVar15 = 0x400 - iVar17;
              pcVar7 = (char *)((int)&buf_16750 + iVar17);
              iVar17 = iVar17 + 10;
              uVar18 = snprintf(pcVar7,sVar15,", MFUSR_PC",uVar18);
              uVar16 = extraout_ECX_20;
            }
            if (((uint)local_38 & 0x100000) == 0) {
              sVar15 = 0x400 - iVar17;
              pcVar7 = (char *)((int)&buf_16750 + iVar17);
              iVar17 = iVar17 + 5;
              uVar18 = snprintf(pcVar7,sVar15,", MAC",uVar18);
              uVar16 = extraout_ECX_19;
            }
            if (((uint)local_38 & 0x2000) != 0) {
              sVar15 = 0x400 - iVar17;
              pcVar7 = (char *)((int)&buf_16750 + iVar17);
              iVar17 = iVar17 + 5;
              uVar18 = snprintf(pcVar7,sVar15,", DIV",uVar18);
              uVar16 = extraout_ECX_18;
            }
            if (((uint)local_38 & 0x4000) != 0) {
              sVar15 = 0x400 - iVar17;
              pcVar7 = (char *)((int)&buf_16750 + iVar17);
              iVar17 = iVar17 + 5;
              uVar18 = snprintf(pcVar7,sVar15,", 16b",uVar18);
              uVar16 = extraout_ECX_10;
            }
          }
          else {
            if (uVar18 != 0) {
              sVar15 = 0x400 - iVar17;
              pcVar7 = (char *)((int)&buf_16750 + iVar17);
              if (((uint)local_38 & 0xe) == 0) {
                iVar17 = iVar17 + 6;
                uVar18 = snprintf(pcVar7,sVar15,", [B8]",uVar22);
                uVar16 = extraout_ECX_01;
              }
              else {
                iVar17 = iVar17 + 5;
                uVar18 = snprintf(pcVar7,sVar15,", EX9",extraout_EDX_00);
                uVar16 = extraout_ECX_11;
              }
            }
            if (((uint)local_38 & 0x100000) != 0) {
              sVar15 = 0x400 - iVar17;
              pcVar7 = (char *)((int)&buf_16750 + iVar17);
              iVar17 = iVar17 + 8;
              uVar18 = snprintf(pcVar7,sVar15,", MAC_DX",uVar18);
              uVar16 = extraout_ECX_09;
            }
            if (((uint)local_38 & 0x2000) != 0) {
              sVar15 = 0x400 - iVar17;
              pcVar7 = (char *)((int)&buf_16750 + iVar17);
              iVar17 = iVar17 + 8;
              uVar18 = snprintf(pcVar7,sVar15,", DIV_DX",uVar18);
              uVar16 = extraout_ECX_14;
            }
            if (((uint)local_38 & 0x4000) != 0) {
              sVar15 = 0x400 - iVar17;
              pcVar7 = (char *)((int)&buf_16750 + iVar17);
              uVar19 = (uint)local_38 & 0xffffff0e;
              if (((uint)local_38 & 0xe) == 0) {
                pcVar8 = ", 16b";
                uVar19 = uVar22;
              }
              else {
                pcVar8 = ", IFC";
              }
              iVar17 = iVar17 + 5;
              uVar18 = snprintf(pcVar7,sVar15,pcVar8,uVar19);
              uVar16 = extraout_ECX_02;
            }
          }
          if (((uint)local_38 & 0x200) != 0) {
            sVar15 = 0x400 - iVar17;
            pcVar7 = (char *)((int)&buf_16750 + iVar17);
            iVar17 = iVar17 + 7;
            uVar18 = snprintf(pcVar7,sVar15,", PERF1",uVar18);
            uVar16 = extraout_ECX_13;
          }
          if (((uint)local_38 & 0x400) != 0) {
            sVar15 = 0x400 - iVar17;
            pcVar7 = (char *)((int)&buf_16750 + iVar17);
            iVar17 = iVar17 + 7;
            snprintf(pcVar7,sVar15,", PERF2",uVar18);
            uVar16 = extraout_ECX_12;
          }
          uVar19 = (uint)local_38 & 0x1000000;
          if (((uint)local_38 & 0x800) == 0) {
            pFVar14 = local_38;
            if (((uint)local_38 & 0x80000) != 0) {
LAB_0003eba3:
              sVar15 = 0x400 - iVar17;
              pcVar7 = (char *)((int)&buf_16750 + iVar17);
              iVar17 = iVar17 + 8;
              pFVar14 = (Filedata *)snprintf(pcVar7,sVar15,", FPU_DP",pFVar14);
              goto LAB_0003ebc4;
            }
            if (uVar19 != 0) goto LAB_0003ebc8;
          }
          else {
            sVar15 = 0x400 - iVar17;
            pcVar7 = (char *)((int)&buf_16750 + iVar17);
            iVar17 = iVar17 + 8;
            pFVar14 = (Filedata *)snprintf(pcVar7,sVar15,", FPU_SP",local_38);
            if (((uint)local_38 & 0x80000) != 0) goto LAB_0003eba3;
LAB_0003ebc4:
            if (uVar19 != 0) {
LAB_0003ebc8:
              sVar15 = 0x400 - iVar17;
              pcVar7 = (char *)((int)&buf_16750 + iVar17);
              iVar17 = iVar17 + 9;
              snprintf(pcVar7,sVar15,", FPU_MAC",pFVar14);
            }
            sVar15 = 0x400 - iVar17;
            pcVar7 = (char *)((int)&buf_16750 + iVar17);
            uVar18 = (uint)local_38 >> 0x16 & 3;
            if (uVar18 == 2) {
              pcVar8 = ", FPU_REG:32/16";
              uVar18 = uVar19;
            }
            else {
              if (uVar18 != 3) {
                if (uVar18 == 1) {
                  iVar17 = iVar17 + 0xe;
                  pFVar14 = (Filedata *)snprintf(pcVar7,sVar15,", FPU_REG:16/8",0);
                  uVar16 = extraout_ECX_16;
                }
                else {
                  iVar17 = iVar17 + 0xd;
                  pFVar14 = (Filedata *)snprintf(pcVar7,sVar15,", FPU_REG:8/4",uVar19);
                  uVar16 = extraout_ECX_06;
                }
                goto LAB_0003d76f;
              }
              pcVar8 = ", FPU_REG:32/32";
              uVar18 = 3;
            }
            iVar17 = iVar17 + 0xf;
            pFVar14 = (Filedata *)snprintf(pcVar7,sVar15,pcVar8,uVar18);
            uVar16 = extraout_ECX_17;
          }
LAB_0003d76f:
          if (((uint)local_38 & 0x1000) != 0) {
            sVar15 = 0x400 - iVar17;
            pcVar7 = (char *)((int)&buf_16750 + iVar17);
            iVar17 = iVar17 + 7;
            pFVar14 = (Filedata *)snprintf(pcVar7,sVar15,", AUDIO",pFVar14);
            uVar16 = extraout_ECX_05;
          }
          if (((uint)local_38 & 0x8000) != 0) {
            sVar15 = 0x400 - iVar17;
            pcVar7 = (char *)((int)&buf_16750 + iVar17);
            iVar17 = iVar17 + 5;
            pFVar14 = (Filedata *)snprintf(pcVar7,sVar15,", STR",pFVar14);
            uVar16 = extraout_ECX_08;
          }
          if (((uint)local_38 & 0x10000) != 0) {
            sVar15 = 0x400 - iVar17;
            pcVar7 = (char *)((int)&buf_16750 + iVar17);
            iVar17 = iVar17 + 7;
            snprintf(pcVar7,sVar15,", 16REG",pFVar14);
            uVar16 = extraout_ECX_07;
          }
          if (((uint)local_38 & 0x20000) != 0) {
            sVar15 = 0x400 - iVar17;
            pcVar7 = (char *)((int)&buf_16750 + iVar17);
            if (((uint)local_38 & 0xe) == 0) {
              iVar17 = iVar17 + 7;
              snprintf(pcVar7,sVar15,", VIDEO",uVar19);
              uVar16 = extraout_ECX_03;
            }
            else {
              iVar17 = iVar17 + 0xc;
              snprintf(pcVar7,sVar15,", SATURATION",(uint)local_38 & 0xffffff0e);
              uVar16 = extraout_ECX_15;
            }
          }
          if (((uint)local_38 & 0x40000) != 0) {
            sVar15 = 0x400 - iVar17;
            pcVar7 = (char *)((int)&buf_16750 + iVar17);
            iVar17 = iVar17 + 7;
            snprintf(pcVar7,sVar15,", ENCRP",uVar19);
            uVar16 = extraout_ECX_04;
          }
          if (((uint)local_38 & 0x200000) == 0) {
            local_38 = (Filedata *)(filedata->file_header).e_flags;
          }
          else {
            snprintf((char *)((int)&buf_16750 + iVar17),0x400 - iVar17,", L2C",uVar16);
            local_38 = (Filedata *)(filedata->file_header).e_flags;
          }
        }
        else {
          if (uVar19 < 0x20000001) {
            if (uVar19 == 0x10000000) goto LAB_0003d678;
          }
          else if ((uVar19 == 0x30000000) || (uVar19 == 0x40000000)) goto LAB_0003d678;
          snprintf(pcVar7,sVar15,", <unrecognized architecture>");
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
      }
      else if (uVar3 == 0xad) {
        if (((uint)local_38 & 1) != 0) {
          pcVar7 = ", 64-bit doubles";
          puVar13 = &buf_16750;
          for (iVar17 = 0x11; iVar17 != 0; iVar17 = iVar17 + -1) {
            *(char *)puVar13 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);
          }
        }
        if (((uint)local_38 & 2) != 0) {
          uVar19 = 0xffffffff;
          puVar13 = &buf_16750;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            uVar18 = *puVar13;
            puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);
          } while ((char)uVar18 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x7364202c;
          *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 0x70;
        }
        if (((uint)local_38 & 4) != 0) {
          uVar19 = 0xffffffff;
          puVar13 = &buf_16750;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            uVar18 = *puVar13;
            puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);
          } while ((char)uVar18 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x6970202c;
          *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 100;
        }
        if (((uint)local_38 & 8) != 0) {
          uVar19 = 0xffffffff;
          puVar13 = &buf_16750;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            uVar18 = *puVar13;
            puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);
          } while ((char)uVar18 != '\0');
          pcVar7 = ", RX ABI";
          pcVar8 = &DAT_000b579f + ~uVar19;
          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
        }
        if (((uint)local_38 & 0x40) != 0) {
          puVar13 = &buf_16750;
          pcVar7 = ", uses String instructions";
          if (((uint)local_38 & 0x80) == 0) {
            pcVar7 = ", bans String instructions";
          }
          do {
            puVar23 = puVar13;
            uVar18 = *puVar23 + 0xfefefeff & ~*puVar23;
            uVar19 = uVar18 & 0x80808080;
            puVar13 = puVar23 + 1;
          } while (uVar19 == 0);
          bVar26 = (uVar18 & 0x8080) == 0;
          if (bVar26) {
            uVar19 = uVar19 >> 0x10;
          }
          if (bVar26) {
            puVar13 = (uint *)((int)puVar23 + 6);
          }
          pcVar8 = (char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar19,(byte)uVar19)));
          *(undefined4 *)pcVar8 = *(undefined4 *)pcVar7;
          *(undefined4 *)(pcVar8 + 4) = *(undefined4 *)(pcVar7 + 4);
          *(undefined4 *)(pcVar8 + 8) = *(undefined4 *)(pcVar7 + 8);
          *(undefined4 *)(pcVar8 + 0xc) = *(undefined4 *)(pcVar7 + 0xc);
          *(undefined4 *)(pcVar8 + 0x10) = *(undefined4 *)(pcVar7 + 0x10);
          *(undefined4 *)(pcVar8 + 0x14) = *(undefined4 *)(pcVar7 + 0x14);
          cVar2 = pcVar7[0x1a];
          *(undefined2 *)(pcVar8 + 0x18) = *(undefined2 *)(pcVar7 + 0x18);
          pcVar8[0x1a] = cVar2;
        }
        if (((uint)local_38 & 0x100) == 0) {
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
        else {
          uVar19 = 0xffffffff;
          puVar13 = &buf_16750;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            uVar18 = *puVar13;
            puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);
          } while ((char)uVar18 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x3256202c;
          *(undefined1 *)((int)&buf_16750 + ~uVar19 + 3) = 0;
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
      }
    }
    else if (uVar3 == 0xfa) {
      uVar19 = (uint)local_38 >> 8 & 0xffff;
      if (uVar19 == 0x3200) {
        pcVar7 = ", NFP-32xx";
        puVar13 = &buf_16750;
        for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {
          *(char *)puVar13 = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);
        }
        local_38 = (Filedata *)(filedata->file_header).e_flags;
      }
      else if (uVar19 == 0x6000) {
        pcVar7 = ", NFP-6xxx";
        puVar13 = &buf_16750;
        for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {
          *(char *)puVar13 = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);
        }
        local_38 = (Filedata *)(filedata->file_header).e_flags;
      }
    }
    else if (uVar3 < 0xfb) {
      if (uVar3 == 0xdd) {
        if (((uint)local_38 & 1) == 0) {
          if (((uint)local_38 & 2) != 0) {
            buf_16750 = 0x636d202c;
            DAT_000b57a4 = 0x34326d;
          }
        }
        else {
          buf_16750 = 0x636d202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x6d);
        }
        if (((uint)local_38 & 4) == 0) {
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
        else {
          uVar19 = 0xffffffff;
          pcVar7 = (char *)&buf_16750;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            cVar2 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          } while (cVar2 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x7267202c;
          *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 0x36;
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
      }
      else if (uVar3 == 0xf3) {
        if (((uint)local_38 & 1) != 0) {
          buf_16750 = 0x5652202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x43);
        }
        if (((uint)local_38 & 8) != 0) {
          uVar19 = 0xffffffff;
          pcVar7 = (char *)&buf_16750;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            cVar2 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          } while (cVar2 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x5652202c;
          *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 0x45;
        }
        uVar19 = (uint)local_38 & 6;
        if (uVar19 == 2) {
          uVar19 = 0xffffffff;
          pcVar7 = (char *)&buf_16750;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            cVar2 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          } while (cVar2 != '\0');
          pcVar7 = ", single-float ABI";
          pcVar8 = &DAT_000b579f + ~uVar19;
          for (iVar17 = 0x13; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
        else if (uVar19 < 3) {
          if (uVar19 == 0) {
            uVar19 = 0xffffffff;
            pcVar7 = (char *)&buf_16750;
            do {
              if (uVar19 == 0) break;
              uVar19 = uVar19 - 1;
              cVar2 = *pcVar7;
              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            } while (cVar2 != '\0');
            pcVar7 = ", soft-float ABI";
            pcVar8 = &DAT_000b579f + ~uVar19;
            for (iVar17 = 0x11; iVar17 != 0; iVar17 = iVar17 + -1) {
              *pcVar8 = *pcVar7;
              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
            }
            local_38 = (Filedata *)(filedata->file_header).e_flags;
          }
          else {
LAB_0003e76f:
            local_38 = (Filedata *)(filedata->file_header).e_flags;
          }
        }
        else if (uVar19 == 4) {
          uVar19 = 0xffffffff;
          pcVar7 = (char *)&buf_16750;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            cVar2 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          } while (cVar2 != '\0');
          pcVar7 = ", double-float ABI";
          pcVar8 = &DAT_000b579f + ~uVar19;
          for (iVar17 = 0x13; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
        else {
          if (uVar19 != 6) goto LAB_0003e76f;
          uVar19 = 0xffffffff;
          pcVar7 = (char *)&buf_16750;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            cVar2 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          } while (cVar2 != '\0');
          pcVar7 = ", quad-float ABI";
          pcVar8 = &DAT_000b579f + ~uVar19;
          for (iVar17 = 0x11; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
      }
      else if (uVar3 == 0xc5) {
        uVar19 = (uint)local_38 & 0xc;
        if (uVar19 == 8) {
          buf_16750 = 0x3147202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x33);
        }
        else if (uVar19 == 0xc) {
          buf_16750 = 0x3147202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x34);
        }
        else if (uVar19 == 4) {
          buf_16750 = 0x3147202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x30);
        }
        if (((uint)local_38 & 1) == 0) {
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
        else {
          uVar19 = 0xffffffff;
          pcVar7 = (char *)&buf_16750;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            cVar2 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          } while (cVar2 != '\0');
          pcVar7 = ", 64-bit doubles";
          pcVar8 = &DAT_000b579f + ~uVar19;
          for (iVar17 = 0x11; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
      }
    }
    else if (uVar3 == 0x9041) {
LAB_0003bb50:
      if (((uint)local_38 & 0x30000000) == 0) {
        puVar12 = &DAT_0007ca93;
        puVar24 = &buf_16750;
        for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {
          *(undefined1 *)puVar24 = *puVar12;
          puVar12 = puVar12 + (uint)bVar28 * -2 + 1;
          puVar24 = (undefined4 *)((int)puVar24 + (uint)bVar28 * -2 + 1);
        }
        local_38 = (Filedata *)(filedata->file_header).e_flags;
      }
    }
    else if (uVar3 < 0x9042) {
      if (uVar3 == 0x5441) {
        uVar19 = (uint)local_38 & 0xff000000;
        if (uVar19 == 0x4000000) {
          pcVar7 = ", tomcat";
          pcVar8 = (char *)&buf_16750;
          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
        else if (uVar19 < 0x4000001) {
          if (uVar19 == 0x1000000) {
            buf_16750 = 0x7266202c;
            DAT_000b57a4 = 0x303035;
            local_38 = (Filedata *)(filedata->file_header).e_flags;
          }
          else if (uVar19 < 0x1000001) {
            if (uVar19 != 0) {
LAB_0003d4b1:
              buf_16750 = 0x7266202c;
              DAT_000b57a4 = 0x3f3f3f;
              local_38 = (Filedata *)(filedata->file_header).e_flags;
            }
          }
          else if (uVar19 == 0x2000000) {
            buf_16750 = 0x7266202c;
            DAT_000b57a4 = 0x303033;
            local_38 = (Filedata *)(filedata->file_header).e_flags;
          }
          else {
            if (uVar19 != 0x3000000) goto LAB_0003d4b1;
            pcVar7 = ", simple";
            pcVar8 = (char *)&buf_16750;
            for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
              *pcVar8 = *pcVar7;
              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
            }
            local_38 = (Filedata *)(filedata->file_header).e_flags;
          }
        }
        else if (uVar19 == 0x6000000) {
          buf_16750 = 0x7266202c;
          DAT_000b57a4 = 0x303535;
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
        else if (uVar19 < 0x6000001) {
          if (uVar19 != 0x5000000) goto LAB_0003d4b1;
          buf_16750 = 0x7266202c;
          DAT_000b57a4 = 0x303034;
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
        else if (uVar19 == 0x7000000) {
          buf_16750 = 0x7266202c;
          DAT_000b57a4 = 0x353034;
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
        else {
          if (uVar19 != 0x8000000) goto LAB_0003d4b1;
          buf_16750 = 0x7266202c;
          DAT_000b57a4 = 0x303534;
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
      }
    }
    else {
      if (uVar3 == 0x9080) goto LAB_0003c0c0;
      if (uVar3 == 0xf00d) {
        uVar19 = (uint)local_38 & 0xff000000;
        if (uVar19 == 0x2000000) {
          pcVar7 = ", MeP C3";
          pcVar8 = (char *)&buf_16750;
          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
        }
        else if (uVar19 < 0x2000001) {
          if (uVar19 == 0) {
            pcVar7 = ", generic MeP";
            pcVar8 = (char *)&buf_16750;
            for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {
              *pcVar8 = *pcVar7;
              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
            }
          }
          else if (uVar19 == 0x1000000) {
            pcVar7 = ", MeP C2";
            pcVar8 = (char *)&buf_16750;
            for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
              *pcVar8 = *pcVar7;
              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
            }
          }
          else {
LAB_0003ba2e:
            pcVar7 = (char *)dcgettext(0,", <unknown MeP cpu type>",5,&DAT_00076943);
            strcat((char *)&buf_16750,pcVar7);
          }
        }
        else if (uVar19 == 0x8000000) {
          pcVar7 = ", MeP C5";
          pcVar8 = (char *)&buf_16750;
          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
        }
        else if (uVar19 == 0x10000000) {
          pcVar7 = ", MeP H1";
          pcVar8 = (char *)&buf_16750;
          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
        }
        else {
          if (uVar19 != 0x4000000) goto LAB_0003ba2e;
          pcVar7 = ", MeP C4";
          pcVar8 = (char *)&buf_16750;
          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
        }
        local_34 = (Filedata *)&buf_16750;
        pEVar10 = (Elf32_Ehdr *)((uint)local_38 & 0xff0000);
        if (pEVar10 == (Elf32_Ehdr *)0x20000) {
          uVar19 = 0xffffffff;
          pEVar10 = (Elf32_Ehdr *)0x0;
          pFVar14 = local_34;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            cVar2 = *(char *)pFVar14;
            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
          } while (cVar2 != '\0');
          pcVar7 = ", AVC2 coprocessor";
          pcVar8 = &DAT_000b579f + ~uVar19;
          for (iVar17 = 0x13; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
        }
        else if (pEVar10 < (Elf32_Ehdr *)0x20001) {
          if (pEVar10 != (Elf32_Ehdr *)0x0) {
            if (pEVar10 == &Elf32_Ehdr_00010000) {
              uVar19 = 0xffffffff;
              pEVar10 = (Elf32_Ehdr *)0x0;
              pFVar14 = local_34;
              do {
                if (uVar19 == 0) break;
                uVar19 = uVar19 - 1;
                cVar2 = *(char *)pFVar14;
                pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
              } while (cVar2 != '\0');
              pcVar7 = ", AVC coprocessor";
              pcVar8 = &DAT_000b579f + ~uVar19;
              for (iVar17 = 0x12; iVar17 != 0; iVar17 = iVar17 + -1) {
                *pcVar8 = *pcVar7;
                pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
                pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
              }
            }
            else {
LAB_0003e6fc:
              pcVar7 = (char *)dcgettext(0,"<unknown MeP copro type>",5,pEVar10);
              pEVar10 = (Elf32_Ehdr *)strcat((char *)&buf_16750,pcVar7);
            }
          }
        }
        else if (pEVar10 == (Elf32_Ehdr *)0x30000) {
          uVar19 = 0xffffffff;
          pEVar10 = (Elf32_Ehdr *)0x0;
          pFVar14 = local_34;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            cVar2 = *(char *)pFVar14;
            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
          } while (cVar2 != '\0');
          pcVar7 = ", FMAX coprocessor";
          pcVar8 = &DAT_000b579f + ~uVar19;
          for (iVar17 = 0x13; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
        }
        else {
          if (pEVar10 != (Elf32_Ehdr *)0x60000) goto LAB_0003e6fc;
          uVar19 = 0xffffffff;
          pEVar10 = (Elf32_Ehdr *)0x0;
          pFVar14 = local_34;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            cVar2 = *(char *)pFVar14;
            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
          } while (cVar2 != '\0');
          pcVar7 = ", IVC2 coprocessor";
          pcVar8 = &DAT_000b579f + ~uVar19;
          for (iVar17 = 0x13; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
        }
        if (((uint)local_38 & 0x100) != 0) {
          uVar19 = 0xffffffff;
          pEVar10 = (Elf32_Ehdr *)0x0;
          pFVar14 = local_34;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            cVar2 = *(char *)pFVar14;
            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
          } while (cVar2 != '\0');
          pcVar7 = ", Built for Library";
          puVar24 = (undefined4 *)(&DAT_000b579f + ~uVar19);
          for (iVar17 = 5; iVar17 != 0; iVar17 = iVar17 + -1) {
            *puVar24 = *(undefined4 *)pcVar7;
            pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;
            puVar24 = puVar24 + (uint)bVar28 * -2 + 1;
          }
        }
        if (((uint)local_38 & 0xff) != 0) {
          uVar19 = 0xffffffff;
          pFVar14 = local_34;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            cVar2 = *(char *)pFVar14;
            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
          } while (cVar2 != '\0');
          pEVar10 = (Elf32_Ehdr *)
                    sprintf(&DAT_000b579f + ~uVar19,", Configuration Index: %#x",
                            (uint)local_38 & 0xff,0);
        }
        if (((uint)local_38 & 0xfe00) == 0) {
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
        else {
          pcVar7 = (char *)dcgettext(0,", unknown flags bits: %#x",5,pEVar10);
          uVar19 = 0xffffffff;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            cVar2 = *(char *)local_34;
            local_34 = (Filedata *)((int)local_34 + (uint)bVar28 * -2 + 1);
          } while (cVar2 != '\0');
          sprintf(&DAT_000b579f + ~uVar19,pcVar7,(uint)local_38 & 0xfe00);
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
      }
    }
    goto LAB_0003b840;
  }
  if (uVar3 == 0x24) {
    if (((uint)local_38 & 0xf0000000) == 0xf0000000) {
      puVar13 = (uint *)", RH850 ABI";
      puVar23 = &buf_16750;
      for (iVar17 = 3; iVar17 != 0; iVar17 = iVar17 + -1) {
        *puVar23 = *puVar13;
        puVar13 = puVar13 + (uint)bVar28 * -2 + 1;
        puVar23 = puVar23 + (uint)bVar28 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0x100000) != 0) {
      uVar19 = 0xffffffff;
      puVar13 = &buf_16750;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        uVar18 = *puVar13;
        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);
      } while ((char)uVar18 != '\0');
      pcVar7 = ", V3 architecture";
      pcVar8 = &DAT_000b579f + ~uVar19;
      for (iVar17 = 0x12; iVar17 != 0; iVar17 = iVar17 + -1) {
        *pcVar8 = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
      }
    }
    if (((uint)local_38 & 3) == 0) {
      uVar19 = 0xffffffff;
      puVar13 = &buf_16750;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        uVar18 = *puVar13;
        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);
      } while ((char)uVar18 != '\0');
      pcVar7 = ", FPU not used";
      pcVar8 = &DAT_000b579f + ~uVar19;
      for (iVar17 = 0xf; iVar17 != 0; iVar17 = iVar17 + -1) {
        *pcVar8 = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0x60) == 0) {
      uVar19 = 0xffffffff;
      puVar13 = &buf_16750;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        uVar18 = *puVar13;
        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);
      } while ((char)uVar18 != '\0');
      pcVar7 = ", regmode: COMMON";
      pcVar8 = &DAT_000b579f + ~uVar19;
      for (iVar17 = 0x12; iVar17 != 0; iVar17 = iVar17 + -1) {
        *pcVar8 = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0x300) == 0) {
      uVar19 = 0xffffffff;
      puVar13 = &buf_16750;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        uVar18 = *puVar13;
        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);
      } while ((char)uVar18 != '\0');
      pcVar7 = ", r4 not used";
      pcVar8 = &DAT_000b579f + ~uVar19;
      for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {
        *pcVar8 = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0xc00) == 0) {
      uVar19 = 0xffffffff;
      puVar13 = &buf_16750;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        uVar18 = *puVar13;
        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);
      } while ((char)uVar18 != '\0');
      pcVar7 = ", r30 not used";
      pcVar8 = &DAT_000b579f + ~uVar19;
      for (iVar17 = 0xf; iVar17 != 0; iVar17 = iVar17 + -1) {
        *pcVar8 = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0x3000) == 0) {
      uVar19 = 0xffffffff;
      puVar13 = &buf_16750;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        uVar18 = *puVar13;
        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);
      } while ((char)uVar18 != '\0');
      pcVar7 = ", r5 not used";
      pcVar8 = &DAT_000b579f + ~uVar19;
      for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {
        *pcVar8 = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0xc000) == 0) {
      uVar19 = 0xffffffff;
      puVar13 = &buf_16750;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        uVar18 = *puVar13;
        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);
      } while ((char)uVar18 != '\0');
      pcVar7 = ", r2 not used";
      pcVar8 = &DAT_000b579f + ~uVar19;
      for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {
        *pcVar8 = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
      }
    }
    uVar19 = (uint)local_38 & 0xffff;
    if (uVar19 == 0) {
      local_38 = (Filedata *)(filedata->file_header).e_flags;
    }
    else {
      do {
        uVar18 = -uVar19 & uVar19;
        puVar13 = &buf_16750;
        if (uVar18 == 0x200) {
          do {
            puVar23 = puVar13;
            uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;
            uVar18 = uVar22 & 0x80808080;
            puVar13 = puVar23 + 1;
          } while (uVar18 == 0);
          bVar26 = (uVar22 & 0x8080) == 0;
          if (bVar26) {
            uVar18 = uVar18 >> 0x10;
          }
          if (bVar26) {
            puVar13 = (uint *)((int)puVar23 + 6);
          }
          builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))),
                          ", r4 free",10);
        }
        else if (uVar18 < 0x201) {
          if (uVar18 == 0x20) {
            do {
              puVar23 = puVar13;
              uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;
              uVar18 = uVar22 & 0x80808080;
              puVar13 = puVar23 + 1;
            } while (uVar18 == 0);
            bVar26 = (uVar22 & 0x8080) == 0;
            if (bVar26) {
              uVar18 = uVar18 >> 0x10;
            }
            if (bVar26) {
              puVar13 = (uint *)((int)puVar23 + 6);
            }
            builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))),
                            ", regmode:22",0xd);
          }
          else if (uVar18 < 0x21) {
            if (uVar18 == 1) {
              do {
                puVar23 = puVar13;
                uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;
                uVar18 = uVar22 & 0x80808080;
                puVar13 = puVar23 + 1;
              } while (uVar18 == 0);
              bVar26 = (uVar22 & 0x8080) == 0;
              if (bVar26) {
                uVar18 = uVar18 >> 0x10;
              }
              if (bVar26) {
                puVar13 = (uint *)((int)puVar23 + 6);
              }
              builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))
                                      ),", double precision FPU",0x17);
            }
            else if (uVar18 == 2) {
              do {
                puVar23 = puVar13;
                uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;
                uVar18 = uVar22 & 0x80808080;
                puVar13 = puVar23 + 1;
              } while (uVar18 == 0);
              bVar26 = (uVar22 & 0x8080) == 0;
              if (bVar26) {
                uVar18 = uVar18 >> 0x10;
              }
              if (bVar26) {
                puVar13 = (uint *)((int)puVar23 + 6);
              }
              builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))
                                      ),", single precision FPU",0x17);
            }
          }
          else if (uVar18 == 0x40) {
            do {
              puVar23 = puVar13;
              uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;
              uVar18 = uVar22 & 0x80808080;
              puVar13 = puVar23 + 1;
            } while (uVar18 == 0);
            bVar26 = (uVar22 & 0x8080) == 0;
            if (bVar26) {
              uVar18 = uVar18 >> 0x10;
            }
            if (bVar26) {
              puVar13 = (uint *)((int)puVar23 + 6);
            }
            builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))),
                            ", regmode:23",0xd);
          }
          else if (uVar18 == 0x100) {
            do {
              puVar23 = puVar13;
              uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;
              uVar18 = uVar22 & 0x80808080;
              puVar13 = puVar23 + 1;
            } while (uVar18 == 0);
            bVar26 = (uVar22 & 0x8080) == 0;
            if (bVar26) {
              uVar18 = uVar18 >> 0x10;
            }
            if (bVar26) {
              puVar13 = (uint *)((int)puVar23 + 6);
            }
            builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))),
                            ", r4 fixed",0xb);
          }
        }
        else if (uVar18 == 0x1000) {
          do {
            puVar23 = puVar13;
            uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;
            uVar18 = uVar22 & 0x80808080;
            puVar13 = puVar23 + 1;
          } while (uVar18 == 0);
          bVar26 = (uVar22 & 0x8080) == 0;
          if (bVar26) {
            uVar18 = uVar18 >> 0x10;
          }
          if (bVar26) {
            puVar13 = (uint *)((int)puVar23 + 6);
          }
          builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))),
                          ", r5 fixed",0xb);
        }
        else if (uVar18 < 0x1001) {
          if (uVar18 == 0x400) {
            do {
              puVar23 = puVar13;
              uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;
              uVar18 = uVar22 & 0x80808080;
              puVar13 = puVar23 + 1;
            } while (uVar18 == 0);
            bVar26 = (uVar22 & 0x8080) == 0;
            if (bVar26) {
              uVar18 = uVar18 >> 0x10;
            }
            if (bVar26) {
              puVar13 = (uint *)((int)puVar23 + 6);
            }
            builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))),
                            ", r30 fixed",0xc);
          }
          else if (uVar18 == 0x800) {
            do {
              puVar23 = puVar13;
              uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;
              uVar18 = uVar22 & 0x80808080;
              puVar13 = puVar23 + 1;
            } while (uVar18 == 0);
            bVar26 = (uVar22 & 0x8080) == 0;
            if (bVar26) {
              uVar18 = uVar18 >> 0x10;
            }
            if (bVar26) {
              puVar13 = (uint *)((int)puVar23 + 6);
            }
            builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))),
                            ", r30 free",0xb);
          }
        }
        else if (uVar18 == 0x4000) {
          do {
            puVar23 = puVar13;
            uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;
            uVar18 = uVar22 & 0x80808080;
            puVar13 = puVar23 + 1;
          } while (uVar18 == 0);
          bVar26 = (uVar22 & 0x8080) == 0;
          if (bVar26) {
            uVar18 = uVar18 >> 0x10;
          }
          if (bVar26) {
            puVar13 = (uint *)((int)puVar23 + 6);
          }
          builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))),
                          ", r2 fixed",0xb);
        }
        else if (uVar18 == 0x8000) {
          do {
            puVar23 = puVar13;
            uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;
            uVar18 = uVar22 & 0x80808080;
            puVar13 = puVar23 + 1;
          } while (uVar18 == 0);
          bVar26 = (uVar22 & 0x8080) == 0;
          if (bVar26) {
            uVar18 = uVar18 >> 0x10;
          }
          if (bVar26) {
            puVar13 = (uint *)((int)puVar23 + 6);
          }
          builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))),
                          ", r2 free",10);
        }
        else if (uVar18 == 0x2000) {
          do {
            puVar23 = puVar13;
            uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;
            uVar18 = uVar22 & 0x80808080;
            puVar13 = puVar23 + 1;
          } while (uVar18 == 0);
          bVar26 = (uVar22 & 0x8080) == 0;
          if (bVar26) {
            uVar18 = uVar18 >> 0x10;
          }
          if (bVar26) {
            puVar13 = (uint *)((int)puVar23 + 6);
          }
          builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))),
                          ", r5 free",10);
        }
        uVar19 = uVar19 & uVar19 - 1;
      } while (uVar19 != 0);
      local_38 = (Filedata *)(filedata->file_header).e_flags;
    }
    goto LAB_0003b840;
  }
  if (0x24 < uVar3) {
    if (uVar3 == 0x32) {
      if (((uint)local_38 & 0x10) == 0) {
        buf_16750 = 0x3233202c;
      }
      else {
        buf_16750 = 0x3436202c;
      }
      _DAT_000b57a8 = _DAT_000b57a8 & 0xffffff00;
      DAT_000b57a4 = 0x7469622d;
      if (((uint)local_38 & 0x20) != 0) {
        uVar19 = 0xffffffff;
        pcVar7 = (char *)&buf_16750;
        do {
          if (uVar19 == 0) break;
          uVar19 = uVar19 - 1;
          cVar2 = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        } while (cVar2 != '\0');
        pcVar7 = ", reduced fp model";
        pcVar8 = &DAT_000b579f + ~uVar19;
        for (iVar17 = 0x13; iVar17 != 0; iVar17 = iVar17 + -1) {
          *pcVar8 = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
        }
      }
      if (((uint)local_38 & 0x80) == 0) {
        if (((uint)local_38 & 0x40) != 0) {
          uVar19 = 0xffffffff;
          pcVar7 = (char *)&buf_16750;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            cVar2 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          } while (cVar2 != '\0');
          pcVar7 = ", constant gp";
          pcVar8 = &DAT_000b579f + ~uVar19;
          for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
        }
      }
      else {
        uVar19 = 0xffffffff;
        pcVar7 = (char *)&buf_16750;
        do {
          if (uVar19 == 0) break;
          uVar19 = uVar19 - 1;
          cVar2 = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        } while (cVar2 != '\0');
        pcVar7 = ", no function descriptors, constant gp";
        pcVar8 = &DAT_000b579f + ~uVar19;
        for (iVar17 = 0x27; iVar17 != 0; iVar17 = iVar17 + -1) {
          *pcVar8 = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
        }
      }
      if (((uint)local_38 & 0x100) != 0) {
        uVar19 = 0xffffffff;
        pcVar7 = (char *)&buf_16750;
        do {
          if (uVar19 == 0) break;
          uVar19 = uVar19 - 1;
          cVar2 = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        } while (cVar2 != '\0');
        pcVar7 = ", absolute";
        pcVar8 = &DAT_000b579f + ~uVar19;
        for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {
          *pcVar8 = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
        }
      }
      if ((filedata->file_header).e_ident[7] == '\r') {
        if (((uint)local_38 & 4) != 0) {
          uVar19 = 0xffffffff;
          pcVar7 = (char *)&buf_16750;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            cVar2 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          } while (cVar2 != '\0');
          pcVar7 = ", vms_linkages";
          pcVar8 = &DAT_000b579f + ~uVar19;
          for (iVar17 = 0xf; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
        }
        uVar19 = (uint)local_38 & 3;
        if (uVar19 == 2) {
          uVar19 = 0xffffffff;
          pcVar7 = (char *)&buf_16750;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            cVar2 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          } while (cVar2 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x7265202c;
          *(undefined4 *)((int)&buf_16750 + ~uVar19 + 3) = 0x726f72;
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
        else if (uVar19 == 3) {
          uVar19 = 0xffffffff;
          pcVar7 = (char *)&buf_16750;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            cVar2 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          } while (cVar2 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x6261202c;
          *(undefined4 *)((int)&buf_16750 + ~uVar19 + 3) = 0x74726f;
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
        else if (uVar19 == 1) {
          uVar19 = 0xffffffff;
          pcVar7 = (char *)&buf_16750;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            cVar2 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          } while (cVar2 != '\0');
          pcVar7 = ", warning";
          pcVar8 = &DAT_000b579f + ~uVar19;
          for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
        else {
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
      }
      else {
        local_38 = (Filedata *)(filedata->file_header).e_flags;
      }
    }
    else if (uVar3 < 0x33) {
      if (uVar3 == 0x2a) {
        switch((uint)local_38 & 0x1f) {
        default:
          pcVar7 = (char *)dcgettext(0,", unknown ISA",5,&DAT_00076943);
          strcat((char *)&buf_16750,pcVar7);
          break;
        case 1:
          buf_16750 = 0x6873202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x31);
          break;
        case 2:
          buf_16750 = 0x6873202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x32);
          break;
        case 3:
          buf_16750 = 0x6873202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x33);
          break;
        case 4:
          pcVar7 = ", sh-dsp";
          pcVar8 = (char *)&buf_16750;
          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
          break;
        case 5:
          pcVar7 = ", sh3-dsp";
          pcVar8 = (char *)&buf_16750;
          for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
          break;
        case 6:
          pcVar7 = ", sh4al-dsp";
          puVar24 = &buf_16750;
          for (iVar17 = 3; iVar17 != 0; iVar17 = iVar17 + -1) {
            *puVar24 = *(undefined4 *)pcVar7;
            pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;
            puVar24 = puVar24 + (uint)bVar28 * -2 + 1;
          }
          break;
        case 8:
          pcVar7 = ", sh3e";
          pcVar8 = (char *)&buf_16750;
          for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
          break;
        case 9:
          buf_16750 = 0x6873202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x34);
          break;
        case 10:
          buf_16750 = 0x6873202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x35);
          break;
        case 0xb:
          pcVar7 = ", sh2e";
          pcVar8 = (char *)&buf_16750;
          for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
          break;
        case 0xc:
          pcVar7 = ", sh4a";
          pcVar8 = (char *)&buf_16750;
          for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
          break;
        case 0xd:
          pcVar7 = ", sh2a";
          pcVar8 = (char *)&buf_16750;
          for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
          break;
        case 0x10:
          pcVar7 = ", sh4-nofpu";
          puVar24 = &buf_16750;
          for (iVar17 = 3; iVar17 != 0; iVar17 = iVar17 + -1) {
            *puVar24 = *(undefined4 *)pcVar7;
            pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;
            puVar24 = puVar24 + (uint)bVar28 * -2 + 1;
          }
          break;
        case 0x11:
          pcVar7 = ", sh4a-nofpu";
          pcVar8 = (char *)&buf_16750;
          for (iVar17 = 0xd; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
          break;
        case 0x12:
          pcVar7 = ", sh4-nommu-nofpu";
          pcVar8 = (char *)&buf_16750;
          for (iVar17 = 0x12; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
          break;
        case 0x13:
          pcVar7 = ", sh2a-nofpu";
          pcVar8 = (char *)&buf_16750;
          for (iVar17 = 0xd; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
          break;
        case 0x14:
          pcVar7 = ", sh3-nommu";
          puVar24 = &buf_16750;
          for (iVar17 = 3; iVar17 != 0; iVar17 = iVar17 + -1) {
            *puVar24 = *(undefined4 *)pcVar7;
            pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;
            puVar24 = puVar24 + (uint)bVar28 * -2 + 1;
          }
          break;
        case 0x15:
          pcVar7 = ", sh2a-nofpu-or-sh4-nommu-nofpu";
          puVar24 = &buf_16750;
          for (iVar17 = 8; iVar17 != 0; iVar17 = iVar17 + -1) {
            *puVar24 = *(undefined4 *)pcVar7;
            pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;
            puVar24 = puVar24 + (uint)bVar28 * -2 + 1;
          }
          break;
        case 0x16:
          pcVar7 = ", sh2a-nofpu-or-sh3-nommu";
          pcVar8 = (char *)&buf_16750;
          for (iVar17 = 0x1a; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
          break;
        case 0x17:
          pcVar7 = ", sh2a-or-sh4";
          pcVar8 = (char *)&buf_16750;
          for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
          break;
        case 0x18:
          pcVar7 = ", sh2a-or-sh3e";
          pcVar8 = (char *)&buf_16750;
          for (iVar17 = 0xf; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
        }
        local_34 = (Filedata *)&buf_16750;
        if (((uint)local_38 & 0x100) != 0) {
          uVar19 = 0xffffffff;
          pFVar14 = local_34;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            cVar2 = *(char *)pFVar14;
            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
          } while (cVar2 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x6970202c;
          *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 99;
        }
        if (((uint)local_38 & 0x8000) == 0) {
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
        else {
          uVar19 = 0xffffffff;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            cVar2 = *(char *)local_34;
            local_34 = (Filedata *)((int)local_34 + (uint)bVar28 * -2 + 1);
          } while (cVar2 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x6466202c;
          *(undefined4 *)((int)&buf_16750 + ~uVar19 + 3) = 0x636970;
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
      }
      else if (uVar3 == 0x2b) {
        if (((uint)local_38 & 0x100) != 0) {
          buf_16750 = 0x3876202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x2b);
        }
        if (((uint)local_38 & 0x200) != 0) {
          uVar19 = 0xffffffff;
          pcVar7 = (char *)&buf_16750;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            cVar2 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          } while (cVar2 != '\0');
          pcVar7 = ", ultrasparcI";
          pcVar8 = &DAT_000b579f + ~uVar19;
          for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
        }
        if (((uint)local_38 & 0x800) != 0) {
          uVar19 = 0xffffffff;
          pcVar7 = (char *)&buf_16750;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            cVar2 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          } while (cVar2 != '\0');
          pcVar7 = ", ultrasparcIII";
          puVar24 = (undefined4 *)(&DAT_000b579f + ~uVar19);
          for (iVar17 = 4; iVar17 != 0; iVar17 = iVar17 + -1) {
            *puVar24 = *(undefined4 *)pcVar7;
            pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;
            puVar24 = puVar24 + (uint)bVar28 * -2 + 1;
          }
        }
        if (((uint)local_38 & 0x400) != 0) {
          uVar19 = 0xffffffff;
          pcVar7 = (char *)&buf_16750;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            cVar2 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          } while (cVar2 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x6168202c;
          *(undefined4 *)((int)&buf_16750 + ~uVar19 + 3) = 0x31726c;
        }
        if (((uint)local_38 & 0x800000) != 0) {
          uVar19 = 0xffffffff;
          pcVar7 = (char *)&buf_16750;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            cVar2 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          } while (cVar2 != '\0');
          pcVar7 = ", ledata";
          pcVar8 = &DAT_000b579f + ~uVar19;
          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
        }
        uVar19 = (uint)local_38 & 3;
        if (uVar19 == 0) {
          uVar19 = 0xffffffff;
          pcVar7 = (char *)&buf_16750;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            cVar2 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          } while (cVar2 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x7374202c;
          *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 0x6f;
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
        else if (uVar19 == 1) {
          uVar19 = 0xffffffff;
          pcVar7 = (char *)&buf_16750;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            cVar2 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          } while (cVar2 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x7370202c;
          *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 0x6f;
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
        else if (uVar19 == 2) {
          uVar19 = 0xffffffff;
          pcVar7 = (char *)&buf_16750;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            cVar2 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          } while (cVar2 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x6d72202c;
          *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 0x6f;
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
        else {
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
      }
      else if (uVar3 == 0x28) {
        uVar19 = (uint)local_38 & 0xff000000;
        if (((uint)local_38 & 1) == 0) {
          local_38 = (Filedata *)((uint)local_38 & 0xffffff);
          pcVar7 = (char *)&buf_16750;
        }
        else {
          pcVar7 = &DAT_000b57b8;
          pcVar8 = ", relocatable executable";
          pcVar9 = (char *)&buf_16750;
          for (iVar17 = 0x19; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar9 = *pcVar8;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
            pcVar9 = pcVar9 + (uint)bVar28 * -2 + 1;
          }
          local_38 = (Filedata *)((uint)local_38 & 0xfffffe);
        }
        local_34 = (Filedata *)&buf_16750;
        if (((uint)local_38 & 0x20) != 0) {
          pcVar8 = ", position independent";
          for (iVar17 = 0x17; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar7 = *pcVar8;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          }
          local_38 = (Filedata *)((uint)local_38 & 0xffffffdf);
          uVar18 = 0xffffffff;
          pFVar14 = local_34;
          do {
            if (uVar18 == 0) break;
            uVar18 = uVar18 - 1;
            uVar22 = *(uint *)pFVar14;
            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
          } while ((char)uVar22 != '\0');
          pcVar7 = &DAT_000b579f + ~uVar18;
        }
        if (uVar19 == 0x2000000) {
          bVar26 = false;
          pcVar8 = ", Version2 EABI";
          for (iVar17 = 4; iVar17 != 0; iVar17 = iVar17 + -1) {
            *(undefined4 *)pcVar7 = *(undefined4 *)pcVar8;
            pcVar8 = pcVar8 + ((uint)bVar28 * -2 + 1) * 4;
            pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;
          }
          if (local_38 != (Filedata *)0x0) {
            do {
              uVar19 = -(int)local_38 & (uint)local_38;
              local_38 = (Filedata *)((uint)local_38 & ~uVar19);
              if (uVar19 == 8) {
                uVar19 = 0xffffffff;
                pFVar14 = local_34;
                do {
                  if (uVar19 == 0) break;
                  uVar19 = uVar19 - 1;
                  uVar18 = *(uint *)pFVar14;
                  pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
                } while ((char)uVar18 != '\0');
                pcVar7 = ", dynamic symbols use segment index";
                puVar24 = (undefined4 *)(&DAT_000b579f + ~uVar19);
                for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
                  *puVar24 = *(undefined4 *)pcVar7;
                  pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;
                  puVar24 = puVar24 + (uint)bVar28 * -2 + 1;
                }
              }
              else if (uVar19 == 0x10) {
                uVar19 = 0xffffffff;
                pFVar14 = local_34;
                do {
                  if (uVar19 == 0) break;
                  uVar19 = uVar19 - 1;
                  uVar18 = *(uint *)pFVar14;
                  pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
                } while ((char)uVar18 != '\0');
                pcVar7 = ", mapping symbols precede others";
                pcVar8 = &DAT_000b579f + ~uVar19;
                for (iVar17 = 0x21; iVar17 != 0; iVar17 = iVar17 + -1) {
                  *pcVar8 = *pcVar7;
                  pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
                  pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
                }
              }
              else if (uVar19 == 4) {
                uVar19 = 0xffffffff;
                pFVar14 = local_34;
                do {
                  if (uVar19 == 0) break;
                  uVar19 = uVar19 - 1;
                  uVar18 = *(uint *)pFVar14;
                  pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
                } while ((char)uVar18 != '\0');
                pcVar7 = ", sorted symbol tables";
                pcVar8 = &DAT_000b579f + ~uVar19;
                for (iVar17 = 0x17; iVar17 != 0; iVar17 = iVar17 + -1) {
                  *pcVar8 = *pcVar7;
                  pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
                  pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
                }
              }
              else {
                bVar26 = true;
              }
            } while (local_38 != (Filedata *)0x0);
            goto LAB_0003d8e9;
          }
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
        else if (uVar19 < 0x2000001) {
          if (uVar19 == 0) {
            bVar26 = false;
            pcVar8 = ", GNU EABI";
            for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {
              *pcVar7 = *pcVar8;
              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            }
            if (local_38 != (Filedata *)0x0) {
              do {
                uVar19 = -(int)local_38 & (uint)local_38;
                local_38 = (Filedata *)((uint)local_38 & ~uVar19);
                if (uVar19 == 0x40) {
                  uVar19 = 0xffffffff;
                  pFVar14 = local_34;
                  do {
                    if (uVar19 == 0) break;
                    uVar19 = uVar19 - 1;
                    uVar18 = *(uint *)pFVar14;
                    pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
                  } while ((char)uVar18 != '\0');
                  pcVar7 = ", 8 bit structure alignment";
                  puVar24 = (undefined4 *)(&DAT_000b579f + ~uVar19);
                  for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {
                    *puVar24 = *(undefined4 *)pcVar7;
                    pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;
                    puVar24 = puVar24 + (uint)bVar28 * -2 + 1;
                  }
                }
                else if (uVar19 < 0x41) {
                  if (uVar19 == 8) {
                    uVar19 = 0xffffffff;
                    pFVar14 = local_34;
                    do {
                      if (uVar19 == 0) break;
                      uVar19 = uVar19 - 1;
                      uVar18 = *(uint *)pFVar14;
                      pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
                    } while ((char)uVar18 != '\0');
                    pcVar7 = ", uses APCS/26";
                    pcVar8 = &DAT_000b579f + ~uVar19;
                    for (iVar17 = 0xf; iVar17 != 0; iVar17 = iVar17 + -1) {
                      *pcVar8 = *pcVar7;
                      pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
                      pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
                    }
                  }
                  else if (uVar19 < 9) {
                    if (uVar19 == 4) {
                      uVar19 = 0xffffffff;
                      pFVar14 = local_34;
                      do {
                        if (uVar19 == 0) break;
                        uVar19 = uVar19 - 1;
                        uVar18 = *(uint *)pFVar14;
                        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
                      } while ((char)uVar18 != '\0');
                      pcVar7 = ", interworking enabled";
                      pcVar8 = &DAT_000b579f + ~uVar19;
                      for (iVar17 = 0x17; iVar17 != 0; iVar17 = iVar17 + -1) {
                        *pcVar8 = *pcVar7;
                        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
                        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
                      }
                    }
                    else {
LAB_0003edd8:
                      bVar26 = true;
                    }
                  }
                  else if (uVar19 == 0x10) {
                    uVar19 = 0xffffffff;
                    pFVar14 = local_34;
                    do {
                      if (uVar19 == 0) break;
                      uVar19 = uVar19 - 1;
                      uVar18 = *(uint *)pFVar14;
                      pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
                    } while ((char)uVar18 != '\0');
                    pcVar7 = ", uses APCS/float";
                    pcVar8 = &DAT_000b579f + ~uVar19;
                    for (iVar17 = 0x12; iVar17 != 0; iVar17 = iVar17 + -1) {
                      *pcVar8 = *pcVar7;
                      pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
                      pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
                    }
                  }
                  else {
                    if (uVar19 != 0x20) goto LAB_0003edd8;
                    uVar19 = 0xffffffff;
                    pFVar14 = local_34;
                    do {
                      if (uVar19 == 0) break;
                      uVar19 = uVar19 - 1;
                      uVar18 = *(uint *)pFVar14;
                      pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
                    } while ((char)uVar18 != '\0');
                    pcVar7 = ", position independent";
                    pcVar8 = &DAT_000b579f + ~uVar19;
                    for (iVar17 = 0x17; iVar17 != 0; iVar17 = iVar17 + -1) {
                      *pcVar8 = *pcVar7;
                      pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
                      pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
                    }
                  }
                }
                else if (uVar19 == 0x200) {
                  uVar19 = 0xffffffff;
                  pFVar14 = local_34;
                  do {
                    if (uVar19 == 0) break;
                    uVar19 = uVar19 - 1;
                    uVar18 = *(uint *)pFVar14;
                    pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
                  } while ((char)uVar18 != '\0');
                  pcVar7 = ", software FP";
                  pcVar8 = &DAT_000b579f + ~uVar19;
                  for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {
                    *pcVar8 = *pcVar7;
                    pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
                    pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
                  }
                }
                else if (uVar19 < 0x201) {
                  if (uVar19 == 0x80) {
                    uVar19 = 0xffffffff;
                    pFVar14 = local_34;
                    do {
                      if (uVar19 == 0) break;
                      uVar19 = uVar19 - 1;
                      uVar18 = *(uint *)pFVar14;
                      pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
                    } while ((char)uVar18 != '\0');
                    pcVar7 = ", uses new ABI";
                    pcVar8 = &DAT_000b579f + ~uVar19;
                    for (iVar17 = 0xf; iVar17 != 0; iVar17 = iVar17 + -1) {
                      *pcVar8 = *pcVar7;
                      pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
                      pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
                    }
                  }
                  else {
                    if (uVar19 != 0x100) goto LAB_0003edd8;
                    uVar19 = 0xffffffff;
                    pFVar14 = local_34;
                    do {
                      if (uVar19 == 0) break;
                      uVar19 = uVar19 - 1;
                      uVar18 = *(uint *)pFVar14;
                      pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
                    } while ((char)uVar18 != '\0');
                    pcVar7 = ", uses old ABI";
                    pcVar8 = &DAT_000b579f + ~uVar19;
                    for (iVar17 = 0xf; iVar17 != 0; iVar17 = iVar17 + -1) {
                      *pcVar8 = *pcVar7;
                      pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
                      pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
                    }
                  }
                }
                else if (uVar19 == 0x400) {
                  uVar19 = 0xffffffff;
                  pFVar14 = local_34;
                  do {
                    if (uVar19 == 0) break;
                    uVar19 = uVar19 - 1;
                    uVar18 = *(uint *)pFVar14;
                    pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
                  } while ((char)uVar18 != '\0');
                  *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x4656202c;
                  *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 0x50;
                }
                else {
                  if (uVar19 != 0x800) goto LAB_0003edd8;
                  uVar19 = 0xffffffff;
                  pFVar14 = local_34;
                  do {
                    if (uVar19 == 0) break;
                    uVar19 = uVar19 - 1;
                    uVar18 = *(uint *)pFVar14;
                    pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
                  } while ((char)uVar18 != '\0');
                  pcVar7 = ", Maverick FP";
                  pcVar8 = &DAT_000b579f + ~uVar19;
                  for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {
                    *pcVar8 = *pcVar7;
                    pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
                    pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
                  }
                }
              } while (local_38 != (Filedata *)0x0);
              goto LAB_0003d8e9;
            }
            local_38 = (Filedata *)(filedata->file_header).e_flags;
          }
          else if (uVar19 == 0x1000000) {
            bVar26 = false;
            pcVar8 = ", Version1 EABI";
            for (iVar17 = 4; iVar17 != 0; iVar17 = iVar17 + -1) {
              *(undefined4 *)pcVar7 = *(undefined4 *)pcVar8;
              pcVar8 = pcVar8 + ((uint)bVar28 * -2 + 1) * 4;
              pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;
            }
            if (local_38 != (Filedata *)0x0) {
              do {
                uVar19 = -(int)local_38 & (uint)local_38;
                local_38 = (Filedata *)((uint)local_38 & ~uVar19);
                if (uVar19 == 4) {
                  uVar19 = 0xffffffff;
                  pFVar14 = local_34;
                  do {
                    if (uVar19 == 0) break;
                    uVar19 = uVar19 - 1;
                    uVar18 = *(uint *)pFVar14;
                    pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
                  } while ((char)uVar18 != '\0');
                  pcVar7 = ", sorted symbol tables";
                  pcVar8 = &DAT_000b579f + ~uVar19;
                  for (iVar17 = 0x17; iVar17 != 0; iVar17 = iVar17 + -1) {
                    *pcVar8 = *pcVar7;
                    pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
                    pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
                  }
                }
                else {
                  bVar26 = true;
                }
              } while (local_38 != (Filedata *)0x0);
              goto LAB_0003d8e9;
            }
            local_38 = (Filedata *)(filedata->file_header).e_flags;
          }
          else {
LAB_0003c1eb:
            pcVar8 = ", <unrecognized EABI>";
            for (iVar17 = 0x16; iVar17 != 0; iVar17 = iVar17 + -1) {
              *pcVar7 = *pcVar8;
              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            }
            if (local_38 == (Filedata *)0x0) {
              local_38 = (Filedata *)(filedata->file_header).e_flags;
            }
            else {
LAB_0003d8f4:
              pcVar7 = (char *)dcgettext(0,", <unknown>",5);
              strcat((char *)&buf_16750,pcVar7);
              local_38 = (Filedata *)(filedata->file_header).e_flags;
            }
          }
        }
        else if (uVar19 == 0x4000000) {
          pcVar8 = ", Version4 EABI";
          for (iVar17 = 4; iVar17 != 0; iVar17 = iVar17 + -1) {
            *(undefined4 *)pcVar7 = *(undefined4 *)pcVar8;
            pcVar8 = pcVar8 + ((uint)bVar28 * -2 + 1) * 4;
            pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;
          }
          bVar26 = false;
          if (local_38 == (Filedata *)0x0) {
            local_38 = (Filedata *)(filedata->file_header).e_flags;
          }
          else {
            do {
              uVar19 = -(int)local_38 & (uint)local_38;
              local_38 = (Filedata *)((uint)local_38 & ~uVar19);
              pFVar14 = local_34;
              if (uVar19 == 0x400000) {
                do {
                  puVar13 = (uint *)pFVar14;
                  uVar18 = *puVar13 + 0xfefefeff & ~*puVar13;
                  uVar19 = uVar18 & 0x80808080;
                  pFVar14 = (Filedata *)(puVar13 + 1);
                } while (uVar19 == 0);
                bVar27 = (uVar18 & 0x8080) == 0;
                if (bVar27) {
                  uVar19 = uVar19 >> 0x10;
                }
                puVar23 = puVar13 + 1;
                if (bVar27) {
                  puVar23 = (uint *)((int)puVar13 + 6);
                }
                builtin_strncpy((char *)((int)puVar23 +
                                        (-3 - (uint)CARRY1((byte)uVar19,(byte)uVar19))),", LE8",6);
              }
              else if (uVar19 == 0x800000) {
                do {
                  puVar13 = (uint *)pFVar14;
                  uVar18 = *puVar13 + 0xfefefeff & ~*puVar13;
                  uVar19 = uVar18 & 0x80808080;
                  pFVar14 = (Filedata *)(puVar13 + 1);
                } while (uVar19 == 0);
                bVar27 = (uVar18 & 0x8080) == 0;
                if (bVar27) {
                  uVar19 = uVar19 >> 0x10;
                }
                puVar23 = puVar13 + 1;
                if (bVar27) {
                  puVar23 = (uint *)((int)puVar13 + 6);
                }
                builtin_strncpy((char *)((int)puVar23 +
                                        (-3 - (uint)CARRY1((byte)uVar19,(byte)uVar19))),", BE8",6);
              }
              else {
                bVar26 = true;
              }
            } while (local_38 != (Filedata *)0x0);
LAB_0003d8e9:
            if (bVar26) goto LAB_0003d8f4;
            local_38 = (Filedata *)(filedata->file_header).e_flags;
          }
        }
        else if (uVar19 == 0x5000000) {
          bVar26 = false;
          pcVar8 = ", Version5 EABI";
          for (iVar17 = 4; iVar17 != 0; iVar17 = iVar17 + -1) {
            *(undefined4 *)pcVar7 = *(undefined4 *)pcVar8;
            pcVar8 = pcVar8 + ((uint)bVar28 * -2 + 1) * 4;
            pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;
          }
          if (local_38 != (Filedata *)0x0) {
            do {
              uVar19 = -(int)local_38 & (uint)local_38;
              local_38 = (Filedata *)((uint)local_38 & ~uVar19);
              if (uVar19 == 0x400) {
                uVar19 = 0xffffffff;
                pFVar14 = local_34;
                do {
                  if (uVar19 == 0) break;
                  uVar19 = uVar19 - 1;
                  uVar18 = *(uint *)pFVar14;
                  pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
                } while ((char)uVar18 != '\0');
                pcVar7 = ", hard-float ABI";
                pcVar8 = &DAT_000b579f + ~uVar19;
                for (iVar17 = 0x11; iVar17 != 0; iVar17 = iVar17 + -1) {
                  *pcVar8 = *pcVar7;
                  pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
                  pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
                }
              }
              else if (uVar19 < 0x401) {
                if (uVar19 == 0x200) {
                  uVar19 = 0xffffffff;
                  pFVar14 = local_34;
                  do {
                    if (uVar19 == 0) break;
                    uVar19 = uVar19 - 1;
                    uVar18 = *(uint *)pFVar14;
                    pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
                  } while ((char)uVar18 != '\0');
                  pcVar7 = ", soft-float ABI";
                  pcVar8 = &DAT_000b579f + ~uVar19;
                  for (iVar17 = 0x11; iVar17 != 0; iVar17 = iVar17 + -1) {
                    *pcVar8 = *pcVar7;
                    pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
                    pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
                  }
                }
                else {
LAB_0003ef43:
                  bVar26 = true;
                }
              }
              else if (uVar19 == 0x400000) {
                uVar19 = 0xffffffff;
                pFVar14 = local_34;
                do {
                  if (uVar19 == 0) break;
                  uVar19 = uVar19 - 1;
                  uVar18 = *(uint *)pFVar14;
                  pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
                } while ((char)uVar18 != '\0');
                *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x454c202c;
                *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 0x38;
              }
              else {
                if (uVar19 != 0x800000) goto LAB_0003ef43;
                uVar19 = 0xffffffff;
                pFVar14 = local_34;
                do {
                  if (uVar19 == 0) break;
                  uVar19 = uVar19 - 1;
                  uVar18 = *(uint *)pFVar14;
                  pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
                } while ((char)uVar18 != '\0');
                *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x4542202c;
                *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 0x38;
              }
            } while (local_38 != (Filedata *)0x0);
            goto LAB_0003d8e9;
          }
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
        else {
          if (uVar19 != 0x3000000) goto LAB_0003c1eb;
          pcVar8 = ", Version3 EABI";
          for (iVar17 = 4; iVar17 != 0; iVar17 = iVar17 + -1) {
            *(undefined4 *)pcVar7 = *(undefined4 *)pcVar8;
            pcVar8 = pcVar8 + ((uint)bVar28 * -2 + 1) * 4;
            pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;
          }
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
      }
    }
    else if (uVar3 == 0x53) {
      switch((uint)local_38 & 0x7f) {
      default:
        pcVar7 = ", avr:<unknown>";
        puVar24 = &buf_16750;
        for (iVar17 = 4; iVar17 != 0; iVar17 = iVar17 + -1) {
          *puVar24 = *(undefined4 *)pcVar7;
          pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;
          puVar24 = puVar24 + (uint)bVar28 * -2 + 1;
        }
        break;
      case 1:
        buf_16750 = 0x7661202c;
        DAT_000b57a4 = 0x313a72;
        break;
      case 2:
        buf_16750 = 0x7661202c;
        DAT_000b57a4 = 0x323a72;
        break;
      case 3:
        buf_16750 = 0x7661202c;
        DAT_000b57a4 = 0x333a72;
        break;
      case 4:
        buf_16750 = 0x7661202c;
        DAT_000b57a4 = 0x343a72;
        break;
      case 5:
        buf_16750 = 0x7661202c;
        DAT_000b57a4 = 0x353a72;
        break;
      case 6:
        buf_16750 = 0x7661202c;
        DAT_000b57a4 = 0x363a72;
        break;
      case 0x19:
        pcVar7 = ", avr:25";
        pcVar8 = (char *)&buf_16750;
        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
          *pcVar8 = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
        }
        break;
      case 0x1f:
        pcVar7 = ", avr:31";
        pcVar8 = (char *)&buf_16750;
        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
          *pcVar8 = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
        }
        break;
      case 0x23:
        pcVar7 = ", avr:35";
        pcVar8 = (char *)&buf_16750;
        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
          *pcVar8 = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
        }
        break;
      case 0x33:
        pcVar7 = ", avr:51";
        pcVar8 = (char *)&buf_16750;
        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
          *pcVar8 = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
        }
        break;
      case 100:
        pcVar7 = ", avr:100";
        pcVar8 = (char *)&buf_16750;
        for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
          *pcVar8 = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
        }
        break;
      case 0x65:
        pcVar7 = ", avr:101";
        pcVar8 = (char *)&buf_16750;
        for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
          *pcVar8 = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
        }
        break;
      case 0x66:
        pcVar7 = ", avr:102";
        pcVar8 = (char *)&buf_16750;
        for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
          *pcVar8 = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
        }
        break;
      case 0x67:
        pcVar7 = ", avr:103";
        pcVar8 = (char *)&buf_16750;
        for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
          *pcVar8 = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
        }
        break;
      case 0x68:
        pcVar7 = ", avr:104";
        pcVar8 = (char *)&buf_16750;
        for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
          *pcVar8 = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
        }
        break;
      case 0x69:
        pcVar7 = ", avr:105";
        pcVar8 = (char *)&buf_16750;
        for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
          *pcVar8 = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
        }
        break;
      case 0x6a:
        pcVar7 = ", avr:106";
        pcVar8 = (char *)&buf_16750;
        for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
          *pcVar8 = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
        }
        break;
      case 0x6b:
        pcVar7 = ", avr:107";
        pcVar8 = (char *)&buf_16750;
        for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
          *pcVar8 = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
        }
      }
      local_34 = (Filedata *)&buf_16750;
      if (((uint)local_38 & 0x80) == 0) {
        local_38 = (Filedata *)(filedata->file_header).e_flags;
      }
      else {
        iVar17 = -1;
        do {
          if (iVar17 == 0) break;
          iVar17 = iVar17 + -1;
          cVar2 = *(char *)local_34;
          local_34 = (Filedata *)((int)local_34 + (uint)bVar28 * -2 + 1);
        } while (cVar2 != '\0');
        strncat((char *)&buf_16750,", link-relax",iVar17 + 0x401);
        local_38 = (Filedata *)(filedata->file_header).e_flags;
      }
    }
    else if (uVar3 < 0x54) {
      if (uVar3 == 0x4b) {
        if (((uint)local_38 & 1) != 0) {
          pcVar7 = ", non-PIC";
          pcVar8 = (char *)&buf_16750;
          for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
        }
        if (((uint)local_38 & 0x100) != 0) {
          uVar19 = 0xffffffff;
          pcVar7 = (char *)&buf_16750;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            cVar2 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          } while (cVar2 != '\0');
          pcVar7 = ", D-Float";
          pcVar8 = &DAT_000b579f + ~uVar19;
          for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
        }
        if (((uint)local_38 & 0x200) == 0) {
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
        else {
          uVar19 = 0xffffffff;
          pcVar7 = (char *)&buf_16750;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            cVar2 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          } while (cVar2 != '\0');
          pcVar7 = ", G-Float";
          pcVar8 = &DAT_000b579f + ~uVar19;
          for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
      }
    }
    else if (uVar3 == 0x57) {
LAB_0003c0c0:
      uVar19 = (uint)local_38 & 0xf0000000;
      if (uVar19 == 0x20000000) {
        pcVar7 = ", v850e1";
        pcVar8 = (char *)&buf_16750;
        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
          *pcVar8 = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
        }
        local_38 = (Filedata *)(filedata->file_header).e_flags;
      }
      else if (uVar19 < 0x20000001) {
        if (uVar19 == 0) {
          pcVar7 = ", v850";
          pcVar8 = (char *)&buf_16750;
          for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {
            *pcVar8 = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
          }
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
        else if (uVar19 == 0x10000000) {
          buf_16750 = 0x3876202c;
          DAT_000b57a4 = 0x653035;
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
        else {
LAB_0003c0ff:
          pcVar7 = (char *)dcgettext(0,", unknown v850 architecture variant",5,&buf_16750);
          strcat((char *)&buf_16750,pcVar7);
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
      }
      else if (uVar19 == 0x40000000) {
        puVar12 = &DAT_0007ca6f;
        puVar24 = &buf_16750;
        for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {
          *(undefined1 *)puVar24 = *puVar12;
          puVar12 = puVar12 + (uint)bVar28 * -2 + 1;
          puVar24 = (undefined4 *)((int)puVar24 + (uint)bVar28 * -2 + 1);
        }
        local_38 = (Filedata *)(filedata->file_header).e_flags;
      }
      else if (uVar19 == 0x60000000) {
        puVar12 = &DAT_0007ca64;
        puVar24 = &buf_16750;
        for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {
          *(undefined1 *)puVar24 = *puVar12;
          puVar12 = puVar12 + (uint)bVar28 * -2 + 1;
          puVar24 = (undefined4 *)((int)puVar24 + (uint)bVar28 * -2 + 1);
        }
        local_38 = (Filedata *)(filedata->file_header).e_flags;
      }
      else {
        if (uVar19 != 0x30000000) goto LAB_0003c0ff;
        pcVar7 = ", v850e2";
        pcVar8 = (char *)&buf_16750;
        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
          *pcVar8 = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
        }
        local_38 = (Filedata *)(filedata->file_header).e_flags;
      }
    }
    else if (uVar3 == 0x58) goto LAB_0003bb50;
    goto LAB_0003b840;
  }
  if (uVar3 == 0xf) {
    uVar19 = (uint)local_38 & 0xffff;
    if (uVar19 == 0x210) {
      pcVar7 = ", PA-RISC 1.1";
      puVar13 = &buf_16750;
      for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {
        *(char *)puVar13 = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);
      }
    }
    else if (uVar19 == 0x214) {
      pcVar7 = ", PA-RISC 2.0";
      puVar13 = &buf_16750;
      for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {
        *(char *)puVar13 = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);
      }
    }
    else if (uVar19 == 0x20b) {
      pcVar7 = ", PA-RISC 1.0";
      puVar13 = &buf_16750;
      for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {
        *(char *)puVar13 = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);
      }
    }
    if (((uint)local_38 & 0x10000) != 0) {
      uVar19 = 0xffffffff;
      puVar13 = &buf_16750;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        uVar18 = *puVar13;
        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);
      } while ((char)uVar18 != '\0');
      pcVar7 = ", trapnil";
      pcVar8 = &DAT_000b579f + ~uVar19;
      for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
        *pcVar8 = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0x20000) != 0) {
      uVar19 = 0xffffffff;
      puVar13 = &buf_16750;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        uVar18 = *puVar13;
        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);
      } while ((char)uVar18 != '\0');
      *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x7865202c;
      *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 0x74;
    }
    if (((uint)local_38 & 0x40000) != 0) {
      uVar19 = 0xffffffff;
      puVar13 = &buf_16750;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        uVar18 = *puVar13;
        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);
      } while ((char)uVar18 != '\0');
      *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x736c202c;
      *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 0x62;
    }
    if (((uint)local_38 & 0x80000) != 0) {
      uVar19 = 0xffffffff;
      puVar13 = &buf_16750;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        uVar18 = *puVar13;
        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);
      } while ((char)uVar18 != '\0');
      pcVar7 = ", wide";
      pcVar8 = &DAT_000b579f + ~uVar19;
      for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {
        *pcVar8 = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0x100000) != 0) {
      uVar19 = 0xffffffff;
      puVar13 = &buf_16750;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        uVar18 = *puVar13;
        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);
      } while ((char)uVar18 != '\0');
      pcVar7 = ", no kabp";
      pcVar8 = &DAT_000b579f + ~uVar19;
      for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
        *pcVar8 = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0x400000) == 0) {
      local_38 = (Filedata *)(filedata->file_header).e_flags;
    }
    else {
      uVar19 = 0xffffffff;
      puVar13 = &buf_16750;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        uVar18 = *puVar13;
        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);
      } while ((char)uVar18 != '\0');
      pcVar7 = ", lazyswap";
      pcVar8 = &DAT_000b579f + ~uVar19;
      for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {
        *pcVar8 = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
      }
      local_38 = (Filedata *)(filedata->file_header).e_flags;
    }
    goto LAB_0003b840;
  }
  if (0xf < uVar3) {
    if (uVar3 == 0x15) {
      if (((uint)local_38 & 3) != 0) {
        abi[6] = (char)((uint)local_38 & 3) + '0';
        builtin_strncpy(abi,", abiv",6);
        abi[7] = '\0';
        strcpy((char *)&buf_16750,abi);
        local_38 = (Filedata *)(filedata->file_header).e_flags;
      }
    }
    else if (uVar3 == 0x16) {
      if (((uint)local_38 & 1) != 0) {
        pcVar7 = ", highgprs";
        pcVar8 = (char *)&buf_16750;
        for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {
          *pcVar8 = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
        }
        local_38 = (Filedata *)(filedata->file_header).e_flags;
      }
    }
    else if (uVar3 == 0x14) {
      if ((int)local_38 < 0) {
        buf_16750 = 0x6d65202c;
        DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x62);
      }
      if (((uint)local_38 & 0x10000) != 0) {
        pcVar7 = (char *)0x0;
        pcVar8 = (char *)dcgettext(0,", relocatable",5,&buf_16750);
        strcat((char *)&buf_16750,pcVar8);
      }
      if (((uint)local_38 & 0x8000) == 0) {
        local_38 = (Filedata *)(filedata->file_header).e_flags;
      }
      else {
        pcVar7 = (char *)dcgettext(0,", relocatable-lib",5,pcVar7);
        strcat((char *)&buf_16750,pcVar7);
        local_38 = (Filedata *)(filedata->file_header).e_flags;
      }
    }
    goto LAB_0003b840;
  }
  if ((uVar3 == 8) || (uVar3 == 10)) {
    pFVar14 = (Filedata *)&buf_16750;
    local_34 = (Filedata *)&buf_16750;
    pFVar25 = filedata;
    if (((uint)local_38 & 1) != 0) {
      pcVar7 = ", noreorder";
      pFVar25 = pFVar14;
      for (iVar17 = 3; iVar17 != 0; iVar17 = iVar17 + -1) {
        pFVar25->file_name = *(char **)pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -8 + 4;
        pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -8 + 4);
      }
    }
    pFVar20 = local_38;
    if (((uint)local_38 & 2) != 0) {
      uVar19 = 0xffffffff;
      pFVar25 = pFVar14;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        ppcVar5 = &pFVar25->file_name;
        pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -2 + 1);
      } while (*(char *)ppcVar5 != '\0');
      pFVar20 = (Filedata *)~uVar19;
      *(undefined4 *)((int)&pFVar20[0x1907].num_dump_sects + 3) = 0x6970202c;
      *(undefined2 *)((int)&pFVar20[0x1908].file_name + 3) = 99;
      pFVar25 = local_34;
    }
    if (((uint)local_38 & 4) != 0) {
      uVar19 = 0xffffffff;
      pFVar25 = pFVar14;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        ppcVar5 = &pFVar25->file_name;
        pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -2 + 1);
      } while (*(char *)ppcVar5 != '\0');
      pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);
      pcVar7 = ", cpic";
      pFVar25 = pFVar20;
      for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {
        *(char *)&pFVar25->file_name = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -2 + 1);
      }
    }
    if (((uint)local_38 & 0x10) != 0) {
      uVar19 = 0xffffffff;
      pFVar25 = pFVar14;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        ppcVar5 = &pFVar25->file_name;
        pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -2 + 1);
      } while (*(char *)ppcVar5 != '\0');
      pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);
      pcVar7 = ", ugen_reserved";
      pFVar25 = pFVar20;
      for (iVar17 = 4; iVar17 != 0; iVar17 = iVar17 + -1) {
        pFVar25->file_name = *(char **)pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -8 + 4;
        pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -8 + 4);
      }
    }
    if (((uint)local_38 & 0x20) != 0) {
      uVar19 = 0xffffffff;
      pFVar25 = pFVar14;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        ppcVar5 = &pFVar25->file_name;
        pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -2 + 1);
      } while (*(char *)ppcVar5 != '\0');
      pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);
      pcVar7 = ", abi2";
      pFVar25 = pFVar20;
      for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {
        *(char *)&pFVar25->file_name = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -2 + 1);
      }
    }
    if (((uint)local_38 & 0x80) != 0) {
      uVar19 = 0xffffffff;
      pFVar25 = pFVar14;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        ppcVar5 = &pFVar25->file_name;
        pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -2 + 1);
      } while (*(char *)ppcVar5 != '\0');
      pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);
      pcVar7 = ", odk first";
      pFVar25 = pFVar20;
      for (iVar17 = 3; iVar17 != 0; iVar17 = iVar17 + -1) {
        pFVar25->file_name = *(char **)pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -8 + 4;
        pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -8 + 4);
      }
    }
    if (((uint)local_38 & 0x100) != 0) {
      uVar19 = 0xffffffff;
      pFVar25 = pFVar14;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        ppcVar5 = &pFVar25->file_name;
        pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -2 + 1);
      } while (*(char *)ppcVar5 != '\0');
      pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);
      pcVar7 = ", 32bitmode";
      pFVar25 = pFVar20;
      for (iVar17 = 3; iVar17 != 0; iVar17 = iVar17 + -1) {
        pFVar25->file_name = *(char **)pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -8 + 4;
        pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -8 + 4);
      }
    }
    if (((uint)local_38 & 0x400) != 0) {
      uVar19 = 0xffffffff;
      pFVar25 = pFVar14;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        ppcVar5 = &pFVar25->file_name;
        pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -2 + 1);
      } while (*(char *)ppcVar5 != '\0');
      pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);
      pcVar7 = ", nan2008";
      pFVar25 = pFVar20;
      for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
        *(char *)&pFVar25->file_name = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -2 + 1);
      }
    }
    if (((uint)local_38 & 0x200) != 0) {
      uVar19 = 0xffffffff;
      pFVar25 = pFVar14;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        ppcVar5 = &pFVar25->file_name;
        pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -2 + 1);
      } while (*(char *)ppcVar5 != '\0');
      pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);
      pcVar7 = ", fp64";
      pFVar25 = pFVar20;
      for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {
        *(char *)&pFVar25->file_name = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -2 + 1);
      }
    }
    uVar19 = (uint)local_38 & 0xff0000;
    if (uVar19 == 0x8c0000) {
      uVar19 = 0xffffffff;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        ppcVar5 = &pFVar14->file_name;
        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
      } while (*(char *)ppcVar5 != '\0');
      pFVar14 = (Filedata *)&buf_16750;
      pFVar20 = (Filedata *)~uVar19;
      *(undefined4 *)((int)&pFVar20[0x1907].num_dump_sects + 3) = 0x6c78202c;
      *(undefined2 *)((int)&pFVar20[0x1908].file_name + 3) = 0x72;
    }
    else if (uVar19 < 0x8c0001) {
      if (uVar19 == 0x850000) {
        uVar19 = 0xffffffff;
        do {
          if (uVar19 == 0) break;
          uVar19 = uVar19 - 1;
          ppcVar5 = &pFVar14->file_name;
          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
        } while (*(char *)ppcVar5 != '\0');
        pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);
        pcVar7 = ", 4650";
        pFVar14 = pFVar20;
        for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {
          *(char *)&pFVar14->file_name = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
        }
      }
      else if (uVar19 < 0x850001) {
        if (uVar19 == 0x810000) {
          uVar19 = 0xffffffff;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            ppcVar5 = &pFVar14->file_name;
            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
          } while (*(char *)ppcVar5 != '\0');
          pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);
          pcVar7 = ", 3900";
          pFVar14 = pFVar20;
          for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {
            *(char *)&pFVar14->file_name = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
          }
        }
        else if (uVar19 < 0x810001) {
          pFVar14 = pFVar25;
          if (uVar19 != 0) goto LAB_0003d280;
        }
        else if (uVar19 == 0x820000) {
          uVar19 = 0xffffffff;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            ppcVar5 = &pFVar14->file_name;
            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
          } while (*(char *)ppcVar5 != '\0');
          pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);
          pcVar7 = ", 4010";
          pFVar14 = pFVar20;
          for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {
            *(char *)&pFVar14->file_name = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
          }
        }
        else {
          if (uVar19 != 0x830000) goto LAB_0003d280;
          uVar19 = 0xffffffff;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            ppcVar5 = &pFVar14->file_name;
            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
          } while (*(char *)ppcVar5 != '\0');
          pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);
          pcVar7 = ", 4100";
          pFVar14 = pFVar20;
          for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {
            *(char *)&pFVar14->file_name = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
          }
        }
      }
      else if (uVar19 == 0x880000) {
        uVar19 = 0xffffffff;
        do {
          if (uVar19 == 0) break;
          uVar19 = uVar19 - 1;
          ppcVar5 = &pFVar14->file_name;
          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
        } while (*(char *)ppcVar5 != '\0');
        pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);
        pcVar7 = ", 4111";
        pFVar14 = pFVar20;
        for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {
          *(char *)&pFVar14->file_name = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
        }
      }
      else if (uVar19 < 0x880001) {
        if (uVar19 != 0x870000) goto LAB_0003d280;
        uVar19 = 0xffffffff;
        do {
          if (uVar19 == 0) break;
          uVar19 = uVar19 - 1;
          ppcVar5 = &pFVar14->file_name;
          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
        } while (*(char *)ppcVar5 != '\0');
        pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);
        pcVar7 = ", 4120";
        pFVar14 = pFVar20;
        for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {
          *(char *)&pFVar14->file_name = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
        }
      }
      else if (uVar19 == 0x8a0000) {
        uVar19 = 0xffffffff;
        pFVar25 = pFVar14;
        do {
          if (uVar19 == 0) break;
          uVar19 = uVar19 - 1;
          ppcVar5 = &pFVar25->file_name;
          pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -2 + 1);
        } while (*(char *)ppcVar5 != '\0');
        pFVar20 = (Filedata *)~uVar19;
        *(undefined4 *)((int)&pFVar20[0x1907].num_dump_sects + 3) = 0x6273202c;
        *(undefined2 *)((int)&pFVar20[0x1908].file_name + 3) = 0x31;
      }
      else {
        if (uVar19 != 0x8b0000) goto LAB_0003d280;
        uVar19 = 0xffffffff;
        do {
          if (uVar19 == 0) break;
          uVar19 = uVar19 - 1;
          ppcVar5 = &pFVar14->file_name;
          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
        } while (*(char *)ppcVar5 != '\0');
        pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);
        pcVar7 = ", octeon";
        pFVar14 = pFVar20;
        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
          *(char *)&pFVar14->file_name = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
        }
      }
    }
    else if (uVar19 == 0x930000) {
      uVar19 = 0xffffffff;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        ppcVar5 = &pFVar14->file_name;
        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
      } while (*(char *)ppcVar5 != '\0');
      pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);
      pcVar7 = ", interaptiv-mr2";
      pFVar14 = pFVar20;
      for (iVar17 = 0x11; iVar17 != 0; iVar17 = iVar17 + -1) {
        *(char *)&pFVar14->file_name = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
      }
    }
    else if (uVar19 < 0x930001) {
      if (uVar19 == 0x8e0000) {
        uVar19 = 0xffffffff;
        do {
          if (uVar19 == 0) break;
          uVar19 = uVar19 - 1;
          ppcVar5 = &pFVar14->file_name;
          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
        } while (*(char *)ppcVar5 != '\0');
        pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);
        pcVar7 = ", octeon3";
        pFVar14 = pFVar20;
        for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
          *(char *)&pFVar14->file_name = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
        }
      }
      else if (uVar19 < 0x8e0001) {
        if (uVar19 == 0x8d0000) {
          uVar19 = 0xffffffff;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            ppcVar5 = &pFVar14->file_name;
            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
          } while (*(char *)ppcVar5 != '\0');
          pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);
          pcVar7 = ", octeon2";
          pFVar14 = pFVar20;
          for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
            *(char *)&pFVar14->file_name = *pcVar7;
            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
          }
        }
        else {
LAB_0003d280:
          pFVar14 = (Filedata *)0x0;
          pcVar7 = (char *)dcgettext(0,", unknown CPU",5,pcVar7);
          strcat((char *)&buf_16750,pcVar7);
          pFVar20 = extraout_EDX;
        }
      }
      else if (uVar19 == 0x910000) {
        uVar19 = 0xffffffff;
        do {
          if (uVar19 == 0) break;
          uVar19 = uVar19 - 1;
          ppcVar5 = &pFVar14->file_name;
          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
        } while (*(char *)ppcVar5 != '\0');
        pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);
        pcVar7 = ", 5400";
        pFVar14 = pFVar20;
        for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {
          *(char *)&pFVar14->file_name = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
        }
      }
      else {
        if (uVar19 != 0x920000) goto LAB_0003d280;
        uVar19 = 0xffffffff;
        do {
          if (uVar19 == 0) break;
          uVar19 = uVar19 - 1;
          ppcVar5 = &pFVar14->file_name;
          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
        } while (*(char *)ppcVar5 != '\0');
        pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);
        pcVar7 = ", 5900";
        pFVar14 = pFVar20;
        for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {
          *(char *)&pFVar14->file_name = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
        }
      }
    }
    else if (uVar19 == 0xa00000) {
      uVar19 = 0xffffffff;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        ppcVar5 = &pFVar14->file_name;
        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
      } while (*(char *)ppcVar5 != '\0');
      pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);
      pcVar7 = ", loongson-2e";
      pFVar14 = pFVar20;
      for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {
        *(char *)&pFVar14->file_name = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
      }
    }
    else if (uVar19 < 0xa00001) {
      if (uVar19 == 0x980000) {
        uVar19 = 0xffffffff;
        do {
          if (uVar19 == 0) break;
          uVar19 = uVar19 - 1;
          ppcVar5 = &pFVar14->file_name;
          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
        } while (*(char *)ppcVar5 != '\0');
        pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);
        pcVar7 = ", 5500";
        pFVar14 = pFVar20;
        for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {
          *(char *)&pFVar14->file_name = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
        }
      }
      else {
        if (uVar19 != 0x990000) goto LAB_0003d280;
        uVar19 = 0xffffffff;
        do {
          if (uVar19 == 0) break;
          uVar19 = uVar19 - 1;
          ppcVar5 = &pFVar14->file_name;
          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
        } while (*(char *)ppcVar5 != '\0');
        pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);
        pcVar7 = ", 9000";
        pFVar14 = pFVar20;
        for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {
          *(char *)&pFVar14->file_name = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
        }
      }
    }
    else if (uVar19 == 0xa10000) {
      uVar19 = 0xffffffff;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        ppcVar5 = &pFVar14->file_name;
        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
      } while (*(char *)ppcVar5 != '\0');
      pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);
      pcVar7 = ", loongson-2f";
      pFVar14 = pFVar20;
      for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {
        *(char *)&pFVar14->file_name = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
      }
    }
    else {
      if (uVar19 != 0xa20000) goto LAB_0003d280;
      uVar19 = 0xffffffff;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        ppcVar5 = &pFVar14->file_name;
        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
      } while (*(char *)ppcVar5 != '\0');
      pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);
      pcVar7 = ", loongson-3a";
      pFVar14 = pFVar20;
      for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {
        *(char *)&pFVar14->file_name = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
      }
    }
    local_34 = (Filedata *)&buf_16750;
    uVar19 = (uint)local_38 & 0xf000;
    if (uVar19 == 0x2000) {
      uVar19 = 0xffffffff;
      pFVar14 = local_34;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        cVar2 = *(char *)pFVar14;
        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
      } while (cVar2 != '\0');
      pFVar20 = (Filedata *)~uVar19;
      *(undefined4 *)((int)&pFVar20[0x1907].num_dump_sects + 3) = 0x366f202c;
      *(undefined2 *)((int)&pFVar20[0x1908].file_name + 3) = 0x34;
    }
    else if (uVar19 < 0x2001) {
      if (uVar19 != 0) {
        if (uVar19 == 0x1000) {
          uVar19 = 0xffffffff;
          pFVar14 = local_34;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            cVar2 = *(char *)pFVar14;
            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
          } while (cVar2 != '\0');
          pFVar20 = (Filedata *)~uVar19;
          *(undefined4 *)((int)&pFVar20[0x1907].num_dump_sects + 3) = 0x336f202c;
          *(undefined2 *)((int)&pFVar20[0x1908].file_name + 3) = 0x32;
        }
        else {
LAB_0003e7da:
          pcVar7 = (char *)dcgettext(0,", unknown ABI",5,pFVar14);
          strcat((char *)&buf_16750,pcVar7);
          pFVar20 = extraout_EDX_01;
        }
      }
    }
    else if (uVar19 == 0x3000) {
      uVar19 = 0xffffffff;
      pFVar14 = local_34;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        cVar2 = *(char *)pFVar14;
        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
      } while (cVar2 != '\0');
      pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);
      pcVar7 = ", eabi32";
      pFVar14 = pFVar20;
      for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
        *(char *)&pFVar14->file_name = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
      }
    }
    else {
      if (uVar19 != 0x4000) goto LAB_0003e7da;
      uVar19 = 0xffffffff;
      pFVar14 = local_34;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        cVar2 = *(char *)pFVar14;
        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
      } while (cVar2 != '\0');
      pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);
      pcVar7 = ", eabi64";
      pFVar14 = pFVar20;
      for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
        *(char *)&pFVar14->file_name = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
      }
    }
    if (((uint)local_38 & 0x8000000) != 0) {
      uVar19 = 0xffffffff;
      pFVar14 = local_34;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        cVar2 = *(char *)pFVar14;
        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
      } while (cVar2 != '\0');
      pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);
      pcVar7 = ", mdmx";
      pFVar14 = pFVar20;
      for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {
        *(char *)&pFVar14->file_name = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
      }
    }
    if (((uint)local_38 & 0x4000000) != 0) {
      uVar19 = 0xffffffff;
      pFVar14 = local_34;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        cVar2 = *(char *)pFVar14;
        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
      } while (cVar2 != '\0');
      pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);
      pcVar7 = ", mips16";
      pFVar14 = pFVar20;
      for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
        *(char *)&pFVar14->file_name = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
      }
    }
    if (((uint)local_38 & 0x2000000) != 0) {
      uVar19 = 0xffffffff;
      pFVar14 = local_34;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        cVar2 = *(char *)pFVar14;
        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
      } while (cVar2 != '\0');
      pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);
      pcVar7 = ", micromips";
      pFVar14 = pFVar20;
      for (iVar17 = 3; iVar17 != 0; iVar17 = iVar17 + -1) {
        pFVar14->file_name = *(char **)pcVar7;
        pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;
        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -8 + 4);
      }
    }
    uVar19 = (uint)local_38 & 0xf0000000;
    if (uVar19 == 0x50000000) {
      uVar19 = 0xffffffff;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        cVar2 = *(char *)local_34;
        local_34 = (Filedata *)((int)local_34 + (uint)bVar28 * -2 + 1);
      } while (cVar2 != '\0');
      pcVar7 = ", mips32";
      pcVar8 = &DAT_000b579f + ~uVar19;
      for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
        *pcVar8 = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
      }
      local_38 = (Filedata *)(filedata->file_header).e_flags;
    }
    else if (uVar19 < 0x50000001) {
      if (uVar19 == 0x20000000) {
        uVar19 = 0xffffffff;
        do {
          if (uVar19 == 0) break;
          uVar19 = uVar19 - 1;
          cVar2 = *(char *)local_34;
          local_34 = (Filedata *)((int)local_34 + (uint)bVar28 * -2 + 1);
        } while (cVar2 != '\0');
        *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x696d202c;
        *(undefined4 *)((int)&buf_16750 + ~uVar19 + 3) = 0x337370;
        local_38 = (Filedata *)(filedata->file_header).e_flags;
      }
      else if (uVar19 < 0x20000001) {
        if (uVar19 == 0) {
          uVar19 = 0xffffffff;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            cVar2 = *(char *)local_34;
            local_34 = (Filedata *)((int)local_34 + (uint)bVar28 * -2 + 1);
          } while (cVar2 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x696d202c;
          *(undefined4 *)((int)&buf_16750 + ~uVar19 + 3) = 0x317370;
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
        else if (uVar19 == 0x10000000) {
          uVar19 = 0xffffffff;
          do {
            if (uVar19 == 0) break;
            uVar19 = uVar19 - 1;
            cVar2 = *(char *)local_34;
            local_34 = (Filedata *)((int)local_34 + (uint)bVar28 * -2 + 1);
          } while (cVar2 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x696d202c;
          *(undefined4 *)((int)&buf_16750 + ~uVar19 + 3) = 0x327370;
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
        else {
LAB_0003e94f:
          pcVar7 = (char *)dcgettext(0,", unknown ISA",5,pFVar20);
          strcat((char *)&buf_16750,pcVar7);
          local_38 = (Filedata *)(filedata->file_header).e_flags;
        }
      }
      else if (uVar19 == 0x30000000) {
        uVar19 = 0xffffffff;
        do {
          if (uVar19 == 0) break;
          uVar19 = uVar19 - 1;
          cVar2 = *(char *)local_34;
          local_34 = (Filedata *)((int)local_34 + (uint)bVar28 * -2 + 1);
        } while (cVar2 != '\0');
        *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x696d202c;
        *(undefined4 *)((int)&buf_16750 + ~uVar19 + 3) = 0x347370;
        local_38 = (Filedata *)(filedata->file_header).e_flags;
      }
      else {
        if (uVar19 != 0x40000000) goto LAB_0003e94f;
        uVar19 = 0xffffffff;
        do {
          if (uVar19 == 0) break;
          uVar19 = uVar19 - 1;
          cVar2 = *(char *)local_34;
          local_34 = (Filedata *)((int)local_34 + (uint)bVar28 * -2 + 1);
        } while (cVar2 != '\0');
        *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x696d202c;
        *(undefined4 *)((int)&buf_16750 + ~uVar19 + 3) = 0x357370;
        local_38 = (Filedata *)(filedata->file_header).e_flags;
      }
    }
    else if (uVar19 == 0x80000000) {
      uVar19 = 0xffffffff;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        cVar2 = *(char *)local_34;
        local_34 = (Filedata *)((int)local_34 + (uint)bVar28 * -2 + 1);
      } while (cVar2 != '\0');
      pcVar7 = ", mips64r2";
      pcVar8 = &DAT_000b579f + ~uVar19;
      for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {
        *pcVar8 = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
      }
      local_38 = (Filedata *)(filedata->file_header).e_flags;
    }
    else if (uVar19 < 0x80000001) {
      if (uVar19 == 0x60000000) {
        uVar19 = 0xffffffff;
        do {
          if (uVar19 == 0) break;
          uVar19 = uVar19 - 1;
          cVar2 = *(char *)local_34;
          local_34 = (Filedata *)((int)local_34 + (uint)bVar28 * -2 + 1);
        } while (cVar2 != '\0');
        pcVar7 = ", mips64";
        pcVar8 = &DAT_000b579f + ~uVar19;
        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
          *pcVar8 = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
        }
        local_38 = (Filedata *)(filedata->file_header).e_flags;
      }
      else {
        if (uVar19 != 0x70000000) goto LAB_0003e94f;
        uVar19 = 0xffffffff;
        do {
          if (uVar19 == 0) break;
          uVar19 = uVar19 - 1;
          cVar2 = *(char *)local_34;
          local_34 = (Filedata *)((int)local_34 + (uint)bVar28 * -2 + 1);
        } while (cVar2 != '\0');
        pcVar7 = ", mips32r2";
        pcVar8 = &DAT_000b579f + ~uVar19;
        for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {
          *pcVar8 = *pcVar7;
          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
        }
        local_38 = (Filedata *)(filedata->file_header).e_flags;
      }
    }
    else if (uVar19 == 0x90000000) {
      uVar19 = 0xffffffff;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        cVar2 = *(char *)local_34;
        local_34 = (Filedata *)((int)local_34 + (uint)bVar28 * -2 + 1);
      } while (cVar2 != '\0');
      pcVar7 = ", mips32r6";
      pcVar8 = &DAT_000b579f + ~uVar19;
      for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {
        *pcVar8 = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
      }
      local_38 = (Filedata *)(filedata->file_header).e_flags;
    }
    else {
      if (uVar19 != 0xa0000000) goto LAB_0003e94f;
      uVar19 = 0xffffffff;
      do {
        if (uVar19 == 0) break;
        uVar19 = uVar19 - 1;
        cVar2 = *(char *)local_34;
        local_34 = (Filedata *)((int)local_34 + (uint)bVar28 * -2 + 1);
      } while (cVar2 != '\0');
      pcVar7 = ", mips64r6";
      pcVar8 = &DAT_000b579f + ~uVar19;
      for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {
        *pcVar8 = *pcVar7;
        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
      }
      local_38 = (Filedata *)(filedata->file_header).e_flags;
    }
    goto LAB_0003b840;
  }
  if (uVar3 != 4) goto LAB_0003b840;
  uVar19 = (uint)local_38 & 0x3818000;
  if (uVar19 == 0x1000000) {
    pcVar7 = ", m68000";
    pcVar8 = (char *)&buf_16750;
    for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
      *pcVar8 = *pcVar7;
      pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
      pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
    }
    local_38 = (Filedata *)(filedata->file_header).e_flags;
    goto LAB_0003b840;
  }
  if (uVar19 == 0x810000) {
    buf_16750 = 0x7063202c;
    DAT_000b57a4 = 0x323375;
    local_38 = (Filedata *)(filedata->file_header).e_flags;
    goto LAB_0003b840;
  }
  if (uVar19 == 0x2000000) {
    pcVar7 = ", fido_a";
    pcVar8 = (char *)&buf_16750;
    for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {
      *pcVar8 = *pcVar7;
      pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
      pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
    }
    local_38 = (Filedata *)(filedata->file_header).e_flags;
    goto LAB_0003b840;
  }
  pcVar7 = (char *)dcgettext(0,"unknown",5);
  local_3c = (char *)dcgettext(0,"unknown mac",5);
  switch((uint)local_38 & 0xf) {
  default:
    uVar19 = 0xffffffff;
    pcVar8 = (char *)&buf_16750;
    do {
      if (uVar19 == 0) break;
      uVar19 = uVar19 - 1;
      cVar2 = *pcVar8;
      pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
    } while (cVar2 != '\0');
    pcVar8 = ", cf, isa ";
    pcVar9 = &DAT_000b579f + ~uVar19;
    for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
      *pcVar9 = *pcVar8;
      pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
      pcVar9 = pcVar9 + (uint)bVar28 * -2 + 1;
    }
    strcpy(&DAT_000b57a9 + ~uVar19,pcVar7);
    goto LAB_0003c31a;
  case 1:
    local_40 = ", nodiv";
    pcVar7 = "A";
    goto LAB_0003c39b;
  case 2:
    pcVar7 = "A";
    break;
  case 3:
    pcVar7 = "A+";
    break;
  case 4:
    pcVar7 = "B";
    local_40 = ", nousp";
    goto LAB_0003c39b;
  case 5:
    pcVar7 = "B";
    break;
  case 6:
    pcVar7 = "C";
    break;
  case 7:
    local_40 = ", nodiv";
    pcVar7 = "C";
LAB_0003c39b:
    uVar19 = 0xffffffff;
    pcVar8 = (char *)&buf_16750;
    do {
      if (uVar19 == 0) break;
      uVar19 = uVar19 - 1;
      cVar2 = *pcVar8;
      pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
    } while (cVar2 != '\0');
    cVar2 = *pcVar7;
    uVar19 = ~uVar19;
    pcVar7 = ", cf, isa ";
    pcVar8 = &DAT_000b579f + uVar19;
    for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
      *pcVar8 = *pcVar7;
      pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;
      pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
    }
    (&DAT_000b57a9)[uVar19] = cVar2;
    uVar16 = *(undefined4 *)local_40;
    *(undefined4 *)((int)&DAT_000b57ac + uVar19 + 2) = *(undefined4 *)(local_40 + 4);
    *(undefined4 *)(&DAT_000b57aa + uVar19) = uVar16;
    goto LAB_0003c31a;
  }
  uVar19 = 0xffffffff;
  pcVar8 = (char *)&buf_16750;
  do {
    if (uVar19 == 0) break;
    uVar19 = uVar19 - 1;
    cVar2 = *pcVar8;
    pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
  } while (cVar2 != '\0');
  pcVar8 = ", cf, isa ";
  pcVar9 = &DAT_000b579f + ~uVar19;
  for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {
    *pcVar9 = *pcVar8;
    pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;
    pcVar9 = pcVar9 + (uint)bVar28 * -2 + 1;
  }
  strcpy(&DAT_000b57a9 + ~uVar19,pcVar7);
LAB_0003c31a:
  local_34 = (Filedata *)&buf_16750;
  if (((uint)local_38 & 0x40) != 0) {
    uVar19 = 0xffffffff;
    pFVar14 = local_34;
    do {
      if (uVar19 == 0) break;
      uVar19 = uVar19 - 1;
      cVar2 = *(char *)pFVar14;
      pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);
    } while (cVar2 != '\0');
    *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x6c66202c;
    *(undefined4 *)((int)&buf_16750 + ~uVar19 + 3) = 0x74616f;
  }
  uVar19 = (uint)local_38 & 0x30;
  if (uVar19 == 0x10) {
    local_3c = "mac";
LAB_0003c354:
    uVar19 = 0xffffffff;
    do {
      if (uVar19 == 0) break;
      uVar19 = uVar19 - 1;
      cVar2 = *(char *)local_34;
      local_34 = (Filedata *)((int)local_34 + (uint)bVar28 * -2 + 1);
    } while (cVar2 != '\0');
    *(undefined2 *)(&DAT_000b579f + ~uVar19) = 0x202c;
    strcpy((char *)((int)&buf_16750 + ~uVar19 + 1),local_3c);
    local_38 = (Filedata *)(filedata->file_header).e_flags;
  }
  else {
    if (0x10 < uVar19) {
      if (uVar19 == 0x20) {
        local_3c = "emac";
      }
      else {
        if (uVar19 != 0x30) goto LAB_0003e4f5;
        local_3c = "emac_b";
      }
      goto LAB_0003c354;
    }
    if (uVar19 == 0) {
      local_38 = (Filedata *)(filedata->file_header).e_flags;
    }
    else {
LAB_0003e4f5:
      if (local_3c != (char *)0x0) goto LAB_0003c354;
      local_38 = (Filedata *)(filedata->file_header).e_flags;
    }
  }
LAB_0003b840:
  pcVar7 = (char *)dcgettext(0,"  Flags:                             0x%lx%s\n",5);
  printf(pcVar7,local_38,&buf_16750);
  uVar19 = (filedata->file_header).e_ehsize;
  pcVar7 = (char *)dcgettext(0,"  Size of this header:               %ld (bytes)\n",5);
  printf(pcVar7,uVar19);
  uVar19 = (filedata->file_header).e_phentsize;
  pcVar7 = (char *)dcgettext(0,"  Size of program headers:           %ld (bytes)\n",5);
  printf(pcVar7,uVar19);
  uVar19 = (filedata->file_header).e_phnum;
  pcVar7 = (char *)dcgettext(0,"  Number of program headers:         %ld",5);
  printf(pcVar7,uVar19);
  if (((filedata->section_headers != (Elf_Internal_Shdr *)0x0) &&
      ((filedata->file_header).e_phnum == 0xffff)) &&
     (uVar19 = filedata->section_headers->sh_info, uVar19 != 0)) {
    printf(" (%ld)",uVar19);
  }
  puVar6 = PTR_stdout_000b3fd8;
  putc(10,*(FILE **)PTR_stdout_000b3fd8);
  uVar19 = (filedata->file_header).e_shentsize;
  pcVar7 = (char *)dcgettext(0,"  Size of section headers:           %ld (bytes)\n",5);
  printf(pcVar7,uVar19);
  uVar19 = (filedata->file_header).e_shnum;
  pcVar7 = (char *)dcgettext(0,"  Number of section headers:         %ld",5);
  printf(pcVar7,uVar19);
  if ((filedata->section_headers != (Elf_Internal_Shdr *)0x0) &&
     ((filedata->file_header).e_shnum == 0)) {
    printf(" (%ld)",(int)filedata->section_headers->sh_size);
  }
  putc(10,*(FILE **)puVar6);
  uVar19 = (filedata->file_header).e_shstrndx;
  pcVar7 = (char *)dcgettext(0,"  Section header string table index: %ld",5);
  printf(pcVar7,uVar19);
  if (filedata->section_headers == (Elf_Internal_Shdr *)0x0) {
    uVar19 = (filedata->file_header).e_shstrndx;
LAB_0003b994:
    if ((uVar19 != 0) && ((filedata->file_header).e_shnum <= uVar19)) {
      pcVar7 = (char *)dcgettext(0," <corrupt: out of range>",5);
      printf(pcVar7);
    }
  }
  else {
    uVar19 = (filedata->file_header).e_shstrndx;
    if (uVar19 != 0xffff) goto LAB_0003b994;
    printf(" (%u)",filedata->section_headers->sh_link);
  }
  putc(10,*(FILE **)puVar6);
LAB_0003b371:
  __ptr = filedata->section_headers;
  if (__ptr == (Elf_Internal_Shdr *)0x0) {
    return 1;
  }
  if (((filedata->file_header).e_phnum == 0xffff) && (__ptr->sh_info != 0)) {
    (filedata->file_header).e_phnum = __ptr->sh_info;
  }
  uVar19 = (filedata->file_header).e_shnum;
  if (uVar19 == 0) {
    uVar19 = (uint)__ptr->sh_size;
    (filedata->file_header).e_shnum = uVar19;
  }
  uVar18 = (filedata->file_header).e_shstrndx;
  if (uVar18 == 0xffff) {
    uVar18 = __ptr->sh_link;
    (filedata->file_header).e_shstrndx = uVar18;
  }
  if (uVar19 <= uVar18) {
    (filedata->file_header).e_shstrndx = 0;
  }
  free(__ptr);
  filedata->section_headers = (Elf_Internal_Shdr *)0x0;
  return 1;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

undefined4 __regparm3 FUN_0003b300(char *param_1)

{
  char cVar1;
  ushort uVar2;
  void *__ptr;
  undefined4 uVar3;
  char *pcVar4;
  char *pcVar5;
  Elf32_Ehdr *pEVar6;
  int iVar7;
  undefined *puVar8;
  uint *puVar9;
  size_t sVar10;
  int extraout_ECX;
  undefined4 extraout_ECX_00;
  undefined4 extraout_ECX_01;
  undefined4 extraout_ECX_02;
  undefined4 extraout_ECX_03;
  int iVar11;
  undefined4 extraout_ECX_04;
  undefined4 extraout_ECX_05;
  undefined4 extraout_ECX_06;
  undefined4 extraout_ECX_07;
  undefined4 extraout_ECX_08;
  undefined4 extraout_ECX_09;
  undefined4 extraout_ECX_10;
  undefined4 extraout_ECX_11;
  undefined4 extraout_ECX_12;
  undefined4 extraout_ECX_13;
  undefined4 extraout_ECX_14;
  undefined4 extraout_ECX_15;
  undefined4 extraout_ECX_16;
  undefined4 extraout_ECX_17;
  undefined4 extraout_ECX_18;
  undefined4 extraout_ECX_19;
  undefined4 extraout_ECX_20;
  uint uVar12;
  uint uVar13;
  char *pcVar14;
  char *extraout_EDX;
  undefined4 extraout_EDX_00;
  char *extraout_EDX_01;
  byte bVar15;
  undefined1 *puVar16;
  uint uVar17;
  uint *puVar18;
  undefined4 *puVar19;
  bool bVar20;
  bool bVar21;
  byte bVar22;
  char *local_40;
  char *local_3c;
  char *local_38;
  uint *local_34;
  byte *local_30;
  char local_24 [4];
  undefined4 local_20;
  undefined4 uStack_14;
  
  bVar22 = 0;
  uStack_14 = 0x3b30b;
  if (*(int *)(param_1 + 0x10) != 0x464c457f) {
    uVar3 = dcgettext(0,"Not an ELF file - it has the wrong magic bytes at the start\n",5);
    error(uVar3);
    return 0;
  }
  FUN_0005d920(*(undefined2 *)(param_1 + 0x42));
  if (DAT_000b6344 == 0) goto LAB_0003b371;
  pcVar4 = (char *)dcgettext(0,"ELF Header:\n",5);
  printf(pcVar4);
  pcVar4 = (char *)dcgettext(0,"  Magic:   ",5);
  printf(pcVar4);
  local_30 = (byte *)(param_1 + 0x10);
  do {
    printf("%2.2x ",(uint)*local_30);
    local_30 = local_30 + 1;
  } while ((byte *)(param_1 + 0x20) != local_30);
  putchar(10);
  cVar1 = param_1[0x14];
  pcVar4 = "ELF32";
  if (cVar1 != '\x01') {
    if (cVar1 == '\0') {
      pcVar4 = (char *)dcgettext(0,&DAT_00076afd,5);
    }
    else {
      pcVar4 = "ELF64";
      if (cVar1 != '\x02') {
        pcVar4 = &DAT_000b5c40;
        pcVar5 = (char *)dcgettext(0,"<unknown: %x>",5);
        snprintf(&DAT_000b5c40,0x20,pcVar5,cVar1);
      }
    }
  }
  pcVar5 = (char *)dcgettext(0,"  Class:                             %s\n",5);
  printf(pcVar5,pcVar4);
  cVar1 = param_1[0x15];
  if (cVar1 == '\x01') {
    pcVar4 = "2\'s complement, little endian";
LAB_0003c46b:
    puVar8 = (undefined *)dcgettext(0,pcVar4,5);
  }
  else {
    if (cVar1 == '\0') {
      pcVar4 = "none";
      goto LAB_0003c46b;
    }
    if (cVar1 == '\x02') {
      pcVar4 = "2\'s complement, big endian";
      goto LAB_0003c46b;
    }
    puVar8 = &DAT_000b5c20;
    pcVar4 = (char *)dcgettext(0,"<unknown: %x>",5);
    snprintf(&DAT_000b5c20,0x20,pcVar4,cVar1);
  }
  pcVar5 = (char *)dcgettext(0,"  Data:                              %s\n",5);
  pcVar4 = "(current)";
  printf(pcVar5,puVar8);
  bVar15 = param_1[0x16];
  if ((bVar15 != 1) && (pcVar4 = "", bVar15 != 0)) {
    pcVar4 = (char *)dcgettext(0,"<unknown: %lx>",5);
    bVar15 = param_1[0x16];
  }
  pcVar5 = (char *)dcgettext(0,"  Version:                           %d %s\n",5);
  printf(pcVar5,(uint)bVar15,pcVar4);
  uVar3 = FUN_000241c0();
  pcVar4 = (char *)dcgettext(0,"  OS/ABI:                            %s\n",5);
  printf(pcVar4,uVar3);
  bVar15 = param_1[0x18];
  pcVar4 = (char *)dcgettext(0,"  ABI Version:                       %d\n",5);
  printf(pcVar4,(uint)bVar15);
  uVar3 = FUN_0001c2b0();
  pcVar4 = (char *)dcgettext(0,"  Type:                              %s\n",5);
  printf(pcVar4,uVar3);
  uVar3 = FUN_0001c3f0();
  pcVar4 = (char *)dcgettext(0,"  Machine:                           %s\n",5);
  printf(pcVar4,uVar3);
  uVar3 = *(undefined4 *)(param_1 + 0x38);
  pcVar5 = (char *)dcgettext(0,"  Version:                           0x%lx\n",5);
  pcVar4 = "%lld";
  printf(pcVar5,uVar3);
  pcVar5 = (char *)dcgettext(0,"  Entry point address:               ",5);
  printf(pcVar5);
  FUN_0001e910();
  pcVar5 = (char *)dcgettext(0,"\n  Start of program headers:          ",5);
  printf(pcVar5);
  printf("%lld",*(undefined4 *)(param_1 + 0x28),*(undefined4 *)(param_1 + 0x2c));
  pcVar5 = (char *)dcgettext(0," (bytes into file)\n  Start of section headers:          ",5);
  printf(pcVar5);
  printf("%lld",*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34));
  pcVar5 = (char *)dcgettext(0," (bytes into file)\n",5);
  printf(pcVar5);
  local_38 = *(char **)(param_1 + 0x3c);
  uVar2 = *(ushort *)(param_1 + 0x42);
  DAT_000b57a0 = DAT_000b57a0 & 0xffffff00;
  if (local_38 == (char *)0x0) goto LAB_0003b840;
  if (uVar2 == 0x5b) {
LAB_0003bdf2:
    if (((uint)local_38 & 0x10) != 0) {
      pcVar4 = ", new calling convention";
      pcVar5 = (char *)&DAT_000b57a0;
      for (iVar11 = 0x19; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0x20) == 0) {
      local_38 = *(char **)(param_1 + 0x3c);
    }
    else {
      uVar13 = 0xffffffff;
      pcVar4 = (char *)&DAT_000b57a0;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
      } while (cVar1 != '\0');
      pcVar4 = ", gnu calling convention";
      pcVar5 = &DAT_000b579f + ~uVar13;
      for (iVar11 = 0x19; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
      local_38 = *(char **)(param_1 + 0x3c);
    }
    goto LAB_0003b840;
  }
  if (0x5b < uVar2) {
    if (uVar2 == 0xc3) {
LAB_0003cc32:
      switch((uint)local_38 & 0xff) {
      default:
        if (uVar2 == 0x5d) {
          puVar9 = (uint *)", Unknown ARCompact";
          puVar18 = &DAT_000b57a0;
          for (iVar11 = 5; iVar11 != 0; iVar11 = iVar11 + -1) {
            *puVar18 = *puVar9;
            puVar9 = puVar9 + (uint)bVar22 * -2 + 1;
            puVar18 = puVar18 + (uint)bVar22 * -2 + 1;
          }
        }
        else {
          pcVar4 = ", Unknown ARC";
          puVar9 = &DAT_000b57a0;
          for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {
            *(char *)puVar9 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
          }
        }
        break;
      case 2:
        pcVar4 = ", ARC600";
        puVar9 = &DAT_000b57a0;
        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(char *)puVar9 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
        }
        break;
      case 3:
        pcVar4 = ", ARC700";
        puVar9 = &DAT_000b57a0;
        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(char *)puVar9 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
        }
        break;
      case 4:
        pcVar4 = ", ARC601";
        puVar9 = &DAT_000b57a0;
        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(char *)puVar9 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
        }
        break;
      case 5:
        pcVar4 = ", ARC EM";
        puVar9 = &DAT_000b57a0;
        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(char *)puVar9 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
        }
        break;
      case 6:
        pcVar4 = ", ARC HS";
        puVar9 = &DAT_000b57a0;
        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(char *)puVar9 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
        }
      }
      uVar13 = (uint)local_38 & 0xf00;
      puVar9 = &DAT_000b57a0;
      do {
        puVar18 = puVar9;
        uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;
        uVar12 = uVar17 & 0x80808080;
        puVar9 = puVar18 + 1;
      } while (uVar12 == 0);
      bVar20 = (uVar17 & 0x8080) == 0;
      if (bVar20) {
        uVar12 = uVar12 >> 0x10;
      }
      if (bVar20) {
        puVar9 = (uint *)((int)puVar18 + 6);
      }
      pcVar4 = (char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12)));
      if (uVar13 == 0x200) {
        pcVar5 = ", (ABI:v2)";
        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar4 = *pcVar5;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        }
        local_38 = *(char **)(param_1 + 0x3c);
      }
      else if (uVar13 < 0x201) {
        if (uVar13 == 0) {
          pcVar5 = ", (ABI:legacy)";
          for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar4 = *pcVar5;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          }
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else {
LAB_0003e7fe:
          pcVar5 = ", unrecognised ARC OSABI flag";
          for (iVar11 = 0x1e; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar4 = *pcVar5;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          }
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
      else if (uVar13 == 0x300) {
        pcVar5 = ", v3 no-legacy-syscalls ABI";
        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;
          pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;
          pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;
        }
        local_38 = *(char **)(param_1 + 0x3c);
      }
      else {
        if (uVar13 != 0x400) goto LAB_0003e7fe;
        pcVar5 = ", v4 ABI";
        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar4 = *pcVar5;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        }
        local_38 = *(char **)(param_1 + 0x3c);
      }
    }
    else if (uVar2 < 0xc4) {
      if (uVar2 == 0x69) {
        pcVar4 = (char *)dcgettext(0,": architecture variant: ",5);
        puVar9 = &DAT_000b57a0;
        do {
          puVar18 = puVar9;
          uVar12 = *puVar18 + 0xfefefeff & ~*puVar18;
          uVar13 = uVar12 & 0x80808080;
          puVar9 = puVar18 + 1;
        } while (uVar13 == 0);
        bVar20 = (uVar12 & 0x8080) == 0;
        if (bVar20) {
          uVar13 = uVar13 >> 0x10;
        }
        if (bVar20) {
          puVar9 = (uint *)((int)puVar18 + 6);
        }
        pcVar5 = stpcpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar13,(byte)uVar13))),
                        pcVar4);
        uVar13 = ((uint)local_38 & 0xff) - 0xb;
        iVar11 = extraout_ECX;
        if (uVar13 < 100) {
          iVar11 = (int)&__DT_PLTGOT + *(int *)(&DAT_0008dec0 + uVar13 * 4);
          switch((uint)local_38 & 0xff) {
          case 0xb:
            pcVar4 = "MSP430x11";
            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            break;
          case 0xc:
            pcVar4 = "MSP430x12";
            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            break;
          case 0xd:
            pcVar4 = "MSP430x13";
            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            break;
          case 0xe:
            pcVar4 = "MSP430x14";
            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            break;
          case 0xf:
            pcVar4 = "MSP430x15";
            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            break;
          case 0x10:
            pcVar4 = "MSP430x16";
            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            break;
          default:
            goto LAB_0003e9dc;
          case 0x1f:
            pcVar4 = "MSP430x31";
            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            break;
          case 0x20:
            pcVar4 = "MSP430x32";
            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            break;
          case 0x21:
            pcVar4 = "MSP430x33";
            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            break;
          case 0x29:
            pcVar4 = "MSP430x41";
            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            break;
          case 0x2a:
            pcVar4 = "MSP430x42";
            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            break;
          case 0x2b:
            pcVar4 = "MSP430x43";
            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            break;
          case 0x2c:
            pcVar4 = "MSP430x44";
            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            break;
          case 0x2d:
            builtin_strncpy(pcVar5,"MSP430X",8);
            break;
          case 0x6e:
            pcVar4 = "MSP430x11x1 ";
            for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
          }
        }
        else {
LAB_0003e9dc:
          pcVar4 = (char *)0x0;
          pcVar5 = (char *)dcgettext(0,": unknown",5,iVar11);
          strcat((char *)&DAT_000b57a0,pcVar5);
        }
        if (((uint)local_38 & 0xffffff00) == 0) {
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else {
          pcVar4 = (char *)dcgettext(0,": unknown extra flag bits also present",5,pcVar4);
          strcat((char *)&DAT_000b57a0,pcVar4);
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
      else if (uVar2 < 0x6a) {
        if (uVar2 == 0x5d) goto LAB_0003cc32;
        if (uVar2 < 0x5d) {
          if (((uint)local_38 & 1) != 0) {
            pcVar4 = ", no delay";
            pcVar5 = (char *)&DAT_000b57a0;
            for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            local_38 = *(char **)(param_1 + 0x3c);
          }
        }
        else if (uVar2 == 99) goto LAB_0003bdf2;
      }
      else if (uVar2 == 0x8c) {
        if (((uint)local_38 & 1) != 0) {
          pcVar4 = ", relocatable module";
          puVar9 = &DAT_000b57a0;
          for (iVar11 = 0x15; iVar11 != 0; iVar11 = iVar11 + -1) {
            *(char *)puVar9 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
          }
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
      else if (uVar2 < 0x8d) {
        if (uVar2 == 0x6a) {
          if (((uint)local_38 & 1) != 0) {
            DAT_000b57a0 = 0x4950202c;
            DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x43);
          }
          if (((uint)local_38 & 2) != 0) {
            uVar13 = 0xffffffff;
            pcVar4 = (char *)&DAT_000b57a0;
            do {
              if (uVar13 == 0) break;
              uVar13 = uVar13 - 1;
              cVar1 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            } while (cVar1 != '\0');
            *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x4446202c;
            *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x434950;
          }
          if (((uint)local_38 & 0x10) != 0) {
            uVar13 = 0xffffffff;
            pcVar4 = (char *)&DAT_000b57a0;
            do {
              if (uVar13 == 0) break;
              uVar13 = uVar13 - 1;
              cVar1 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            } while (cVar1 != '\0');
            pcVar4 = ", code in L1";
            pcVar5 = &DAT_000b579f + ~uVar13;
            for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
          }
          if (((uint)local_38 & 0x20) == 0) {
            local_38 = *(char **)(param_1 + 0x3c);
          }
          else {
            uVar13 = 0xffffffff;
            pcVar4 = (char *)&DAT_000b57a0;
            do {
              if (uVar13 == 0) break;
              uVar13 = uVar13 - 1;
              cVar1 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            } while (cVar1 != '\0');
            pcVar4 = ", data in L1";
            pcVar5 = &DAT_000b579f + ~uVar13;
            for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            local_38 = *(char **)(param_1 + 0x3c);
          }
        }
      }
      else if (uVar2 == 0xa7) {
        uVar13 = (uint)local_38 & 0xf0000000;
        uVar12 = (uint)local_38 & 0xf0;
        puVar19 = &DAT_000b57a0;
        for (iVar11 = 0x100; iVar11 != 0; iVar11 = iVar11 + -1) {
          *puVar19 = 0;
          puVar19 = puVar19 + (uint)bVar22 * -2 + 1;
        }
        if (uVar12 == 0x20) {
LAB_0003d15d:
          iVar11 = snprintf((char *)&DAT_000b57a0,0x400,", %s",(&PTR_s_ABI_v0_000b333c)[uVar12 >> 4]
                           );
        }
        else {
          if (uVar12 < 0x21) {
            if ((uVar12 == 0) || (uVar12 == 0x10)) goto LAB_0003d15d;
          }
          else if ((uVar12 == 0x40) || ((uVar12 == 0x50 || (uVar12 == 0x30)))) goto LAB_0003d15d;
          DAT_000b57a0 = 0x753c202c;
          iVar11 = 0x14;
          DAT_000b57a4 = 0x6365726e;
          _DAT_000b57a8 = 0x696e676f;
          DAT_000b57ac = 0x2064657a;
          DAT_000b57b0 = 0x3e494241;
          DAT_000b57b4 = 0;
        }
        if (((uint)local_38 & 0xf) < 3) {
          iVar7 = snprintf((char *)((int)&DAT_000b57a0 + iVar11),0x400U - iVar11,", %s",
                           (&PTR_s_Andes_ELF_V1_3_or_older_000b3330)[(uint)local_38 & 0xf]);
          uVar17 = iVar11 + iVar7;
        }
        else {
          uVar17 = iVar11 + 0x23;
          snprintf((char *)((int)&DAT_000b57a0 + iVar11),0x400U - iVar11,
                   ", <unrecognized ELF version number>");
        }
        sVar10 = 0x400 - uVar17;
        pcVar4 = (char *)((int)&DAT_000b57a0 + uVar17);
        if (uVar12 == 0) {
          iVar11 = snprintf(pcVar4,sVar10,", Andes Star v1.0, N1213HC, MAC, PERF1",&DAT_000b57a0);
          if (uVar13 == 0x10000000) {
            snprintf((char *)(uVar17 + 0xb57c6),0x400 - (uVar17 + 0x26),", 16b",iVar11);
            local_38 = *(char **)(param_1 + 0x3c);
          }
          else {
            local_38 = *(char **)(param_1 + 0x3c);
          }
        }
        else if (uVar13 == 0x20000000) {
LAB_0003d678:
          iVar11 = snprintf(pcVar4,sVar10,", %s",(&PTR_DAT_000b331c)[(uint)local_38 >> 0x1c]);
          iVar11 = iVar11 + uVar17;
          uVar12 = (uint)local_38 & 0x100;
          uVar3 = extraout_ECX_00;
          if (uVar13 == 0x10000000) {
            if (uVar12 != 0) {
              sVar10 = 0x400 - iVar11;
              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);
              iVar11 = iVar11 + 10;
              uVar12 = snprintf(pcVar4,sVar10,", MFUSR_PC",uVar12);
              uVar3 = extraout_ECX_20;
            }
            if (((uint)local_38 & 0x100000) == 0) {
              sVar10 = 0x400 - iVar11;
              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);
              iVar11 = iVar11 + 5;
              uVar12 = snprintf(pcVar4,sVar10,", MAC",uVar12);
              uVar3 = extraout_ECX_19;
            }
            if (((uint)local_38 & 0x2000) != 0) {
              sVar10 = 0x400 - iVar11;
              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);
              iVar11 = iVar11 + 5;
              uVar12 = snprintf(pcVar4,sVar10,", DIV",uVar12);
              uVar3 = extraout_ECX_18;
            }
            if (((uint)local_38 & 0x4000) != 0) {
              sVar10 = 0x400 - iVar11;
              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);
              iVar11 = iVar11 + 5;
              uVar12 = snprintf(pcVar4,sVar10,", 16b",uVar12);
              uVar3 = extraout_ECX_10;
            }
          }
          else {
            if (uVar12 != 0) {
              sVar10 = 0x400 - iVar11;
              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);
              if (((uint)local_38 & 0xe) == 0) {
                iVar11 = iVar11 + 6;
                uVar12 = snprintf(pcVar4,sVar10,", [B8]",uVar17);
                uVar3 = extraout_ECX_01;
              }
              else {
                iVar11 = iVar11 + 5;
                uVar12 = snprintf(pcVar4,sVar10,", EX9",extraout_EDX_00);
                uVar3 = extraout_ECX_11;
              }
            }
            if (((uint)local_38 & 0x100000) != 0) {
              sVar10 = 0x400 - iVar11;
              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);
              iVar11 = iVar11 + 8;
              uVar12 = snprintf(pcVar4,sVar10,", MAC_DX",uVar12);
              uVar3 = extraout_ECX_09;
            }
            if (((uint)local_38 & 0x2000) != 0) {
              sVar10 = 0x400 - iVar11;
              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);
              iVar11 = iVar11 + 8;
              uVar12 = snprintf(pcVar4,sVar10,", DIV_DX",uVar12);
              uVar3 = extraout_ECX_14;
            }
            if (((uint)local_38 & 0x4000) != 0) {
              sVar10 = 0x400 - iVar11;
              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);
              uVar13 = (uint)local_38 & 0xffffff0e;
              if (((uint)local_38 & 0xe) == 0) {
                pcVar5 = ", 16b";
                uVar13 = uVar17;
              }
              else {
                pcVar5 = ", IFC";
              }
              iVar11 = iVar11 + 5;
              uVar12 = snprintf(pcVar4,sVar10,pcVar5,uVar13);
              uVar3 = extraout_ECX_02;
            }
          }
          if (((uint)local_38 & 0x200) != 0) {
            sVar10 = 0x400 - iVar11;
            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);
            iVar11 = iVar11 + 7;
            uVar12 = snprintf(pcVar4,sVar10,", PERF1",uVar12);
            uVar3 = extraout_ECX_13;
          }
          if (((uint)local_38 & 0x400) != 0) {
            sVar10 = 0x400 - iVar11;
            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);
            iVar11 = iVar11 + 7;
            snprintf(pcVar4,sVar10,", PERF2",uVar12);
            uVar3 = extraout_ECX_12;
          }
          uVar13 = (uint)local_38 & 0x1000000;
          if (((uint)local_38 & 0x800) == 0) {
            pcVar4 = local_38;
            if (((uint)local_38 & 0x80000) != 0) {
LAB_0003eba3:
              sVar10 = 0x400 - iVar11;
              pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);
              iVar11 = iVar11 + 8;
              pcVar4 = (char *)snprintf(pcVar5,sVar10,", FPU_DP",pcVar4);
              goto LAB_0003ebc4;
            }
            if (uVar13 != 0) goto LAB_0003ebc8;
          }
          else {
            sVar10 = 0x400 - iVar11;
            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);
            iVar11 = iVar11 + 8;
            pcVar4 = (char *)snprintf(pcVar4,sVar10,", FPU_SP",local_38);
            if (((uint)local_38 & 0x80000) != 0) goto LAB_0003eba3;
LAB_0003ebc4:
            if (uVar13 != 0) {
LAB_0003ebc8:
              sVar10 = 0x400 - iVar11;
              pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);
              iVar11 = iVar11 + 9;
              snprintf(pcVar5,sVar10,", FPU_MAC",pcVar4);
            }
            sVar10 = 0x400 - iVar11;
            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);
            uVar12 = (uint)local_38 >> 0x16 & 3;
            if (uVar12 == 2) {
              pcVar5 = ", FPU_REG:32/16";
              uVar12 = uVar13;
            }
            else {
              if (uVar12 != 3) {
                if (uVar12 == 1) {
                  iVar11 = iVar11 + 0xe;
                  pcVar4 = (char *)snprintf(pcVar4,sVar10,", FPU_REG:16/8",0);
                  uVar3 = extraout_ECX_16;
                }
                else {
                  iVar11 = iVar11 + 0xd;
                  pcVar4 = (char *)snprintf(pcVar4,sVar10,", FPU_REG:8/4",uVar13);
                  uVar3 = extraout_ECX_06;
                }
                goto LAB_0003d76f;
              }
              pcVar5 = ", FPU_REG:32/32";
              uVar12 = 3;
            }
            iVar11 = iVar11 + 0xf;
            pcVar4 = (char *)snprintf(pcVar4,sVar10,pcVar5,uVar12);
            uVar3 = extraout_ECX_17;
          }
LAB_0003d76f:
          if (((uint)local_38 & 0x1000) != 0) {
            sVar10 = 0x400 - iVar11;
            pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);
            iVar11 = iVar11 + 7;
            pcVar4 = (char *)snprintf(pcVar5,sVar10,", AUDIO",pcVar4);
            uVar3 = extraout_ECX_05;
          }
          if (((uint)local_38 & 0x8000) != 0) {
            sVar10 = 0x400 - iVar11;
            pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);
            iVar11 = iVar11 + 5;
            pcVar4 = (char *)snprintf(pcVar5,sVar10,", STR",pcVar4);
            uVar3 = extraout_ECX_08;
          }
          if (((uint)local_38 & 0x10000) != 0) {
            sVar10 = 0x400 - iVar11;
            pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);
            iVar11 = iVar11 + 7;
            snprintf(pcVar5,sVar10,", 16REG",pcVar4);
            uVar3 = extraout_ECX_07;
          }
          if (((uint)local_38 & 0x20000) != 0) {
            sVar10 = 0x400 - iVar11;
            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);
            if (((uint)local_38 & 0xe) == 0) {
              iVar11 = iVar11 + 7;
              snprintf(pcVar4,sVar10,", VIDEO",uVar13);
              uVar3 = extraout_ECX_03;
            }
            else {
              iVar11 = iVar11 + 0xc;
              snprintf(pcVar4,sVar10,", SATURATION",(uint)local_38 & 0xffffff0e);
              uVar3 = extraout_ECX_15;
            }
          }
          if (((uint)local_38 & 0x40000) != 0) {
            sVar10 = 0x400 - iVar11;
            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);
            iVar11 = iVar11 + 7;
            snprintf(pcVar4,sVar10,", ENCRP",uVar13);
            uVar3 = extraout_ECX_04;
          }
          if (((uint)local_38 & 0x200000) == 0) {
            local_38 = *(char **)(param_1 + 0x3c);
          }
          else {
            snprintf((char *)((int)&DAT_000b57a0 + iVar11),0x400 - iVar11,", L2C",uVar3);
            local_38 = *(char **)(param_1 + 0x3c);
          }
        }
        else {
          if (uVar13 < 0x20000001) {
            if (uVar13 == 0x10000000) goto LAB_0003d678;
          }
          else if ((uVar13 == 0x30000000) || (uVar13 == 0x40000000)) goto LAB_0003d678;
          snprintf(pcVar4,sVar10,", <unrecognized architecture>");
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
      else if (uVar2 == 0xad) {
        if (((uint)local_38 & 1) != 0) {
          pcVar4 = ", 64-bit doubles";
          puVar9 = &DAT_000b57a0;
          for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {
            *(char *)puVar9 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
          }
        }
        if (((uint)local_38 & 2) != 0) {
          uVar13 = 0xffffffff;
          puVar9 = &DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            uVar12 = *puVar9;
            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
          } while ((char)uVar12 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7364202c;
          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x70;
        }
        if (((uint)local_38 & 4) != 0) {
          uVar13 = 0xffffffff;
          puVar9 = &DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            uVar12 = *puVar9;
            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
          } while ((char)uVar12 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6970202c;
          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 100;
        }
        if (((uint)local_38 & 8) != 0) {
          uVar13 = 0xffffffff;
          puVar9 = &DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            uVar12 = *puVar9;
            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
          } while ((char)uVar12 != '\0');
          pcVar4 = ", RX ABI";
          pcVar5 = &DAT_000b579f + ~uVar13;
          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        if (((uint)local_38 & 0x40) != 0) {
          puVar9 = &DAT_000b57a0;
          pcVar4 = ", uses String instructions";
          if (((uint)local_38 & 0x80) == 0) {
            pcVar4 = ", bans String instructions";
          }
          do {
            puVar18 = puVar9;
            uVar12 = *puVar18 + 0xfefefeff & ~*puVar18;
            uVar13 = uVar12 & 0x80808080;
            puVar9 = puVar18 + 1;
          } while (uVar13 == 0);
          bVar20 = (uVar12 & 0x8080) == 0;
          if (bVar20) {
            uVar13 = uVar13 >> 0x10;
          }
          if (bVar20) {
            puVar9 = (uint *)((int)puVar18 + 6);
          }
          pcVar5 = (char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar13,(byte)uVar13)));
          *(undefined4 *)pcVar5 = *(undefined4 *)pcVar4;
          *(undefined4 *)(pcVar5 + 4) = *(undefined4 *)(pcVar4 + 4);
          *(undefined4 *)(pcVar5 + 8) = *(undefined4 *)(pcVar4 + 8);
          *(undefined4 *)(pcVar5 + 0xc) = *(undefined4 *)(pcVar4 + 0xc);
          *(undefined4 *)(pcVar5 + 0x10) = *(undefined4 *)(pcVar4 + 0x10);
          *(undefined4 *)(pcVar5 + 0x14) = *(undefined4 *)(pcVar4 + 0x14);
          cVar1 = pcVar4[0x1a];
          *(undefined2 *)(pcVar5 + 0x18) = *(undefined2 *)(pcVar4 + 0x18);
          pcVar5[0x1a] = cVar1;
        }
        if (((uint)local_38 & 0x100) == 0) {
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else {
          uVar13 = 0xffffffff;
          puVar9 = &DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            uVar12 = *puVar9;
            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
          } while ((char)uVar12 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x3256202c;
          *(undefined1 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0;
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
    }
    else if (uVar2 == 0xfa) {
      uVar13 = (uint)local_38 >> 8 & 0xffff;
      if (uVar13 == 0x3200) {
        pcVar4 = ", NFP-32xx";
        puVar9 = &DAT_000b57a0;
        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(char *)puVar9 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
        }
        local_38 = *(char **)(param_1 + 0x3c);
      }
      else if (uVar13 == 0x6000) {
        pcVar4 = ", NFP-6xxx";
        puVar9 = &DAT_000b57a0;
        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(char *)puVar9 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
        }
        local_38 = *(char **)(param_1 + 0x3c);
      }
    }
    else if (uVar2 < 0xfb) {
      if (uVar2 == 0xdd) {
        if (((uint)local_38 & 1) == 0) {
          if (((uint)local_38 & 2) != 0) {
            DAT_000b57a0 = 0x636d202c;
            DAT_000b57a4 = 0x34326d;
          }
        }
        else {
          DAT_000b57a0 = 0x636d202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x6d);
        }
        if (((uint)local_38 & 4) == 0) {
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7267202c;
          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x36;
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
      else if (uVar2 == 0xf3) {
        if (((uint)local_38 & 1) != 0) {
          DAT_000b57a0 = 0x5652202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x43);
        }
        if (((uint)local_38 & 8) != 0) {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x5652202c;
          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x45;
        }
        uVar13 = (uint)local_38 & 6;
        if (uVar13 == 2) {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          pcVar4 = ", single-float ABI";
          pcVar5 = &DAT_000b579f + ~uVar13;
          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else if (uVar13 < 3) {
          if (uVar13 == 0) {
            uVar13 = 0xffffffff;
            pcVar4 = (char *)&DAT_000b57a0;
            do {
              if (uVar13 == 0) break;
              uVar13 = uVar13 - 1;
              cVar1 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            } while (cVar1 != '\0');
            pcVar4 = ", soft-float ABI";
            pcVar5 = &DAT_000b579f + ~uVar13;
            for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            local_38 = *(char **)(param_1 + 0x3c);
          }
          else {
LAB_0003e76f:
            local_38 = *(char **)(param_1 + 0x3c);
          }
        }
        else if (uVar13 == 4) {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          pcVar4 = ", double-float ABI";
          pcVar5 = &DAT_000b579f + ~uVar13;
          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else {
          if (uVar13 != 6) goto LAB_0003e76f;
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          pcVar4 = ", quad-float ABI";
          pcVar5 = &DAT_000b579f + ~uVar13;
          for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
      else if (uVar2 == 0xc5) {
        uVar13 = (uint)local_38 & 0xc;
        if (uVar13 == 8) {
          DAT_000b57a0 = 0x3147202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x33);
        }
        else if (uVar13 == 0xc) {
          DAT_000b57a0 = 0x3147202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x34);
        }
        else if (uVar13 == 4) {
          DAT_000b57a0 = 0x3147202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x30);
        }
        if (((uint)local_38 & 1) == 0) {
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          pcVar4 = ", 64-bit doubles";
          pcVar5 = &DAT_000b579f + ~uVar13;
          for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
    }
    else if (uVar2 == 0x9041) {
LAB_0003bb50:
      if (((uint)local_38 & 0x30000000) == 0) {
        puVar16 = &DAT_0007ca93;
        puVar19 = &DAT_000b57a0;
        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(undefined1 *)puVar19 = *puVar16;
          puVar16 = puVar16 + (uint)bVar22 * -2 + 1;
          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
        }
        local_38 = *(char **)(param_1 + 0x3c);
      }
    }
    else if (uVar2 < 0x9042) {
      if (uVar2 == 0x5441) {
        uVar13 = (uint)local_38 & 0xff000000;
        if (uVar13 == 0x4000000) {
          pcVar4 = ", tomcat";
          pcVar5 = (char *)&DAT_000b57a0;
          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else if (uVar13 < 0x4000001) {
          if (uVar13 == 0x1000000) {
            DAT_000b57a0 = 0x7266202c;
            DAT_000b57a4 = 0x303035;
            local_38 = *(char **)(param_1 + 0x3c);
          }
          else if (uVar13 < 0x1000001) {
            if (uVar13 != 0) {
LAB_0003d4b1:
              DAT_000b57a0 = 0x7266202c;
              DAT_000b57a4 = 0x3f3f3f;
              local_38 = *(char **)(param_1 + 0x3c);
            }
          }
          else if (uVar13 == 0x2000000) {
            DAT_000b57a0 = 0x7266202c;
            DAT_000b57a4 = 0x303033;
            local_38 = *(char **)(param_1 + 0x3c);
          }
          else {
            if (uVar13 != 0x3000000) goto LAB_0003d4b1;
            pcVar4 = ", simple";
            pcVar5 = (char *)&DAT_000b57a0;
            for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            local_38 = *(char **)(param_1 + 0x3c);
          }
        }
        else if (uVar13 == 0x6000000) {
          DAT_000b57a0 = 0x7266202c;
          DAT_000b57a4 = 0x303535;
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else if (uVar13 < 0x6000001) {
          if (uVar13 != 0x5000000) goto LAB_0003d4b1;
          DAT_000b57a0 = 0x7266202c;
          DAT_000b57a4 = 0x303034;
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else if (uVar13 == 0x7000000) {
          DAT_000b57a0 = 0x7266202c;
          DAT_000b57a4 = 0x353034;
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else {
          if (uVar13 != 0x8000000) goto LAB_0003d4b1;
          DAT_000b57a0 = 0x7266202c;
          DAT_000b57a4 = 0x303534;
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
    }
    else {
      if (uVar2 == 0x9080) goto LAB_0003c0c0;
      if (uVar2 == 0xf00d) {
        uVar13 = (uint)local_38 & 0xff000000;
        if (uVar13 == 0x2000000) {
          pcVar4 = ", MeP C3";
          pcVar5 = (char *)&DAT_000b57a0;
          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        else if (uVar13 < 0x2000001) {
          if (uVar13 == 0) {
            pcVar4 = ", generic MeP";
            pcVar5 = (char *)&DAT_000b57a0;
            for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
          }
          else if (uVar13 == 0x1000000) {
            pcVar4 = ", MeP C2";
            pcVar5 = (char *)&DAT_000b57a0;
            for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
          }
          else {
LAB_0003ba2e:
            pcVar4 = (char *)dcgettext(0,", <unknown MeP cpu type>",5,&DAT_00076943);
            strcat((char *)&DAT_000b57a0,pcVar4);
          }
        }
        else if (uVar13 == 0x8000000) {
          pcVar4 = ", MeP C5";
          pcVar5 = (char *)&DAT_000b57a0;
          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        else if (uVar13 == 0x10000000) {
          pcVar4 = ", MeP H1";
          pcVar5 = (char *)&DAT_000b57a0;
          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        else {
          if (uVar13 != 0x4000000) goto LAB_0003ba2e;
          pcVar4 = ", MeP C4";
          pcVar5 = (char *)&DAT_000b57a0;
          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        local_34 = &DAT_000b57a0;
        pEVar6 = (Elf32_Ehdr *)((uint)local_38 & 0xff0000);
        if (pEVar6 == (Elf32_Ehdr *)0x20000) {
          uVar13 = 0xffffffff;
          pEVar6 = (Elf32_Ehdr *)0x0;
          puVar9 = local_34;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *(char *)puVar9;
            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
          } while (cVar1 != '\0');
          pcVar4 = ", AVC2 coprocessor";
          pcVar5 = &DAT_000b579f + ~uVar13;
          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        else if (pEVar6 < (Elf32_Ehdr *)0x20001) {
          if (pEVar6 != (Elf32_Ehdr *)0x0) {
            if (pEVar6 == &Elf32_Ehdr_00010000) {
              uVar13 = 0xffffffff;
              pEVar6 = (Elf32_Ehdr *)0x0;
              puVar9 = local_34;
              do {
                if (uVar13 == 0) break;
                uVar13 = uVar13 - 1;
                cVar1 = *(char *)puVar9;
                puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
              } while (cVar1 != '\0');
              pcVar4 = ", AVC coprocessor";
              pcVar5 = &DAT_000b579f + ~uVar13;
              for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {
                *pcVar5 = *pcVar4;
                pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
                pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
              }
            }
            else {
LAB_0003e6fc:
              pcVar4 = (char *)dcgettext(0,"<unknown MeP copro type>",5,pEVar6);
              pEVar6 = (Elf32_Ehdr *)strcat((char *)&DAT_000b57a0,pcVar4);
            }
          }
        }
        else if (pEVar6 == (Elf32_Ehdr *)&DAT_00030000) {
          uVar13 = 0xffffffff;
          pEVar6 = (Elf32_Ehdr *)0x0;
          puVar9 = local_34;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *(char *)puVar9;
            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
          } while (cVar1 != '\0');
          pcVar4 = ", FMAX coprocessor";
          pcVar5 = &DAT_000b579f + ~uVar13;
          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        else {
          if (pEVar6 != (Elf32_Ehdr *)0x60000) goto LAB_0003e6fc;
          uVar13 = 0xffffffff;
          pEVar6 = (Elf32_Ehdr *)0x0;
          puVar9 = local_34;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *(char *)puVar9;
            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
          } while (cVar1 != '\0');
          pcVar4 = ", IVC2 coprocessor";
          pcVar5 = &DAT_000b579f + ~uVar13;
          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        if (((uint)local_38 & 0x100) != 0) {
          uVar13 = 0xffffffff;
          pEVar6 = (Elf32_Ehdr *)0x0;
          puVar9 = local_34;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *(char *)puVar9;
            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
          } while (cVar1 != '\0');
          pcVar4 = ", Built for Library";
          puVar19 = (undefined4 *)(&DAT_000b579f + ~uVar13);
          for (iVar11 = 5; iVar11 != 0; iVar11 = iVar11 + -1) {
            *puVar19 = *(undefined4 *)pcVar4;
            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;
            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;
          }
        }
        if (((uint)local_38 & 0xff) != 0) {
          uVar13 = 0xffffffff;
          puVar9 = local_34;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *(char *)puVar9;
            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
          } while (cVar1 != '\0');
          pEVar6 = (Elf32_Ehdr *)
                   sprintf(&DAT_000b579f + ~uVar13,", Configuration Index: %#x",
                           (uint)local_38 & 0xff,0);
        }
        if (((uint)local_38 & 0xfe00) == 0) {
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else {
          pcVar4 = (char *)dcgettext(0,", unknown flags bits: %#x",5,pEVar6);
          uVar13 = 0xffffffff;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *(char *)local_34;
            local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);
          } while (cVar1 != '\0');
          sprintf(&DAT_000b579f + ~uVar13,pcVar4,(uint)local_38 & 0xfe00);
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
    }
    goto LAB_0003b840;
  }
  if (uVar2 == 0x24) {
    if (((uint)local_38 & 0xf0000000) == 0xf0000000) {
      puVar9 = (uint *)", RH850 ABI";
      puVar18 = &DAT_000b57a0;
      for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {
        *puVar18 = *puVar9;
        puVar9 = puVar9 + (uint)bVar22 * -2 + 1;
        puVar18 = puVar18 + (uint)bVar22 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0x100000) != 0) {
      uVar13 = 0xffffffff;
      puVar9 = &DAT_000b57a0;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        uVar12 = *puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while ((char)uVar12 != '\0');
      pcVar4 = ", V3 architecture";
      pcVar5 = &DAT_000b579f + ~uVar13;
      for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    if (((uint)local_38 & 3) == 0) {
      uVar13 = 0xffffffff;
      puVar9 = &DAT_000b57a0;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        uVar12 = *puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while ((char)uVar12 != '\0');
      pcVar4 = ", FPU not used";
      pcVar5 = &DAT_000b579f + ~uVar13;
      for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0x60) == 0) {
      uVar13 = 0xffffffff;
      puVar9 = &DAT_000b57a0;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        uVar12 = *puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while ((char)uVar12 != '\0');
      pcVar4 = ", regmode: COMMON";
      pcVar5 = &DAT_000b579f + ~uVar13;
      for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0x300) == 0) {
      uVar13 = 0xffffffff;
      puVar9 = &DAT_000b57a0;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        uVar12 = *puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while ((char)uVar12 != '\0');
      pcVar4 = ", r4 not used";
      pcVar5 = &DAT_000b579f + ~uVar13;
      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0xc00) == 0) {
      uVar13 = 0xffffffff;
      puVar9 = &DAT_000b57a0;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        uVar12 = *puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while ((char)uVar12 != '\0');
      pcVar4 = ", r30 not used";
      pcVar5 = &DAT_000b579f + ~uVar13;
      for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0x3000) == 0) {
      uVar13 = 0xffffffff;
      puVar9 = &DAT_000b57a0;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        uVar12 = *puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while ((char)uVar12 != '\0');
      pcVar4 = ", r5 not used";
      pcVar5 = &DAT_000b579f + ~uVar13;
      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0xc000) == 0) {
      uVar13 = 0xffffffff;
      puVar9 = &DAT_000b57a0;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        uVar12 = *puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while ((char)uVar12 != '\0');
      pcVar4 = ", r2 not used";
      pcVar5 = &DAT_000b579f + ~uVar13;
      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    uVar13 = (uint)local_38 & 0xffff;
    if (uVar13 == 0) {
      local_38 = *(char **)(param_1 + 0x3c);
    }
    else {
      do {
        uVar12 = -uVar13 & uVar13;
        puVar9 = &DAT_000b57a0;
        if (uVar12 == 0x200) {
          do {
            puVar18 = puVar9;
            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;
            uVar12 = uVar17 & 0x80808080;
            puVar9 = puVar18 + 1;
          } while (uVar12 == 0);
          bVar20 = (uVar17 & 0x8080) == 0;
          if (bVar20) {
            uVar12 = uVar12 >> 0x10;
          }
          if (bVar20) {
            puVar9 = (uint *)((int)puVar18 + 6);
          }
          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),
                          ", r4 free",10);
        }
        else if (uVar12 < 0x201) {
          if (uVar12 == 0x20) {
            do {
              puVar18 = puVar9;
              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;
              uVar12 = uVar17 & 0x80808080;
              puVar9 = puVar18 + 1;
            } while (uVar12 == 0);
            bVar20 = (uVar17 & 0x8080) == 0;
            if (bVar20) {
              uVar12 = uVar12 >> 0x10;
            }
            if (bVar20) {
              puVar9 = (uint *)((int)puVar18 + 6);
            }
            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),
                            ", regmode:22",0xd);
          }
          else if (uVar12 < 0x21) {
            if (uVar12 == 1) {
              do {
                puVar18 = puVar9;
                uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;
                uVar12 = uVar17 & 0x80808080;
                puVar9 = puVar18 + 1;
              } while (uVar12 == 0);
              bVar20 = (uVar17 & 0x8080) == 0;
              if (bVar20) {
                uVar12 = uVar12 >> 0x10;
              }
              if (bVar20) {
                puVar9 = (uint *)((int)puVar18 + 6);
              }
              builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12)))
                              ,", double precision FPU",0x17);
            }
            else if (uVar12 == 2) {
              do {
                puVar18 = puVar9;
                uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;
                uVar12 = uVar17 & 0x80808080;
                puVar9 = puVar18 + 1;
              } while (uVar12 == 0);
              bVar20 = (uVar17 & 0x8080) == 0;
              if (bVar20) {
                uVar12 = uVar12 >> 0x10;
              }
              if (bVar20) {
                puVar9 = (uint *)((int)puVar18 + 6);
              }
              builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12)))
                              ,", single precision FPU",0x17);
            }
          }
          else if (uVar12 == 0x40) {
            do {
              puVar18 = puVar9;
              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;
              uVar12 = uVar17 & 0x80808080;
              puVar9 = puVar18 + 1;
            } while (uVar12 == 0);
            bVar20 = (uVar17 & 0x8080) == 0;
            if (bVar20) {
              uVar12 = uVar12 >> 0x10;
            }
            if (bVar20) {
              puVar9 = (uint *)((int)puVar18 + 6);
            }
            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),
                            ", regmode:23",0xd);
          }
          else if (uVar12 == 0x100) {
            do {
              puVar18 = puVar9;
              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;
              uVar12 = uVar17 & 0x80808080;
              puVar9 = puVar18 + 1;
            } while (uVar12 == 0);
            bVar20 = (uVar17 & 0x8080) == 0;
            if (bVar20) {
              uVar12 = uVar12 >> 0x10;
            }
            if (bVar20) {
              puVar9 = (uint *)((int)puVar18 + 6);
            }
            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),
                            ", r4 fixed",0xb);
          }
        }
        else if (uVar12 == 0x1000) {
          do {
            puVar18 = puVar9;
            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;
            uVar12 = uVar17 & 0x80808080;
            puVar9 = puVar18 + 1;
          } while (uVar12 == 0);
          bVar20 = (uVar17 & 0x8080) == 0;
          if (bVar20) {
            uVar12 = uVar12 >> 0x10;
          }
          if (bVar20) {
            puVar9 = (uint *)((int)puVar18 + 6);
          }
          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),
                          ", r5 fixed",0xb);
        }
        else if (uVar12 < 0x1001) {
          if (uVar12 == 0x400) {
            do {
              puVar18 = puVar9;
              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;
              uVar12 = uVar17 & 0x80808080;
              puVar9 = puVar18 + 1;
            } while (uVar12 == 0);
            bVar20 = (uVar17 & 0x8080) == 0;
            if (bVar20) {
              uVar12 = uVar12 >> 0x10;
            }
            if (bVar20) {
              puVar9 = (uint *)((int)puVar18 + 6);
            }
            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),
                            ", r30 fixed",0xc);
          }
          else if (uVar12 == 0x800) {
            do {
              puVar18 = puVar9;
              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;
              uVar12 = uVar17 & 0x80808080;
              puVar9 = puVar18 + 1;
            } while (uVar12 == 0);
            bVar20 = (uVar17 & 0x8080) == 0;
            if (bVar20) {
              uVar12 = uVar12 >> 0x10;
            }
            if (bVar20) {
              puVar9 = (uint *)((int)puVar18 + 6);
            }
            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),
                            ", r30 free",0xb);
          }
        }
        else if (uVar12 == 0x4000) {
          do {
            puVar18 = puVar9;
            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;
            uVar12 = uVar17 & 0x80808080;
            puVar9 = puVar18 + 1;
          } while (uVar12 == 0);
          bVar20 = (uVar17 & 0x8080) == 0;
          if (bVar20) {
            uVar12 = uVar12 >> 0x10;
          }
          if (bVar20) {
            puVar9 = (uint *)((int)puVar18 + 6);
          }
          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),
                          ", r2 fixed",0xb);
        }
        else if (uVar12 == 0x8000) {
          do {
            puVar18 = puVar9;
            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;
            uVar12 = uVar17 & 0x80808080;
            puVar9 = puVar18 + 1;
          } while (uVar12 == 0);
          bVar20 = (uVar17 & 0x8080) == 0;
          if (bVar20) {
            uVar12 = uVar12 >> 0x10;
          }
          if (bVar20) {
            puVar9 = (uint *)((int)puVar18 + 6);
          }
          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),
                          ", r2 free",10);
        }
        else if (uVar12 == 0x2000) {
          do {
            puVar18 = puVar9;
            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;
            uVar12 = uVar17 & 0x80808080;
            puVar9 = puVar18 + 1;
          } while (uVar12 == 0);
          bVar20 = (uVar17 & 0x8080) == 0;
          if (bVar20) {
            uVar12 = uVar12 >> 0x10;
          }
          if (bVar20) {
            puVar9 = (uint *)((int)puVar18 + 6);
          }
          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),
                          ", r5 free",10);
        }
        uVar13 = uVar13 & uVar13 - 1;
      } while (uVar13 != 0);
      local_38 = *(char **)(param_1 + 0x3c);
    }
    goto LAB_0003b840;
  }
  if (0x24 < uVar2) {
    if (uVar2 == 0x32) {
      if (((uint)local_38 & 0x10) == 0) {
        DAT_000b57a0 = 0x3233202c;
      }
      else {
        DAT_000b57a0 = 0x3436202c;
      }
      _DAT_000b57a8 = _DAT_000b57a8 & 0xffffff00;
      DAT_000b57a4 = 0x7469622d;
      if (((uint)local_38 & 0x20) != 0) {
        uVar13 = 0xffffffff;
        pcVar4 = (char *)&DAT_000b57a0;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        } while (cVar1 != '\0');
        pcVar4 = ", reduced fp model";
        pcVar5 = &DAT_000b579f + ~uVar13;
        for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
      }
      if (((uint)local_38 & 0x80) == 0) {
        if (((uint)local_38 & 0x40) != 0) {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          pcVar4 = ", constant gp";
          pcVar5 = &DAT_000b579f + ~uVar13;
          for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
      }
      else {
        uVar13 = 0xffffffff;
        pcVar4 = (char *)&DAT_000b57a0;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        } while (cVar1 != '\0');
        pcVar4 = ", no function descriptors, constant gp";
        pcVar5 = &DAT_000b579f + ~uVar13;
        for (iVar11 = 0x27; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
      }
      if (((uint)local_38 & 0x100) != 0) {
        uVar13 = 0xffffffff;
        pcVar4 = (char *)&DAT_000b57a0;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        } while (cVar1 != '\0');
        pcVar4 = ", absolute";
        pcVar5 = &DAT_000b579f + ~uVar13;
        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
      }
      if (param_1[0x17] == '\r') {
        if (((uint)local_38 & 4) != 0) {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          pcVar4 = ", vms_linkages";
          pcVar5 = &DAT_000b579f + ~uVar13;
          for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        uVar13 = (uint)local_38 & 3;
        if (uVar13 == 2) {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7265202c;
          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x726f72;
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else if (uVar13 == 3) {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6261202c;
          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x74726f;
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else if (uVar13 == 1) {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          pcVar4 = ", warning";
          pcVar5 = &DAT_000b579f + ~uVar13;
          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else {
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
      else {
        local_38 = *(char **)(param_1 + 0x3c);
      }
    }
    else if (uVar2 < 0x33) {
      if (uVar2 == 0x2a) {
        switch((uint)local_38 & 0x1f) {
        default:
          pcVar4 = (char *)dcgettext(0,", unknown ISA",5,&DAT_00076943);
          strcat((char *)&DAT_000b57a0,pcVar4);
          break;
        case 1:
          DAT_000b57a0 = 0x6873202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x31);
          break;
        case 2:
          DAT_000b57a0 = 0x6873202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x32);
          break;
        case 3:
          DAT_000b57a0 = 0x6873202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x33);
          break;
        case 4:
          pcVar4 = ", sh-dsp";
          pcVar5 = (char *)&DAT_000b57a0;
          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
          break;
        case 5:
          pcVar4 = ", sh3-dsp";
          pcVar5 = (char *)&DAT_000b57a0;
          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
          break;
        case 6:
          pcVar4 = ", sh4al-dsp";
          puVar19 = &DAT_000b57a0;
          for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {
            *puVar19 = *(undefined4 *)pcVar4;
            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;
            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;
          }
          break;
        case 8:
          puVar8 = &UNK_0007cd94;
          puVar19 = &DAT_000b57a0;
          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
            *(undefined *)puVar19 = *puVar8;
            puVar8 = puVar8 + (uint)bVar22 * -2 + 1;
            puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
          }
          break;
        case 9:
          DAT_000b57a0 = 0x6873202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x34);
          break;
        case 10:
          DAT_000b57a0 = 0x6873202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x35);
          break;
        case 0xb:
          puVar8 = &UNK_0007cd9b;
          puVar19 = &DAT_000b57a0;
          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
            *(undefined *)puVar19 = *puVar8;
            puVar8 = puVar8 + (uint)bVar22 * -2 + 1;
            puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
          }
          break;
        case 0xc:
          puVar8 = &UNK_0007cda2;
          puVar19 = &DAT_000b57a0;
          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
            *(undefined *)puVar19 = *puVar8;
            puVar8 = puVar8 + (uint)bVar22 * -2 + 1;
            puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
          }
          break;
        case 0xd:
          puVar8 = &UNK_0007cda9;
          puVar19 = &DAT_000b57a0;
          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
            *(undefined *)puVar19 = *puVar8;
            puVar8 = puVar8 + (uint)bVar22 * -2 + 1;
            puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
          }
          break;
        case 0x10:
          pcVar4 = ", sh4-nofpu";
          puVar19 = &DAT_000b57a0;
          for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {
            *puVar19 = *(undefined4 *)pcVar4;
            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;
            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;
          }
          break;
        case 0x11:
          pcVar4 = ", sh4a-nofpu";
          pcVar5 = (char *)&DAT_000b57a0;
          for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
          break;
        case 0x12:
          pcVar4 = ", sh4-nommu-nofpu";
          pcVar5 = (char *)&DAT_000b57a0;
          for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
          break;
        case 0x13:
          pcVar4 = ", sh2a-nofpu";
          pcVar5 = (char *)&DAT_000b57a0;
          for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
          break;
        case 0x14:
          pcVar4 = ", sh3-nommu";
          puVar19 = &DAT_000b57a0;
          for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {
            *puVar19 = *(undefined4 *)pcVar4;
            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;
            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;
          }
          break;
        case 0x15:
          pcVar4 = ", sh2a-nofpu-or-sh4-nommu-nofpu";
          puVar19 = &DAT_000b57a0;
          for (iVar11 = 8; iVar11 != 0; iVar11 = iVar11 + -1) {
            *puVar19 = *(undefined4 *)pcVar4;
            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;
            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;
          }
          break;
        case 0x16:
          pcVar4 = ", sh2a-nofpu-or-sh3-nommu";
          pcVar5 = (char *)&DAT_000b57a0;
          for (iVar11 = 0x1a; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
          break;
        case 0x17:
          pcVar4 = ", sh2a-or-sh4";
          pcVar5 = (char *)&DAT_000b57a0;
          for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
          break;
        case 0x18:
          pcVar4 = ", sh2a-or-sh3e";
          pcVar5 = (char *)&DAT_000b57a0;
          for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        local_34 = &DAT_000b57a0;
        if (((uint)local_38 & 0x100) != 0) {
          uVar13 = 0xffffffff;
          puVar9 = local_34;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *(char *)puVar9;
            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
          } while (cVar1 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6970202c;
          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 99;
        }
        if (((uint)local_38 & 0x8000) == 0) {
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else {
          uVar13 = 0xffffffff;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *(char *)local_34;
            local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);
          } while (cVar1 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6466202c;
          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x636970;
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
      else if (uVar2 == 0x2b) {
        if (((uint)local_38 & 0x100) != 0) {
          DAT_000b57a0 = 0x3876202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x2b);
        }
        if (((uint)local_38 & 0x200) != 0) {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          pcVar4 = ", ultrasparcI";
          pcVar5 = &DAT_000b579f + ~uVar13;
          for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        if (((uint)local_38 & 0x800) != 0) {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          pcVar4 = ", ultrasparcIII";
          puVar19 = (undefined4 *)(&DAT_000b579f + ~uVar13);
          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {
            *puVar19 = *(undefined4 *)pcVar4;
            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;
            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;
          }
        }
        if (((uint)local_38 & 0x400) != 0) {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6168202c;
          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x31726c;
        }
        if (((uint)local_38 & 0x800000) != 0) {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          pcVar4 = ", ledata";
          pcVar5 = &DAT_000b579f + ~uVar13;
          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        uVar13 = (uint)local_38 & 3;
        if (uVar13 == 0) {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7374202c;
          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x6f;
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else if (uVar13 == 1) {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7370202c;
          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x6f;
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else if (uVar13 == 2) {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6d72202c;
          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x6f;
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else {
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
      else if (uVar2 == 0x28) {
        uVar13 = (uint)local_38 & 0xff000000;
        if (((uint)local_38 & 1) == 0) {
          local_38 = (char *)((uint)local_38 & 0xffffff);
          pcVar4 = (char *)&DAT_000b57a0;
        }
        else {
          pcVar4 = &DAT_000b57b8;
          pcVar5 = ", relocatable executable";
          pcVar14 = (char *)&DAT_000b57a0;
          for (iVar11 = 0x19; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar14 = *pcVar5;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            pcVar14 = pcVar14 + (uint)bVar22 * -2 + 1;
          }
          local_38 = (char *)((uint)local_38 & 0xfffffe);
        }
        local_34 = &DAT_000b57a0;
        if (((uint)local_38 & 0x20) != 0) {
          pcVar5 = ", position independent";
          for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar4 = *pcVar5;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          }
          local_38 = (char *)((uint)local_38 & 0xffffffdf);
          uVar12 = 0xffffffff;
          puVar9 = local_34;
          do {
            if (uVar12 == 0) break;
            uVar12 = uVar12 - 1;
            uVar17 = *puVar9;
            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
          } while ((char)uVar17 != '\0');
          pcVar4 = &DAT_000b579f + ~uVar12;
        }
        if (uVar13 == 0x2000000) {
          bVar20 = false;
          pcVar5 = ", Version2 EABI";
          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {
            *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;
            pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;
            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;
          }
          if (local_38 != (char *)0x0) {
            do {
              uVar13 = -(int)local_38 & (uint)local_38;
              local_38 = (char *)((uint)local_38 & ~uVar13);
              if (uVar13 == 8) {
                uVar13 = 0xffffffff;
                puVar9 = local_34;
                do {
                  if (uVar13 == 0) break;
                  uVar13 = uVar13 - 1;
                  uVar12 = *puVar9;
                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                } while ((char)uVar12 != '\0');
                pcVar4 = ", dynamic symbols use segment index";
                puVar19 = (undefined4 *)(&DAT_000b579f + ~uVar13);
                for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
                  *puVar19 = *(undefined4 *)pcVar4;
                  pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;
                  puVar19 = puVar19 + (uint)bVar22 * -2 + 1;
                }
              }
              else if (uVar13 == 0x10) {
                uVar13 = 0xffffffff;
                puVar9 = local_34;
                do {
                  if (uVar13 == 0) break;
                  uVar13 = uVar13 - 1;
                  uVar12 = *puVar9;
                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                } while ((char)uVar12 != '\0');
                pcVar4 = ", mapping symbols precede others";
                pcVar5 = &DAT_000b579f + ~uVar13;
                for (iVar11 = 0x21; iVar11 != 0; iVar11 = iVar11 + -1) {
                  *pcVar5 = *pcVar4;
                  pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
                  pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
                }
              }
              else if (uVar13 == 4) {
                uVar13 = 0xffffffff;
                puVar9 = local_34;
                do {
                  if (uVar13 == 0) break;
                  uVar13 = uVar13 - 1;
                  uVar12 = *puVar9;
                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                } while ((char)uVar12 != '\0');
                pcVar4 = ", sorted symbol tables";
                pcVar5 = &DAT_000b579f + ~uVar13;
                for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {
                  *pcVar5 = *pcVar4;
                  pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
                  pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
                }
              }
              else {
                bVar20 = true;
              }
            } while (local_38 != (char *)0x0);
            goto LAB_0003d8e9;
          }
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else if (uVar13 < 0x2000001) {
          if (uVar13 == 0) {
            bVar20 = false;
            pcVar5 = ", GNU EABI";
            for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar4 = *pcVar5;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            }
            if (local_38 != (char *)0x0) {
              do {
                uVar13 = -(int)local_38 & (uint)local_38;
                local_38 = (char *)((uint)local_38 & ~uVar13);
                if (uVar13 == 0x40) {
                  uVar13 = 0xffffffff;
                  puVar9 = local_34;
                  do {
                    if (uVar13 == 0) break;
                    uVar13 = uVar13 - 1;
                    uVar12 = *puVar9;
                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                  } while ((char)uVar12 != '\0');
                  pcVar4 = ", 8 bit structure alignment";
                  puVar19 = (undefined4 *)(&DAT_000b579f + ~uVar13);
                  for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
                    *puVar19 = *(undefined4 *)pcVar4;
                    pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;
                    puVar19 = puVar19 + (uint)bVar22 * -2 + 1;
                  }
                }
                else if (uVar13 < 0x41) {
                  if (uVar13 == 8) {
                    uVar13 = 0xffffffff;
                    puVar9 = local_34;
                    do {
                      if (uVar13 == 0) break;
                      uVar13 = uVar13 - 1;
                      uVar12 = *puVar9;
                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                    } while ((char)uVar12 != '\0');
                    pcVar4 = ", uses APCS/26";
                    pcVar5 = &DAT_000b579f + ~uVar13;
                    for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {
                      *pcVar5 = *pcVar4;
                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
                    }
                  }
                  else if (uVar13 < 9) {
                    if (uVar13 == 4) {
                      uVar13 = 0xffffffff;
                      puVar9 = local_34;
                      do {
                        if (uVar13 == 0) break;
                        uVar13 = uVar13 - 1;
                        uVar12 = *puVar9;
                        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                      } while ((char)uVar12 != '\0');
                      pcVar4 = ", interworking enabled";
                      pcVar5 = &DAT_000b579f + ~uVar13;
                      for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {
                        *pcVar5 = *pcVar4;
                        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
                        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
                      }
                    }
                    else {
LAB_0003edd8:
                      bVar20 = true;
                    }
                  }
                  else if (uVar13 == 0x10) {
                    uVar13 = 0xffffffff;
                    puVar9 = local_34;
                    do {
                      if (uVar13 == 0) break;
                      uVar13 = uVar13 - 1;
                      uVar12 = *puVar9;
                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                    } while ((char)uVar12 != '\0');
                    pcVar4 = ", uses APCS/float";
                    pcVar5 = &DAT_000b579f + ~uVar13;
                    for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {
                      *pcVar5 = *pcVar4;
                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
                    }
                  }
                  else {
                    if (uVar13 != 0x20) goto LAB_0003edd8;
                    uVar13 = 0xffffffff;
                    puVar9 = local_34;
                    do {
                      if (uVar13 == 0) break;
                      uVar13 = uVar13 - 1;
                      uVar12 = *puVar9;
                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                    } while ((char)uVar12 != '\0');
                    pcVar4 = ", position independent";
                    pcVar5 = &DAT_000b579f + ~uVar13;
                    for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {
                      *pcVar5 = *pcVar4;
                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
                    }
                  }
                }
                else if (uVar13 == 0x200) {
                  uVar13 = 0xffffffff;
                  puVar9 = local_34;
                  do {
                    if (uVar13 == 0) break;
                    uVar13 = uVar13 - 1;
                    uVar12 = *puVar9;
                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                  } while ((char)uVar12 != '\0');
                  pcVar4 = ", software FP";
                  pcVar5 = &DAT_000b579f + ~uVar13;
                  for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {
                    *pcVar5 = *pcVar4;
                    pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
                    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
                  }
                }
                else if (uVar13 < 0x201) {
                  if (uVar13 == 0x80) {
                    uVar13 = 0xffffffff;
                    puVar9 = local_34;
                    do {
                      if (uVar13 == 0) break;
                      uVar13 = uVar13 - 1;
                      uVar12 = *puVar9;
                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                    } while ((char)uVar12 != '\0');
                    pcVar4 = ", uses new ABI";
                    pcVar5 = &DAT_000b579f + ~uVar13;
                    for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {
                      *pcVar5 = *pcVar4;
                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
                    }
                  }
                  else {
                    if (uVar13 != 0x100) goto LAB_0003edd8;
                    uVar13 = 0xffffffff;
                    puVar9 = local_34;
                    do {
                      if (uVar13 == 0) break;
                      uVar13 = uVar13 - 1;
                      uVar12 = *puVar9;
                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                    } while ((char)uVar12 != '\0');
                    pcVar4 = ", uses old ABI";
                    pcVar5 = &DAT_000b579f + ~uVar13;
                    for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {
                      *pcVar5 = *pcVar4;
                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
                    }
                  }
                }
                else if (uVar13 == 0x400) {
                  uVar13 = 0xffffffff;
                  puVar9 = local_34;
                  do {
                    if (uVar13 == 0) break;
                    uVar13 = uVar13 - 1;
                    uVar12 = *puVar9;
                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                  } while ((char)uVar12 != '\0');
                  *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x4656202c;
                  *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x50;
                }
                else {
                  if (uVar13 != 0x800) goto LAB_0003edd8;
                  uVar13 = 0xffffffff;
                  puVar9 = local_34;
                  do {
                    if (uVar13 == 0) break;
                    uVar13 = uVar13 - 1;
                    uVar12 = *puVar9;
                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                  } while ((char)uVar12 != '\0');
                  pcVar4 = ", Maverick FP";
                  pcVar5 = &DAT_000b579f + ~uVar13;
                  for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {
                    *pcVar5 = *pcVar4;
                    pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
                    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
                  }
                }
              } while (local_38 != (char *)0x0);
              goto LAB_0003d8e9;
            }
            local_38 = *(char **)(param_1 + 0x3c);
          }
          else if (uVar13 == 0x1000000) {
            bVar20 = false;
            pcVar5 = ", Version1 EABI";
            for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {
              *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;
              pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;
              pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;
            }
            if (local_38 != (char *)0x0) {
              do {
                uVar13 = -(int)local_38 & (uint)local_38;
                local_38 = (char *)((uint)local_38 & ~uVar13);
                if (uVar13 == 4) {
                  uVar13 = 0xffffffff;
                  puVar9 = local_34;
                  do {
                    if (uVar13 == 0) break;
                    uVar13 = uVar13 - 1;
                    uVar12 = *puVar9;
                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                  } while ((char)uVar12 != '\0');
                  pcVar4 = ", sorted symbol tables";
                  pcVar5 = &DAT_000b579f + ~uVar13;
                  for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {
                    *pcVar5 = *pcVar4;
                    pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
                    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
                  }
                }
                else {
                  bVar20 = true;
                }
              } while (local_38 != (char *)0x0);
              goto LAB_0003d8e9;
            }
            local_38 = *(char **)(param_1 + 0x3c);
          }
          else {
LAB_0003c1eb:
            pcVar5 = ", <unrecognized EABI>";
            for (iVar11 = 0x16; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar4 = *pcVar5;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            }
            if (local_38 == (char *)0x0) {
              local_38 = *(char **)(param_1 + 0x3c);
            }
            else {
LAB_0003d8f4:
              pcVar4 = (char *)dcgettext(0,", <unknown>",5);
              strcat((char *)&DAT_000b57a0,pcVar4);
              local_38 = *(char **)(param_1 + 0x3c);
            }
          }
        }
        else if (uVar13 == 0x4000000) {
          pcVar5 = ", Version4 EABI";
          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {
            *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;
            pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;
            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;
          }
          bVar20 = false;
          if (local_38 == (char *)0x0) {
            local_38 = *(char **)(param_1 + 0x3c);
          }
          else {
            do {
              uVar13 = -(int)local_38 & (uint)local_38;
              local_38 = (char *)((uint)local_38 & ~uVar13);
              puVar9 = local_34;
              if (uVar13 == 0x400000) {
                do {
                  puVar18 = puVar9;
                  uVar12 = *puVar18 + 0xfefefeff & ~*puVar18;
                  uVar13 = uVar12 & 0x80808080;
                  puVar9 = puVar18 + 1;
                } while (uVar13 == 0);
                bVar21 = (uVar12 & 0x8080) == 0;
                if (bVar21) {
                  uVar13 = uVar13 >> 0x10;
                }
                if (bVar21) {
                  puVar9 = (uint *)((int)puVar18 + 6);
                }
                builtin_strncpy((char *)((int)puVar9 +
                                        (-3 - (uint)CARRY1((byte)uVar13,(byte)uVar13))),", LE8",6);
              }
              else if (uVar13 == 0x800000) {
                do {
                  puVar18 = puVar9;
                  uVar12 = *puVar18 + 0xfefefeff & ~*puVar18;
                  uVar13 = uVar12 & 0x80808080;
                  puVar9 = puVar18 + 1;
                } while (uVar13 == 0);
                bVar21 = (uVar12 & 0x8080) == 0;
                if (bVar21) {
                  uVar13 = uVar13 >> 0x10;
                }
                if (bVar21) {
                  puVar9 = (uint *)((int)puVar18 + 6);
                }
                builtin_strncpy((char *)((int)puVar9 +
                                        (-3 - (uint)CARRY1((byte)uVar13,(byte)uVar13))),", BE8",6);
              }
              else {
                bVar20 = true;
              }
            } while (local_38 != (char *)0x0);
LAB_0003d8e9:
            if (bVar20) goto LAB_0003d8f4;
            local_38 = *(char **)(param_1 + 0x3c);
          }
        }
        else if (uVar13 == 0x5000000) {
          bVar20 = false;
          pcVar5 = ", Version5 EABI";
          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {
            *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;
            pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;
            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;
          }
          if (local_38 != (char *)0x0) {
            do {
              uVar13 = -(int)local_38 & (uint)local_38;
              local_38 = (char *)((uint)local_38 & ~uVar13);
              if (uVar13 == 0x400) {
                uVar13 = 0xffffffff;
                puVar9 = local_34;
                do {
                  if (uVar13 == 0) break;
                  uVar13 = uVar13 - 1;
                  uVar12 = *puVar9;
                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                } while ((char)uVar12 != '\0');
                pcVar4 = ", hard-float ABI";
                pcVar5 = &DAT_000b579f + ~uVar13;
                for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {
                  *pcVar5 = *pcVar4;
                  pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
                  pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
                }
              }
              else if (uVar13 < 0x401) {
                if (uVar13 == 0x200) {
                  uVar13 = 0xffffffff;
                  puVar9 = local_34;
                  do {
                    if (uVar13 == 0) break;
                    uVar13 = uVar13 - 1;
                    uVar12 = *puVar9;
                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                  } while ((char)uVar12 != '\0');
                  pcVar4 = ", soft-float ABI";
                  pcVar5 = &DAT_000b579f + ~uVar13;
                  for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {
                    *pcVar5 = *pcVar4;
                    pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
                    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
                  }
                }
                else {
LAB_0003ef43:
                  bVar20 = true;
                }
              }
              else if (uVar13 == 0x400000) {
                uVar13 = 0xffffffff;
                puVar9 = local_34;
                do {
                  if (uVar13 == 0) break;
                  uVar13 = uVar13 - 1;
                  uVar12 = *puVar9;
                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                } while ((char)uVar12 != '\0');
                *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x454c202c;
                *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x38;
              }
              else {
                if (uVar13 != 0x800000) goto LAB_0003ef43;
                uVar13 = 0xffffffff;
                puVar9 = local_34;
                do {
                  if (uVar13 == 0) break;
                  uVar13 = uVar13 - 1;
                  uVar12 = *puVar9;
                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                } while ((char)uVar12 != '\0');
                *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x4542202c;
                *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x38;
              }
            } while (local_38 != (char *)0x0);
            goto LAB_0003d8e9;
          }
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else {
          if (uVar13 != 0x3000000) goto LAB_0003c1eb;
          pcVar5 = ", Version3 EABI";
          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {
            *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;
            pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;
            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;
          }
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
    }
    else if (uVar2 == 0x53) {
      switch((uint)local_38 & 0x7f) {
      default:
        pcVar4 = ", avr:<unknown>";
        puVar19 = &DAT_000b57a0;
        for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {
          *puVar19 = *(undefined4 *)pcVar4;
          pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;
          puVar19 = puVar19 + (uint)bVar22 * -2 + 1;
        }
        break;
      case 1:
        DAT_000b57a0 = 0x7661202c;
        DAT_000b57a4 = 0x313a72;
        break;
      case 2:
        DAT_000b57a0 = 0x7661202c;
        DAT_000b57a4 = 0x323a72;
        break;
      case 3:
        DAT_000b57a0 = 0x7661202c;
        DAT_000b57a4 = 0x333a72;
        break;
      case 4:
        DAT_000b57a0 = 0x7661202c;
        DAT_000b57a4 = 0x343a72;
        break;
      case 5:
        DAT_000b57a0 = 0x7661202c;
        DAT_000b57a4 = 0x353a72;
        break;
      case 6:
        DAT_000b57a0 = 0x7661202c;
        DAT_000b57a4 = 0x363a72;
        break;
      case 0x19:
        puVar8 = &UNK_0007c7e5;
        puVar19 = &DAT_000b57a0;
        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(undefined *)puVar19 = *puVar8;
          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;
          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
        }
        break;
      case 0x1f:
        puVar8 = &UNK_0007c7ee;
        puVar19 = &DAT_000b57a0;
        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(undefined *)puVar19 = *puVar8;
          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;
          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
        }
        break;
      case 0x23:
        puVar8 = &UNK_0007c7f7;
        puVar19 = &DAT_000b57a0;
        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(undefined *)puVar19 = *puVar8;
          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;
          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
        }
        break;
      case 0x33:
        puVar8 = &UNK_0007c800;
        puVar19 = &DAT_000b57a0;
        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(undefined *)puVar19 = *puVar8;
          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;
          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
        }
        break;
      case 100:
        puVar8 = &UNK_0007c809;
        puVar19 = &DAT_000b57a0;
        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(undefined *)puVar19 = *puVar8;
          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;
          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
        }
        break;
      case 0x65:
        puVar8 = &UNK_0007c813;
        puVar19 = &DAT_000b57a0;
        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(undefined *)puVar19 = *puVar8;
          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;
          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
        }
        break;
      case 0x66:
        puVar8 = &UNK_0007c81d;
        puVar19 = &DAT_000b57a0;
        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(undefined *)puVar19 = *puVar8;
          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;
          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
        }
        break;
      case 0x67:
        puVar8 = &UNK_0007c827;
        puVar19 = &DAT_000b57a0;
        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(undefined *)puVar19 = *puVar8;
          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;
          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
        }
        break;
      case 0x68:
        puVar8 = &UNK_0007c831;
        puVar19 = &DAT_000b57a0;
        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(undefined *)puVar19 = *puVar8;
          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;
          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
        }
        break;
      case 0x69:
        puVar8 = &UNK_0007c83b;
        puVar19 = &DAT_000b57a0;
        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(undefined *)puVar19 = *puVar8;
          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;
          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
        }
        break;
      case 0x6a:
        puVar8 = &UNK_0007c845;
        puVar19 = &DAT_000b57a0;
        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(undefined *)puVar19 = *puVar8;
          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;
          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
        }
        break;
      case 0x6b:
        puVar8 = &UNK_0007c84f;
        puVar19 = &DAT_000b57a0;
        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(undefined *)puVar19 = *puVar8;
          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;
          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
        }
      }
      local_34 = &DAT_000b57a0;
      if (((uint)local_38 & 0x80) == 0) {
        local_38 = *(char **)(param_1 + 0x3c);
      }
      else {
        iVar11 = -1;
        do {
          if (iVar11 == 0) break;
          iVar11 = iVar11 + -1;
          cVar1 = *(char *)local_34;
          local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);
        } while (cVar1 != '\0');
        strncat((char *)&DAT_000b57a0,", link-relax",iVar11 + 0x401);
        local_38 = *(char **)(param_1 + 0x3c);
      }
    }
    else if (uVar2 < 0x54) {
      if (uVar2 == 0x4b) {
        if (((uint)local_38 & 1) != 0) {
          pcVar4 = ", non-PIC";
          pcVar5 = (char *)&DAT_000b57a0;
          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        if (((uint)local_38 & 0x100) != 0) {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          pcVar4 = ", D-Float";
          pcVar5 = &DAT_000b579f + ~uVar13;
          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        if (((uint)local_38 & 0x200) == 0) {
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          pcVar4 = ", G-Float";
          pcVar5 = &DAT_000b579f + ~uVar13;
          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
    }
    else if (uVar2 == 0x57) {
LAB_0003c0c0:
      uVar13 = (uint)local_38 & 0xf0000000;
      if (uVar13 == 0x20000000) {
        pcVar4 = ", v850e1";
        pcVar5 = (char *)&DAT_000b57a0;
        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
        local_38 = *(char **)(param_1 + 0x3c);
      }
      else if (uVar13 < 0x20000001) {
        if (uVar13 == 0) {
          pcVar4 = ", v850";
          pcVar5 = (char *)&DAT_000b57a0;
          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else if (uVar13 == 0x10000000) {
          DAT_000b57a0 = 0x3876202c;
          DAT_000b57a4 = 0x653035;
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else {
LAB_0003c0ff:
          pcVar4 = (char *)dcgettext(0,", unknown v850 architecture variant",5,&DAT_000b57a0);
          strcat((char *)&DAT_000b57a0,pcVar4);
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
      else if (uVar13 == 0x40000000) {
        pcVar4 = ", v850e2v3";
        pcVar5 = (char *)&DAT_000b57a0;
        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
        local_38 = *(char **)(param_1 + 0x3c);
      }
      else if (uVar13 == 0x60000000) {
        pcVar4 = ", v850e3v5";
        pcVar5 = (char *)&DAT_000b57a0;
        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
        local_38 = *(char **)(param_1 + 0x3c);
      }
      else {
        if (uVar13 != 0x30000000) goto LAB_0003c0ff;
        pcVar4 = ", v850e2";
        pcVar5 = (char *)&DAT_000b57a0;
        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
        local_38 = *(char **)(param_1 + 0x3c);
      }
    }
    else if (uVar2 == 0x58) goto LAB_0003bb50;
    goto LAB_0003b840;
  }
  if (uVar2 == 0xf) {
    uVar13 = (uint)local_38 & 0xffff;
    if (uVar13 == 0x210) {
      pcVar4 = ", PA-RISC 1.1";
      puVar9 = &DAT_000b57a0;
      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {
        *(char *)puVar9 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      }
    }
    else if (uVar13 == 0x214) {
      pcVar4 = ", PA-RISC 2.0";
      puVar9 = &DAT_000b57a0;
      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {
        *(char *)puVar9 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      }
    }
    else if (uVar13 == 0x20b) {
      pcVar4 = ", PA-RISC 1.0";
      puVar9 = &DAT_000b57a0;
      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {
        *(char *)puVar9 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      }
    }
    if (((uint)local_38 & 0x10000) != 0) {
      uVar13 = 0xffffffff;
      puVar9 = &DAT_000b57a0;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        uVar12 = *puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while ((char)uVar12 != '\0');
      pcVar4 = ", trapnil";
      pcVar5 = &DAT_000b579f + ~uVar13;
      for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0x20000) != 0) {
      uVar13 = 0xffffffff;
      puVar9 = &DAT_000b57a0;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        uVar12 = *puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while ((char)uVar12 != '\0');
      *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7865202c;
      *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x74;
    }
    if (((uint)local_38 & 0x40000) != 0) {
      uVar13 = 0xffffffff;
      puVar9 = &DAT_000b57a0;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        uVar12 = *puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while ((char)uVar12 != '\0');
      *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x736c202c;
      *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x62;
    }
    if (((uint)local_38 & 0x80000) != 0) {
      uVar13 = 0xffffffff;
      puVar9 = &DAT_000b57a0;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        uVar12 = *puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while ((char)uVar12 != '\0');
      pcVar4 = ", wide";
      pcVar5 = &DAT_000b579f + ~uVar13;
      for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0x100000) != 0) {
      uVar13 = 0xffffffff;
      puVar9 = &DAT_000b57a0;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        uVar12 = *puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while ((char)uVar12 != '\0');
      pcVar4 = ", no kabp";
      pcVar5 = &DAT_000b579f + ~uVar13;
      for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0x400000) == 0) {
      local_38 = *(char **)(param_1 + 0x3c);
    }
    else {
      uVar13 = 0xffffffff;
      puVar9 = &DAT_000b57a0;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        uVar12 = *puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while ((char)uVar12 != '\0');
      pcVar4 = ", lazyswap";
      pcVar5 = &DAT_000b579f + ~uVar13;
      for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
      local_38 = *(char **)(param_1 + 0x3c);
    }
    goto LAB_0003b840;
  }
  if (0xf < uVar2) {
    if (uVar2 == 0x15) {
      if (((uint)local_38 & 3) != 0) {
        local_20 = (uint)CONCAT12((char)((uint)local_38 & 3) + '0',0x7669);
        builtin_strncpy(local_24,", ab",4);
        strcpy((char *)&DAT_000b57a0,local_24);
        local_38 = *(char **)(param_1 + 0x3c);
      }
    }
    else if (uVar2 == 0x16) {
      if (((uint)local_38 & 1) != 0) {
        pcVar4 = ", highgprs";
        pcVar5 = (char *)&DAT_000b57a0;
        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
        local_38 = *(char **)(param_1 + 0x3c);
      }
    }
    else if (uVar2 == 0x14) {
      if ((int)local_38 < 0) {
        DAT_000b57a0 = 0x6d65202c;
        DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x62);
      }
      if (((uint)local_38 & 0x10000) != 0) {
        pcVar4 = (char *)0x0;
        pcVar5 = (char *)dcgettext(0,", relocatable",5,&DAT_000b57a0);
        strcat((char *)&DAT_000b57a0,pcVar5);
      }
      if (((uint)local_38 & 0x8000) == 0) {
        local_38 = *(char **)(param_1 + 0x3c);
      }
      else {
        pcVar4 = (char *)dcgettext(0,", relocatable-lib",5,pcVar4);
        strcat((char *)&DAT_000b57a0,pcVar4);
        local_38 = *(char **)(param_1 + 0x3c);
      }
    }
    goto LAB_0003b840;
  }
  if ((uVar2 == 8) || (uVar2 == 10)) {
    pcVar5 = (char *)&DAT_000b57a0;
    local_34 = &DAT_000b57a0;
    puVar9 = (uint *)param_1;
    if (((uint)local_38 & 1) != 0) {
      pcVar4 = ", noreorder";
      puVar9 = (uint *)pcVar5;
      for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {
        *puVar9 = *(undefined4 *)pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -8 + 4;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -8 + 4);
      }
    }
    pcVar14 = local_38;
    if (((uint)local_38 & 2) != 0) {
      uVar13 = 0xffffffff;
      pcVar14 = pcVar5;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *pcVar14;
        pcVar14 = pcVar14 + (uint)bVar22 * -2 + 1;
      } while (cVar1 != '\0');
      pcVar14 = (char *)~uVar13;
      builtin_strncpy(pcVar14 + 0xb579f,", pic",6);
      puVar9 = local_34;
    }
    if (((uint)local_38 & 4) != 0) {
      uVar13 = 0xffffffff;
      pcVar4 = pcVar5;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
      } while (cVar1 != '\0');
      pcVar14 = &DAT_000b579f + ~uVar13;
      pcVar4 = ", cpic";
      puVar9 = (uint *)pcVar14;
      for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
        *(char *)puVar9 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      }
    }
    if (((uint)local_38 & 0x10) != 0) {
      uVar13 = 0xffffffff;
      pcVar4 = pcVar5;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
      } while (cVar1 != '\0');
      pcVar14 = &DAT_000b579f + ~uVar13;
      pcVar4 = ", ugen_reserved";
      puVar9 = (uint *)pcVar14;
      for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {
        *puVar9 = *(undefined4 *)pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -8 + 4;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -8 + 4);
      }
    }
    if (((uint)local_38 & 0x20) != 0) {
      uVar13 = 0xffffffff;
      pcVar4 = pcVar5;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
      } while (cVar1 != '\0');
      pcVar14 = &DAT_000b579f + ~uVar13;
      pcVar4 = ", abi2";
      puVar9 = (uint *)pcVar14;
      for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
        *(char *)puVar9 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      }
    }
    if (((uint)local_38 & 0x80) != 0) {
      uVar13 = 0xffffffff;
      pcVar4 = pcVar5;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
      } while (cVar1 != '\0');
      pcVar14 = &DAT_000b579f + ~uVar13;
      pcVar4 = ", odk first";
      puVar9 = (uint *)pcVar14;
      for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {
        *puVar9 = *(undefined4 *)pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -8 + 4;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -8 + 4);
      }
    }
    if (((uint)local_38 & 0x100) != 0) {
      uVar13 = 0xffffffff;
      pcVar4 = pcVar5;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
      } while (cVar1 != '\0');
      pcVar14 = &DAT_000b579f + ~uVar13;
      pcVar4 = ", 32bitmode";
      puVar9 = (uint *)pcVar14;
      for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {
        *puVar9 = *(undefined4 *)pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -8 + 4;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -8 + 4);
      }
    }
    if (((uint)local_38 & 0x400) != 0) {
      uVar13 = 0xffffffff;
      pcVar4 = pcVar5;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
      } while (cVar1 != '\0');
      pcVar14 = &DAT_000b579f + ~uVar13;
      pcVar4 = ", nan2008";
      puVar9 = (uint *)pcVar14;
      for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
        *(char *)puVar9 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      }
    }
    if (((uint)local_38 & 0x200) != 0) {
      uVar13 = 0xffffffff;
      pcVar4 = pcVar5;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
      } while (cVar1 != '\0');
      pcVar14 = &DAT_000b579f + ~uVar13;
      pcVar4 = ", fp64";
      puVar9 = (uint *)pcVar14;
      for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
        *(char *)puVar9 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      }
    }
    uVar13 = (uint)local_38 & 0xff0000;
    if (uVar13 == 0x8c0000) {
      uVar13 = 0xffffffff;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *pcVar5;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      } while (cVar1 != '\0');
      pcVar5 = (char *)&DAT_000b57a0;
      pcVar14 = (char *)~uVar13;
      builtin_strncpy(pcVar14 + 0xb579f,", xlr",6);
    }
    else if (uVar13 < 0x8c0001) {
      if (uVar13 == 0x850000) {
        uVar13 = 0xffffffff;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *pcVar5;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        } while (cVar1 != '\0');
        pcVar14 = &DAT_000b579f + ~uVar13;
        pcVar4 = ", 4650";
        pcVar5 = pcVar14;
        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
      }
      else if (uVar13 < 0x850001) {
        if (uVar13 == 0x810000) {
          uVar13 = 0xffffffff;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar5;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          pcVar14 = &DAT_000b579f + ~uVar13;
          pcVar4 = ", 3900";
          pcVar5 = pcVar14;
          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        else if (uVar13 < 0x810001) {
          pcVar5 = (char *)puVar9;
          if (uVar13 != 0) goto LAB_0003d280;
        }
        else if (uVar13 == 0x820000) {
          uVar13 = 0xffffffff;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar5;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          pcVar14 = &DAT_000b579f + ~uVar13;
          pcVar4 = ", 4010";
          pcVar5 = pcVar14;
          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        else {
          if (uVar13 != 0x830000) goto LAB_0003d280;
          uVar13 = 0xffffffff;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar5;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          pcVar14 = &DAT_000b579f + ~uVar13;
          pcVar4 = ", 4100";
          pcVar5 = pcVar14;
          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
      }
      else if (uVar13 == 0x880000) {
        uVar13 = 0xffffffff;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *pcVar5;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        } while (cVar1 != '\0');
        pcVar14 = &DAT_000b579f + ~uVar13;
        pcVar4 = ", 4111";
        pcVar5 = pcVar14;
        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
      }
      else if (uVar13 < 0x880001) {
        if (uVar13 != 0x870000) goto LAB_0003d280;
        uVar13 = 0xffffffff;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *pcVar5;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        } while (cVar1 != '\0');
        pcVar14 = &DAT_000b579f + ~uVar13;
        pcVar4 = ", 4120";
        pcVar5 = pcVar14;
        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
      }
      else if (uVar13 == 0x8a0000) {
        uVar13 = 0xffffffff;
        pcVar4 = pcVar5;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        } while (cVar1 != '\0');
        pcVar14 = (char *)~uVar13;
        builtin_strncpy(pcVar14 + 0xb579f,", sb1",6);
      }
      else {
        if (uVar13 != 0x8b0000) goto LAB_0003d280;
        uVar13 = 0xffffffff;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *pcVar5;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        } while (cVar1 != '\0');
        pcVar14 = &DAT_000b579f + ~uVar13;
        pcVar4 = ", octeon";
        pcVar5 = pcVar14;
        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
      }
    }
    else if (uVar13 == 0x930000) {
      uVar13 = 0xffffffff;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *pcVar5;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      } while (cVar1 != '\0');
      pcVar14 = &DAT_000b579f + ~uVar13;
      pcVar4 = ", interaptiv-mr2";
      pcVar5 = pcVar14;
      for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    else if (uVar13 < 0x930001) {
      if (uVar13 == 0x8e0000) {
        uVar13 = 0xffffffff;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *pcVar5;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        } while (cVar1 != '\0');
        pcVar14 = &DAT_000b579f + ~uVar13;
        pcVar4 = ", octeon3";
        pcVar5 = pcVar14;
        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
      }
      else if (uVar13 < 0x8e0001) {
        if (uVar13 == 0x8d0000) {
          uVar13 = 0xffffffff;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar5;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          pcVar14 = &DAT_000b579f + ~uVar13;
          pcVar4 = ", octeon2";
          pcVar5 = pcVar14;
          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        else {
LAB_0003d280:
          pcVar5 = (char *)0x0;
          pcVar4 = (char *)dcgettext(0,", unknown CPU",5,pcVar4);
          strcat((char *)&DAT_000b57a0,pcVar4);
          pcVar14 = extraout_EDX;
        }
      }
      else if (uVar13 == 0x910000) {
        uVar13 = 0xffffffff;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *pcVar5;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        } while (cVar1 != '\0');
        pcVar14 = &DAT_000b579f + ~uVar13;
        pcVar4 = ", 5400";
        pcVar5 = pcVar14;
        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
      }
      else {
        if (uVar13 != 0x920000) goto LAB_0003d280;
        uVar13 = 0xffffffff;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *pcVar5;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        } while (cVar1 != '\0');
        pcVar14 = &DAT_000b579f + ~uVar13;
        pcVar4 = ", 5900";
        pcVar5 = pcVar14;
        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
      }
    }
    else if (uVar13 == 0xa00000) {
      uVar13 = 0xffffffff;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *pcVar5;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      } while (cVar1 != '\0');
      pcVar14 = &DAT_000b579f + ~uVar13;
      pcVar4 = ", loongson-2e";
      pcVar5 = pcVar14;
      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    else if (uVar13 < 0xa00001) {
      if (uVar13 == 0x980000) {
        uVar13 = 0xffffffff;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *pcVar5;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        } while (cVar1 != '\0');
        pcVar14 = &DAT_000b579f + ~uVar13;
        pcVar4 = ", 5500";
        pcVar5 = pcVar14;
        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
      }
      else {
        if (uVar13 != 0x990000) goto LAB_0003d280;
        uVar13 = 0xffffffff;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *pcVar5;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        } while (cVar1 != '\0');
        pcVar14 = &DAT_000b579f + ~uVar13;
        pcVar4 = ", 9000";
        pcVar5 = pcVar14;
        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
      }
    }
    else if (uVar13 == 0xa10000) {
      uVar13 = 0xffffffff;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *pcVar5;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      } while (cVar1 != '\0');
      pcVar14 = &DAT_000b579f + ~uVar13;
      pcVar4 = ", loongson-2f";
      pcVar5 = pcVar14;
      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    else {
      if (uVar13 != 0xa20000) goto LAB_0003d280;
      uVar13 = 0xffffffff;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *pcVar5;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      } while (cVar1 != '\0');
      pcVar14 = &DAT_000b579f + ~uVar13;
      pcVar4 = ", loongson-3a";
      pcVar5 = pcVar14;
      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    local_34 = &DAT_000b57a0;
    uVar13 = (uint)local_38 & 0xf000;
    if (uVar13 == 0x2000) {
      uVar13 = 0xffffffff;
      puVar9 = local_34;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *(char *)puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while (cVar1 != '\0');
      pcVar14 = (char *)~uVar13;
      builtin_strncpy(pcVar14 + 0xb579f,", o64",6);
    }
    else if (uVar13 < 0x2001) {
      if (uVar13 != 0) {
        if (uVar13 == 0x1000) {
          uVar13 = 0xffffffff;
          puVar9 = local_34;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *(char *)puVar9;
            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
          } while (cVar1 != '\0');
          pcVar14 = (char *)~uVar13;
          builtin_strncpy(pcVar14 + 0xb579f,", o32",6);
        }
        else {
LAB_0003e7da:
          pcVar4 = (char *)dcgettext(0,", unknown ABI",5,pcVar5);
          strcat((char *)&DAT_000b57a0,pcVar4);
          pcVar14 = extraout_EDX_01;
        }
      }
    }
    else if (uVar13 == 0x3000) {
      uVar13 = 0xffffffff;
      puVar9 = local_34;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *(char *)puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while (cVar1 != '\0');
      pcVar14 = &DAT_000b579f + ~uVar13;
      pcVar4 = ", eabi32";
      pcVar5 = pcVar14;
      for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    else {
      if (uVar13 != 0x4000) goto LAB_0003e7da;
      uVar13 = 0xffffffff;
      puVar9 = local_34;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *(char *)puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while (cVar1 != '\0');
      pcVar14 = &DAT_000b579f + ~uVar13;
      pcVar4 = ", eabi64";
      pcVar5 = pcVar14;
      for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0x8000000) != 0) {
      uVar13 = 0xffffffff;
      puVar9 = local_34;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *(char *)puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while (cVar1 != '\0');
      pcVar14 = &DAT_000b579f + ~uVar13;
      pcVar4 = ", mdmx";
      pcVar5 = pcVar14;
      for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0x4000000) != 0) {
      uVar13 = 0xffffffff;
      puVar9 = local_34;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *(char *)puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while (cVar1 != '\0');
      pcVar14 = &DAT_000b579f + ~uVar13;
      pcVar4 = ", mips16";
      pcVar5 = pcVar14;
      for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0x2000000) != 0) {
      uVar13 = 0xffffffff;
      puVar9 = local_34;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *(char *)puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while (cVar1 != '\0');
      pcVar14 = &DAT_000b579f + ~uVar13;
      pcVar4 = ", micromips";
      pcVar5 = pcVar14;
      for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {
        *(undefined4 *)pcVar5 = *(undefined4 *)pcVar4;
        pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;
        pcVar5 = pcVar5 + (uint)bVar22 * -8 + 4;
      }
    }
    uVar13 = (uint)local_38 & 0xf0000000;
    if (uVar13 == 0x50000000) {
      uVar13 = 0xffffffff;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *(char *)local_34;
        local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);
      } while (cVar1 != '\0');
      pcVar4 = ", mips32";
      pcVar5 = &DAT_000b579f + ~uVar13;
      for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
      local_38 = *(char **)(param_1 + 0x3c);
    }
    else if (uVar13 < 0x50000001) {
      if (uVar13 == 0x20000000) {
        uVar13 = 0xffffffff;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *(char *)local_34;
          local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);
        } while (cVar1 != '\0');
        *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x696d202c;
        *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x337370;
        local_38 = *(char **)(param_1 + 0x3c);
      }
      else if (uVar13 < 0x20000001) {
        if (uVar13 == 0) {
          uVar13 = 0xffffffff;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *(char *)local_34;
            local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);
          } while (cVar1 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x696d202c;
          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x317370;
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else if (uVar13 == 0x10000000) {
          uVar13 = 0xffffffff;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *(char *)local_34;
            local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);
          } while (cVar1 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x696d202c;
          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x327370;
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else {
LAB_0003e94f:
          pcVar4 = (char *)dcgettext(0,", unknown ISA",5,pcVar14);
          strcat((char *)&DAT_000b57a0,pcVar4);
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
      else if (uVar13 == 0x30000000) {
        uVar13 = 0xffffffff;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *(char *)local_34;
          local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);
        } while (cVar1 != '\0');
        *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x696d202c;
        *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x347370;
        local_38 = *(char **)(param_1 + 0x3c);
      }
      else {
        if (uVar13 != 0x40000000) goto LAB_0003e94f;
        uVar13 = 0xffffffff;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *(char *)local_34;
          local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);
        } while (cVar1 != '\0');
        *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x696d202c;
        *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x357370;
        local_38 = *(char **)(param_1 + 0x3c);
      }
    }
    else if (uVar13 == 0x80000000) {
      uVar13 = 0xffffffff;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *(char *)local_34;
        local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);
      } while (cVar1 != '\0');
      pcVar4 = ", mips64r2";
      pcVar5 = &DAT_000b579f + ~uVar13;
      for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
      local_38 = *(char **)(param_1 + 0x3c);
    }
    else if (uVar13 < 0x80000001) {
      if (uVar13 == 0x60000000) {
        uVar13 = 0xffffffff;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *(char *)local_34;
          local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);
        } while (cVar1 != '\0');
        pcVar4 = ", mips64";
        pcVar5 = &DAT_000b579f + ~uVar13;
        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
        local_38 = *(char **)(param_1 + 0x3c);
      }
      else {
        if (uVar13 != 0x70000000) goto LAB_0003e94f;
        uVar13 = 0xffffffff;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *(char *)local_34;
          local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);
        } while (cVar1 != '\0');
        pcVar4 = ", mips32r2";
        pcVar5 = &DAT_000b579f + ~uVar13;
        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
        local_38 = *(char **)(param_1 + 0x3c);
      }
    }
    else if (uVar13 == 0x90000000) {
      uVar13 = 0xffffffff;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *(char *)local_34;
        local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);
      } while (cVar1 != '\0');
      pcVar4 = ", mips32r6";
      pcVar5 = &DAT_000b579f + ~uVar13;
      for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
      local_38 = *(char **)(param_1 + 0x3c);
    }
    else {
      if (uVar13 != 0xa0000000) goto LAB_0003e94f;
      uVar13 = 0xffffffff;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *(char *)local_34;
        local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);
      } while (cVar1 != '\0');
      pcVar4 = ", mips64r6";
      pcVar5 = &DAT_000b579f + ~uVar13;
      for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
      local_38 = *(char **)(param_1 + 0x3c);
    }
    goto LAB_0003b840;
  }
  if (uVar2 != 4) goto LAB_0003b840;
  uVar13 = (uint)local_38 & 0x3818000;
  if (uVar13 == 0x1000000) {
    pcVar4 = ", m68000";
    pcVar5 = (char *)&DAT_000b57a0;
    for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
      *pcVar5 = *pcVar4;
      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
    }
    local_38 = *(char **)(param_1 + 0x3c);
    goto LAB_0003b840;
  }
  if (uVar13 == 0x810000) {
    DAT_000b57a0 = 0x7063202c;
    DAT_000b57a4 = 0x323375;
    local_38 = *(char **)(param_1 + 0x3c);
    goto LAB_0003b840;
  }
  if (uVar13 == 0x2000000) {
    pcVar4 = ", fido_a";
    pcVar5 = (char *)&DAT_000b57a0;
    for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
      *pcVar5 = *pcVar4;
      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
    }
    local_38 = *(char **)(param_1 + 0x3c);
    goto LAB_0003b840;
  }
  pcVar4 = (char *)dcgettext(0,"unknown",5);
  local_3c = (char *)dcgettext(0,"unknown mac",5);
  switch((uint)local_38 & 0xf) {
  default:
    uVar13 = 0xffffffff;
    pcVar5 = (char *)&DAT_000b57a0;
    do {
      if (uVar13 == 0) break;
      uVar13 = uVar13 - 1;
      cVar1 = *pcVar5;
      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
    } while (cVar1 != '\0');
    pcVar5 = ", cf, isa ";
    pcVar14 = &DAT_000b579f + ~uVar13;
    for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
      *pcVar14 = *pcVar5;
      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      pcVar14 = pcVar14 + (uint)bVar22 * -2 + 1;
    }
    strcpy((char *)(~uVar13 + 0xb57a9),pcVar4);
    goto LAB_0003c31a;
  case 1:
    local_40 = ", nodiv";
    pcVar4 = "A";
    goto code_r0x0003c39b;
  case 2:
    pcVar4 = "A";
    break;
  case 3:
    pcVar4 = "A+";
    break;
  case 4:
    pcVar4 = "B";
    local_40 = ", nousp";
    goto code_r0x0003c39b;
  case 5:
    pcVar4 = "B";
    break;
  case 6:
    pcVar4 = "C";
    break;
  case 7:
    local_40 = ", nodiv";
    pcVar4 = "C";
code_r0x0003c39b:
    uVar13 = 0xffffffff;
    pcVar5 = (char *)&DAT_000b57a0;
    do {
      if (uVar13 == 0) break;
      uVar13 = uVar13 - 1;
      cVar1 = *pcVar5;
      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
    } while (cVar1 != '\0');
    cVar1 = *pcVar4;
    uVar13 = ~uVar13;
    pcVar4 = ", cf, isa ";
    pcVar5 = &DAT_000b579f + uVar13;
    for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
      *pcVar5 = *pcVar4;
      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
    }
    *(char *)(uVar13 + 0xb57a9) = cVar1;
    uVar3 = *(undefined4 *)local_40;
    *(undefined4 *)((int)&DAT_000b57ac + uVar13 + 2) = *(undefined4 *)(local_40 + 4);
    *(undefined4 *)(uVar13 + 0xb57aa) = uVar3;
    goto LAB_0003c31a;
  }
  uVar13 = 0xffffffff;
  pcVar5 = (char *)&DAT_000b57a0;
  do {
    if (uVar13 == 0) break;
    uVar13 = uVar13 - 1;
    cVar1 = *pcVar5;
    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
  } while (cVar1 != '\0');
  pcVar5 = ", cf, isa ";
  pcVar14 = &DAT_000b579f + ~uVar13;
  for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
    *pcVar14 = *pcVar5;
    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
    pcVar14 = pcVar14 + (uint)bVar22 * -2 + 1;
  }
  strcpy((char *)(~uVar13 + 0xb57a9),pcVar4);
LAB_0003c31a:
  local_34 = &DAT_000b57a0;
  if (((uint)local_38 & 0x40) != 0) {
    uVar13 = 0xffffffff;
    puVar9 = local_34;
    do {
      if (uVar13 == 0) break;
      uVar13 = uVar13 - 1;
      cVar1 = *(char *)puVar9;
      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
    } while (cVar1 != '\0');
    *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6c66202c;
    *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x74616f;
  }
  uVar13 = (uint)local_38 & 0x30;
  if (uVar13 == 0x10) {
    local_3c = "mac";
LAB_0003c354:
    uVar13 = 0xffffffff;
    do {
      if (uVar13 == 0) break;
      uVar13 = uVar13 - 1;
      cVar1 = *(char *)local_34;
      local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);
    } while (cVar1 != '\0');
    *(undefined2 *)(&DAT_000b579f + ~uVar13) = 0x202c;
    strcpy((char *)((int)&DAT_000b57a0 + ~uVar13 + 1),local_3c);
    local_38 = *(char **)(param_1 + 0x3c);
  }
  else {
    if (0x10 < uVar13) {
      if (uVar13 == 0x20) {
        local_3c = "emac";
      }
      else {
        if (uVar13 != 0x30) goto LAB_0003e4f5;
        local_3c = "emac_b";
      }
      goto LAB_0003c354;
    }
    if (uVar13 == 0) {
      local_38 = *(char **)(param_1 + 0x3c);
    }
    else {
LAB_0003e4f5:
      if (local_3c != (char *)0x0) goto LAB_0003c354;
      local_38 = *(char **)(param_1 + 0x3c);
    }
  }
LAB_0003b840:
  pcVar4 = (char *)dcgettext(0,"  Flags:                             0x%lx%s\n",5);
  printf(pcVar4,local_38,&DAT_000b57a0);
  uVar3 = *(undefined4 *)(param_1 + 0x44);
  pcVar4 = (char *)dcgettext(0,"  Size of this header:               %ld (bytes)\n",5);
  printf(pcVar4,uVar3);
  uVar3 = *(undefined4 *)(param_1 + 0x48);
  pcVar4 = (char *)dcgettext(0,"  Size of program headers:           %ld (bytes)\n",5);
  printf(pcVar4,uVar3);
  uVar3 = *(undefined4 *)(param_1 + 0x4c);
  pcVar4 = (char *)dcgettext(0,"  Number of program headers:         %ld",5);
  printf(pcVar4,uVar3);
  if (((*(int *)(param_1 + 0x5c) != 0) && (*(int *)(param_1 + 0x4c) == 0xffff)) &&
     (iVar11 = *(int *)(*(int *)(param_1 + 0x5c) + 0x2c), iVar11 != 0)) {
    printf(" (%ld)",iVar11);
  }
  puVar8 = PTR_stdout_000b3fd8;
  putc(10,*(FILE **)PTR_stdout_000b3fd8);
  uVar3 = *(undefined4 *)(param_1 + 0x50);
  pcVar4 = (char *)dcgettext(0,"  Size of section headers:           %ld (bytes)\n",5);
  printf(pcVar4,uVar3);
  uVar3 = *(undefined4 *)(param_1 + 0x54);
  pcVar4 = (char *)dcgettext(0,"  Number of section headers:         %ld",5);
  printf(pcVar4,uVar3);
  if ((*(int *)(param_1 + 0x5c) != 0) && (*(int *)(param_1 + 0x54) == 0)) {
    printf(" (%ld)",*(undefined4 *)(*(int *)(param_1 + 0x5c) + 0x20));
  }
  putc(10,*(FILE **)puVar8);
  uVar3 = *(undefined4 *)(param_1 + 0x58);
  pcVar4 = (char *)dcgettext(0,"  Section header string table index: %ld",5);
  printf(pcVar4,uVar3);
  if (*(int *)(param_1 + 0x5c) == 0) {
    uVar13 = *(uint *)(param_1 + 0x58);
LAB_0003b994:
    if ((uVar13 != 0) && (*(uint *)(param_1 + 0x54) <= uVar13)) {
      pcVar4 = (char *)dcgettext(0," <corrupt: out of range>",5);
      printf(pcVar4);
    }
  }
  else {
    uVar13 = *(uint *)(param_1 + 0x58);
    if (uVar13 != 0xffff) goto LAB_0003b994;
    printf(" (%u)",*(undefined4 *)(*(int *)(param_1 + 0x5c) + 0x28));
  }
  putc(10,*(FILE **)puVar8);
LAB_0003b371:
  __ptr = *(void **)(param_1 + 0x5c);
  if (__ptr == (void *)0x0) {
    return 1;
  }
  if ((*(int *)(param_1 + 0x4c) == 0xffff) && (*(int *)((int)__ptr + 0x2c) != 0)) {
    *(int *)(param_1 + 0x4c) = *(int *)((int)__ptr + 0x2c);
  }
  uVar13 = *(uint *)(param_1 + 0x54);
  if (uVar13 == 0) {
    uVar13 = *(uint *)((int)__ptr + 0x20);
    *(uint *)(param_1 + 0x54) = uVar13;
  }
  uVar12 = *(uint *)(param_1 + 0x58);
  if (uVar12 == 0xffff) {
    uVar12 = *(uint *)((int)__ptr + 0x28);
    *(uint *)(param_1 + 0x58) = uVar12;
  }
  if (uVar13 <= uVar12) {
    param_1[0x58] = '\0';
    param_1[0x59] = '\0';
    param_1[0x5a] = '\0';
    param_1[0x5b] = '\0';
  }
  free(__ptr);
  param_1[0x5c] = '\0';
  param_1[0x5d] = '\0';
  param_1[0x5e] = '\0';
  param_1[0x5f] = '\0';
  return 1;
}


PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00013f70
ADD EBX,0x78cf5
SUB ESP,0x3c
CMP dword ptr [EAX + 0x10],0x464c457f
MOV dword ptr [EBP + -0x2c],EAX
JZ 0x0003b350
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd06e0]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x000666b0
ADD ESP,0x10
XOR EAX,EAX
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [EBP + -0x2c]
SUB ESP,0xc
MOVZX EAX,word ptr [EAX + 0x42]
PUSH EAX
CALL 0x0005d920
MOV EAX,dword ptr [EBX + 0x2344]
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0003b3f0
MOV ECX,dword ptr [EBP + -0x2c]
MOV EAX,0x1
MOV EDX,dword ptr [ECX + 0x5c]
TEST EDX,EDX
JZ 0x0003b340
CMP dword ptr [ECX + 0x4c],0xffff
JZ 0x0003bd40
MOV ECX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [ECX + 0x54]
TEST EAX,EAX
JZ 0x0003b3e0
MOV ECX,dword ptr [EBP + -0x2c]
MOV ECX,dword ptr [ECX + 0x58]
CMP ECX,0xffff
JNZ 0x0003b3ae
MOV ECX,dword ptr [EDX + 0x28]
MOV ESI,dword ptr [EBP + -0x2c]
MOV dword ptr [ESI + 0x58],ECX
CMP ECX,EAX
JC 0x0003b3bc
MOV EAX,dword ptr [EBP + -0x2c]
MOV dword ptr [EAX + 0x58],0x0
SUB ESP,0xc
PUSH EDX
CALL 0x000130a0
MOV EAX,dword ptr [EBP + -0x2c]
ADD ESP,0x10
MOV dword ptr [EAX + 0x5c],0x0
LEA ESP,[EBP + -0xc]
MOV EAX,0x1
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [EDX + 0x20]
MOV dword ptr [ECX + 0x54],EAX
JMP 0x0003b397
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc8549]
LEA ESI,[EBX + 0xfffc8562]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0xc
LEA EAX,[EBX + 0xfffc8556]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
MOV EAX,dword ptr [EBP + -0x2c]
ADD ESP,0x10
MOV dword ptr [EBP + -0x30],EAX
LEA EDI,[EAX + 0x10]
LEA EDX,[EAX + 0x20]
MOV dword ptr [EBP + -0x2c],EDI
MOV EDI,ESI
MOV ESI,EDX
LEA ESI,[ESI]
MOV EAX,dword ptr [EBP + -0x2c]
SUB ESP,0x8
MOVZX EAX,byte ptr [EAX]
PUSH EAX
PUSH EDI
CALL 0x00013060
ADD dword ptr [EBP + -0x2c],0x1
MOV EAX,dword ptr [EBP + -0x2c]
ADD ESP,0x10
CMP ESI,EAX
JNZ 0x0003b448
SUB ESP,0xc
MOV EAX,dword ptr [EBP + -0x30]
PUSH 0xa
MOV ESI,EAX
MOV dword ptr [EBP + -0x2c],EAX
CALL 0x000132d0
MOVZX EDX,byte ptr [ESI + 0x14]
ADD ESP,0x10
LEA ESI,[EBX + 0xfffc84de]
CMP DL,0x1
JZ 0x0003b4ca
TEST DL,DL
JZ 0x0003c480
LEA ESI,[EBX + 0xfffc84e4]
CMP DL,0x2
JZ 0x0003b4ca
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc2a46]
MOV byte ptr [EBP + -0x30],DL
LEA ESI,[EBX + 0x1c40]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOVZX EDX,byte ptr [EBP + -0x30]
PUSH EDX
PUSH EAX
PUSH 0x20
PUSH ESI
CALL 0x000132c0
ADD ESP,0x20
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd0720]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP ECX
POP EDI
PUSH ESI
PUSH EAX
CALL 0x00013060
MOV EAX,dword ptr [EBP + -0x2c]
ADD ESP,0x10
MOVZX EDX,byte ptr [EAX + 0x15]
CMP DL,0x1
JZ 0x0003c4b0
TEST DL,DL
JZ 0x0003c4a0
CMP DL,0x2
JZ 0x0003c460
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc2a46]
MOV byte ptr [EBP + -0x30],DL
LEA ESI,[EBX + 0x1c20]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOVZX EDX,byte ptr [EBP + -0x30]
PUSH EDX
PUSH EAX
PUSH 0x20
PUSH ESI
CALL 0x000132c0
ADD ESP,0x20
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd074c]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDI
POP EDX
PUSH ESI
PUSH EAX
LEA EDI,[EBX + 0xfffc84ea]
CALL 0x00013060
MOV EAX,dword ptr [EBP + -0x2c]
ADD ESP,0x10
MOVZX ESI,byte ptr [EAX + 0x16]
MOV EAX,ESI
CMP AL,0x1
JZ 0x0003b577
LEA EDI,[EBX + 0xfffc7c5a]
TEST AL,AL
JNZ 0x0003c508
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd0778]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV ECX,ESI
ADD ESP,0xc
MOVZX ESI,CL
PUSH EDI
PUSH ESI
PUSH EAX
CALL 0x00013060
MOV EDI,dword ptr [EBP + -0x2c]
MOVZX EDX,byte ptr [EDI + 0x17]
LEA EAX,[EDI + 0x42]
CALL 0x000241c0
ADD ESP,0xc
MOV ESI,EAX
LEA EAX,[EBX + 0xfffd07a4]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x00013060
ADD ESP,0xc
LEA EAX,[EBX + 0xfffd07d0]
MOVZX ESI,byte ptr [EDI + 0x18]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x00013060
MOVZX EAX,word ptr [EDI + 0x40]
CALL 0x0001c2b0
ADD ESP,0xc
MOV ESI,EAX
LEA EAX,[EBX + 0xfffd07fc]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x00013060
MOVZX EAX,word ptr [EDI + 0x42]
CALL 0x0001c3f0
ADD ESP,0xc
MOV ESI,EAX
LEA EAX,[EBX + 0xfffd0828]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x00013060
ADD ESP,0xc
LEA EAX,[EBX + 0xfffd0854]
MOV ESI,dword ptr [EDI + 0x38]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
PUSH ESI
PUSH EAX
LEA ESI,[EBX + 0xfffc2943]
CALL 0x00013060
ADD ESP,0xc
LEA EAX,[EBX + 0xfffd0880]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
MOV EDX,dword ptr [EDI + 0x24]
MOV EAX,dword ptr [EDI + 0x20]
MOV ECX,0x4
CALL 0x0001e910
ADD ESP,0xc
LEA EAX,[EBX + 0xfffd08a8]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0xc
PUSH dword ptr [EDI + 0x2c]
PUSH dword ptr [EDI + 0x28]
PUSH ESI
CALL 0x00013060
ADD ESP,0xc
LEA EAX,[EBX + 0xfffd08d0]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0xc
PUSH dword ptr [EDI + 0x34]
PUSH dword ptr [EDI + 0x30]
PUSH ESI
CALL 0x00013060
ADD ESP,0xc
LEA EAX,[EBX + 0xfffc85b1]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
MOV EDX,dword ptr [EDI + 0x3c]
MOVZX EAX,word ptr [EDI + 0x42]
ADD ESP,0x10
LEA ECX,[EBX + 0x17a0]
MOV byte ptr [EBX + 0x17a0],0x0
MOV dword ptr [EBP + -0x34],EDX
MOV dword ptr [EBP + -0x30],ECX
TEST EDX,EDX
JZ 0x0003b840
CMP AX,0x5b
JZ 0x0003bdf2
JBE 0x0003bb10
CMP AX,0xc3
JZ 0x0003cc32
JA 0x0003b9c0
CMP AX,0x69
JZ 0x0003d2f8
JBE 0x0003bd53
CMP AX,0x8c
JZ 0x0003cbcd
JBE 0x0003bd98
CMP AX,0xa7
JZ 0x0003be20
CMP AX,0xad
LEA EAX,[EBX + 0x17a0]
MOV dword ptr [EBP + -0x30],EAX
JNZ 0x0003b840
TEST byte ptr [EBP + -0x34],0x1
JNZ 0x0003c267
TEST byte ptr [EBP + -0x34],0x2
JNZ 0x0003e3b9
TEST byte ptr [EBP + -0x34],0x4
JNZ 0x0003de4c
TEST byte ptr [EBP + -0x34],0x8
JNZ 0x0003de23
MOV EAX,dword ptr [EBP + -0x34]
TEST AL,0x40
JZ 0x0003b824
TEST AL,0x80
LEA EDX,[EBX + 0xfffc851b]
LEA EAX,[EBX + 0xfffc8500]
MOV ESI,dword ptr [EBP + -0x30]
CMOVZ EAX,EDX
MOV EDX,dword ptr [EBP + -0x2c]
MOV EDI,EDX
MOV ECX,dword ptr [ESI]
ADD ESI,0x4
LEA EDX,[ECX + 0xfefefeff]
NOT ECX
AND EDX,ECX
AND EDX,0x80808080
JZ 0x0003b7be
MOV ECX,EDX
MOV dword ptr [EBP + -0x2c],EDI
SHR ECX,0x10
TEST EDX,0x8080
CMOVZ EDX,ECX
LEA ECX,[ESI + 0x2]
CMOVZ ESI,ECX
MOV ECX,EDX
ADD CL,DL
MOV EDX,dword ptr [EAX]
SBB ESI,0x3
MOV dword ptr [ESI],EDX
MOV EDX,dword ptr [EAX + 0x4]
MOV dword ptr [ESI + 0x4],EDX
MOV EDX,dword ptr [EAX + 0x8]
MOV dword ptr [ESI + 0x8],EDX
MOV EDX,dword ptr [EAX + 0xc]
MOV dword ptr [ESI + 0xc],EDX
MOV EDX,dword ptr [EAX + 0x10]
MOV dword ptr [ESI + 0x10],EDX
MOV EDX,dword ptr [EAX + 0x14]
MOV dword ptr [ESI + 0x14],EDX
MOVZX EDX,word ptr [EAX + 0x18]
MOVZX EAX,byte ptr [EAX + 0x1a]
MOV word ptr [ESI + 0x18],DX
MOV byte ptr [ESI + 0x1a],AL
TEST dword ptr [EBP + -0x34],0x100
JNZ 0x0003e3df
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
LEA ESI,[ESI]
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd0a34]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
ADD ESP,0xc
PUSH dword ptr [EBP + -0x30]
PUSH dword ptr [EBP + -0x34]
PUSH EAX
CALL 0x00013060
MOV EDI,dword ptr [EBP + -0x2c]
ADD ESP,0xc
LEA EAX,[EBX + 0xfffd0a64]
MOV ESI,dword ptr [EDI + 0x44]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x00013060
ADD ESP,0xc
LEA EAX,[EBX + 0xfffd0a98]
MOV ESI,dword ptr [EDI + 0x48]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x00013060
ADD ESP,0xc
LEA EAX,[EBX + 0xfffd0acc]
MOV ESI,dword ptr [EDI + 0x4c]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x00013060
MOV EAX,dword ptr [EDI + 0x5c]
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0003b8d9
CMP dword ptr [EDI + 0x4c],0xffff
JZ 0x0003c4c0
MOV ESI,dword ptr [EBX + 0xffffffd8]
SUB ESP,0x8
PUSH dword ptr [ESI]
PUSH 0xa
CALL 0x00013360
MOV EDX,dword ptr [EBP + -0x2c]
ADD ESP,0xc
LEA EAX,[EBX + 0xfffd0af8]
MOV EDI,dword ptr [EDX + 0x50]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
PUSH EDI
PUSH EAX
CALL 0x00013060
MOV EDX,dword ptr [EBP + -0x2c]
ADD ESP,0xc
LEA EAX,[EBX + 0xfffd0b2c]
MOV EDI,dword ptr [EDX + 0x54]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
PUSH EDI
PUSH EAX
CALL 0x00013060
MOV EDX,dword ptr [EBP + -0x2c]
ADD ESP,0x10
MOV EAX,dword ptr [EDX + 0x5c]
TEST EAX,EAX
JZ 0x0003b947
MOV EDI,dword ptr [EDX + 0x54]
TEST EDI,EDI
JZ 0x0003c4e8
SUB ESP,0x8
PUSH dword ptr [ESI]
PUSH 0xa
CALL 0x00013360
MOV EAX,dword ptr [EBP + -0x2c]
ADD ESP,0xc
MOV EDI,dword ptr [EAX + 0x58]
LEA EAX,[EBX + 0xfffd0b58]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
PUSH EDI
PUSH EAX
CALL 0x00013060
MOV EAX,dword ptr [EBP + -0x2c]
ADD ESP,0x10
MOV EDX,dword ptr [EAX + 0x5c]
TEST EDX,EDX
JZ 0x0003c450
MOV EAX,dword ptr [EAX + 0x58]
CMP EAX,0xffff
JZ 0x0003c52c
TEST EAX,EAX
JZ 0x0003b9a4
MOV EDX,dword ptr [EBP + -0x2c]
CMP dword ptr [EDX + 0x54],EAX
JBE 0x0003c218
SUB ESP,0x8
PUSH dword ptr [ESI]
PUSH 0xa
CALL 0x00013360
ADD ESP,0x10
JMP 0x0003b371
CMP AX,0xfa
JZ 0x0003cbf5
JBE 0x0003bae0
CMP AX,0x9041
JZ 0x0003bb50
JBE 0x0003bcd0
CMP AX,0x9080
JZ 0x0003c0c0
CMP AX,0xf00d
JNZ 0x0003c57e
MOV EAX,dword ptr [EBP + -0x34]
AND EAX,0xff000000
CMP EAX,0x2000000
JZ 0x0003c3fe
JBE 0x0003cd7a
CMP EAX,0x8000000
JZ 0x0003f1e1
CMP EAX,0x10000000
JZ 0x0003f1c6
CMP EAX,0x4000000
JZ 0x0003e8d2
LEA EAX,[EBX + 0xfffc8906]
PUSH ESI
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDI
POP EDX
PUSH EAX
LEA EAX,[EBX + 0x17a0]
PUSH EAX
MOV dword ptr [EBP + -0x30],EAX
CALL 0x00013170
ADD ESP,0x10
MOV EAX,dword ptr [EBP + -0x34]
AND EAX,0xff0000
CMP EAX,0x20000
JZ 0x0003e66c
JA 0x0003cdc2
TEST EAX,EAX
JZ 0x0003baa0
CMP EAX,0x10000
JNZ 0x0003e6fc
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc891f]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x12
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
TEST dword ptr [EBP + -0x34],0x100
JNZ 0x0003db50
MOV EDX,dword ptr [EBP + -0x34]
AND EDX,0xff
JNZ 0x0003db26
MOV ESI,dword ptr [EBP + -0x34]
AND ESI,0xfe00
JNZ 0x0003e377
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
CMP AX,0xdd
JZ 0x0003cb98
CMP AX,0xf3
JZ 0x0003c010
CMP AX,0xc5
JZ 0x0003c138
LEA EAX,[EBX + 0x17a0]
MOV dword ptr [EBP + -0x30],EAX
JMP 0x0003b840
CMP AX,0x24
JZ 0x0003c840
JBE 0x0003bc00
CMP AX,0x32
JZ 0x0003caac
JBE 0x0003bbd0
CMP AX,0x53
JZ 0x0003c60d
JBE 0x0003bb88
CMP AX,0x57
JZ 0x0003c0c0
CMP AX,0x58
JNZ 0x0003c554
LEA EAX,[EBX + 0x17a0]
MOV dword ptr [EBP + -0x30],EAX
TEST dword ptr [EBP + -0x34],0x30000000
JNZ 0x0003b840
MOV EDI,EAX
MOV EAX,dword ptr [EBP + -0x2c]
LEA ESI,[EBX + 0xfffc8a93]
MOV ECX,0x7
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
CMP AX,0x4b
LEA EAX,[EBX + 0x17a0]
MOV dword ptr [EBP + -0x30],EAX
JNZ 0x0003b840
TEST byte ptr [EBP + -0x34],0x1
JNZ 0x0003c27b
TEST dword ptr [EBP + -0x34],0x100
JNZ 0x0003ddfa
TEST dword ptr [EBP + -0x34],0x200
JNZ 0x0003ddc6
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
CMP AX,0x2a
JZ 0x0003cda8
CMP AX,0x2b
JZ 0x0003bf90
CMP AX,0x28
JZ 0x0003c180
LEA EAX,[EBX + 0x17a0]
MOV dword ptr [EBP + -0x30],EAX
JMP 0x0003b840
CMP AX,0xf
JZ 0x0003c58c
JBE 0x0003bc40
CMP AX,0x15
JZ 0x0003d530
CMP AX,0x16
JZ 0x0003c090
CMP AX,0x14
JZ 0x0003bf50
LEA EAX,[EBX + 0x17a0]
MOV dword ptr [EBP + -0x30],EAX
JMP 0x0003b840
CMP AX,0x8
JZ 0x0003ce08
CMP AX,0xa
JZ 0x0003ce08
CMP AX,0x4
JNZ 0x0003b840
MOV EAX,dword ptr [EBP + -0x34]
AND EAX,0x3818000
CMP EAX,0x1000000
JZ 0x0003c28f
CMP EAX,0x810000
JZ 0x0003e744
CMP EAX,0x2000000
JZ 0x0003e720
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc9026]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
ADD ESP,0xc
MOV dword ptr [EBP + -0x3c],EAX
LEA EAX,[EBX + 0xfffc88b4]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
ADD ESP,0x10
MOV dword ptr [EBP + -0x38],EAX
MOV EAX,dword ptr [EBP + -0x34]
AND EAX,0xf
CMP EAX,0x7
JA 0x0003f38a
MOV EDX,dword ptr [EBX + EAX*0x4 + 0xfffd9c70]
ADD EDX,EBX
JMP EDX
CMP AX,0x5441
JNZ 0x0003c562
MOV EAX,dword ptr [EBP + -0x34]
AND EAX,0xff000000
CMP EAX,0x4000000
JZ 0x0003c2b3
JA 0x0003d4e0
CMP EAX,0x1000000
JZ 0x0003f35f
JBE 0x0003d4a0
CMP EAX,0x2000000
JZ 0x0003e8a7
CMP EAX,0x3000000
JNZ 0x0003d4b1
MOV EAX,dword ptr [EBP + -0x2c]
LEA EDI,[EBX + 0x17a0]
LEA ESI,[EBX + 0xfffc8890]
MOV ECX,0x9
MOV dword ptr [EBP + -0x30],EDI
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EAX,dword ptr [EDX + 0x2c]
TEST EAX,EAX
JZ 0x0003b38d
MOV dword ptr [ECX + 0x4c],EAX
JMP 0x0003b38d
CMP AX,0x5d
JZ 0x0003cc32
JNC 0x0003bde8
TEST byte ptr [EBP + -0x34],0x1
JZ 0x0003b840
MOV EAX,dword ptr [EBP + -0x2c]
LEA EDI,[EBX + 0x17a0]
LEA ESI,[EBX + 0xfffc8e2b]
MOV ECX,0xb
MOV dword ptr [EBP + -0x30],EDI
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
CMP AX,0x6a
JNZ 0x0003c570
TEST byte ptr [EBP + -0x34],0x1
JNZ 0x0003c24f
LEA EAX,[EBX + 0x17a0]
MOV dword ptr [EBP + -0x30],EAX
TEST byte ptr [EBP + -0x34],0x2
JNZ 0x0003deb9
TEST byte ptr [EBP + -0x34],0x10
JNZ 0x0003de90
TEST byte ptr [EBP + -0x34],0x20
JNZ 0x0003dee0
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
CMP AX,0x63
JNZ 0x0003c546
LEA EAX,[EBX + 0x17a0]
MOV dword ptr [EBP + -0x30],EAX
TEST byte ptr [EBP + -0x34],0x10
JNZ 0x0003c23b
TEST byte ptr [EBP + -0x34],0x20
JNZ 0x0003dba6
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EAX,dword ptr [EBP + -0x34]
LEA EDI,[EBX + 0x17a0]
MOV ECX,0x100
MOV dword ptr [EBP + -0x30],EDI
MOV ESI,EAX
MOV EDX,EAX
AND EAX,0xf
AND EDX,0xf0000000
MOV dword ptr [EBP + -0x3c],EAX
AND ESI,0xf0
XOR EAX,EAX
STOSD.REP ES:EDI
MOV dword ptr [EBP + -0x38],EDX
CMP ESI,0x20
JZ 0x0003d15d
JBE 0x0003d150
CMP ESI,0x40
JZ 0x0003d15d
CMP ESI,0x50
JZ 0x0003d15d
CMP ESI,0x30
JZ 0x0003d15d
MOV dword ptr [EBX + 0x17a0],0x753c202c
MOV EDI,0x14
MOV dword ptr [EBX + 0x17a4],0x6365726e
MOV dword ptr [EBX + 0x17a8],0x696e676f
MOV dword ptr [EBX + 0x17ac],0x2064657a
MOV dword ptr [EBX + 0x17b0],0x3e494241
MOV byte ptr [EBX + 0x17b4],0x0
MOV EAX,0x400
SUB EAX,EDI
MOV ECX,EAX
MOV EAX,dword ptr [EBP + -0x30]
LEA EDX,[EAX + EDI*0x1]
MOV EAX,dword ptr [EBP + -0x3c]
CMP EAX,0x2
JA 0x0003dad4
PUSH dword ptr [EBX + EAX*0x4 + 0xfffff330]
LEA EAX,[EBX + 0xfffc8c21]
PUSH EAX
PUSH ECX
PUSH EDX
CALL 0x000132c0
ADD ESP,0x10
ADD EDI,EAX
MOV EAX,dword ptr [EBP + -0x30]
MOV ECX,0x400
SUB ECX,EDI
LEA EDX,[EAX + EDI*0x1]
TEST ESI,ESI
JZ 0x0003e5f2
MOV EAX,dword ptr [EBP + -0x38]
CMP EAX,0x20000000
JZ 0x0003d678
JBE 0x0003d66d
MOV EAX,dword ptr [EBP + -0x38]
CMP EAX,0x30000000
JZ 0x0003d678
CMP EAX,0x40000000
JZ 0x0003d678
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc8c2c]
PUSH EAX
PUSH ECX
PUSH EDX
CALL 0x000132c0
MOV EAX,dword ptr [EBP + -0x2c]
ADD ESP,0x10
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EAX,dword ptr [EBP + -0x34]
TEST EAX,EAX
JS 0x0003e6be
LEA EAX,[EBX + 0x17a0]
MOV dword ptr [EBP + -0x30],EAX
TEST dword ptr [EBP + -0x34],0x10000
JNZ 0x0003e05f
TEST dword ptr [EBP + -0x34],0x8000
JNZ 0x0003e083
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
TEST dword ptr [EBP + -0x34],0x100
JNZ 0x0003e4dd
LEA EAX,[EBX + 0x17a0]
MOV dword ptr [EBP + -0x30],EAX
TEST dword ptr [EBP + -0x34],0x200
JNZ 0x0003e4b4
TEST dword ptr [EBP + -0x34],0x800
JNZ 0x0003e48b
TEST dword ptr [EBP + -0x34],0x400
JNZ 0x0003e464
TEST dword ptr [EBP + -0x34],0x800000
JNZ 0x0003e43b
MOV ESI,dword ptr [EBP + -0x34]
AND ESI,0x3
JZ 0x0003e40c
CMP ESI,0x1
JZ 0x0003e56c
CMP ESI,0x2
JZ 0x0003e53d
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
TEST byte ptr [EBP + -0x34],0x1
JNZ 0x0003dfe5
LEA EAX,[EBX + 0x17a0]
MOV dword ptr [EBP + -0x30],EAX
TEST byte ptr [EBP + -0x34],0x8
JNZ 0x0003dfbf
MOV ESI,dword ptr [EBP + -0x34]
AND ESI,0x6
CMP ESI,0x2
JZ 0x0003e61f
JBE 0x0003cb1d
CMP ESI,0x4
JZ 0x0003e77d
CMP ESI,0x6
JNZ 0x0003e76f
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EAX,ECX
MOV ECX,0x11
NOT EAX
LEA EDX,[EDI + EAX*0x1 + -0x1]
LEA EAX,[EBX + 0xfffc8d64]
MOV ESI,EAX
MOV EDI,EDX
MOV EAX,dword ptr [EBP + -0x2c]
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
TEST byte ptr [EBP + -0x34],0x1
JZ 0x0003b840
MOV EAX,dword ptr [EBP + -0x2c]
LEA EDI,[EBX + 0x17a0]
LEA ESI,[EBX + 0xfffc8f5c]
MOV ECX,0xb
MOV dword ptr [EBP + -0x30],EDI
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV ESI,dword ptr [EBP + -0x34]
AND ESI,0xf0000000
CMP ESI,0x20000000
JZ 0x0003ec7b
JBE 0x0003cb59
CMP ESI,0x40000000
JZ 0x0003ec57
CMP ESI,0x60000000
JZ 0x0003ec33
CMP ESI,0x30000000
JZ 0x0003eade
LEA EAX,[EBX + 0xfffd0954]
PUSH ECX
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP ESI
POP EDI
PUSH EAX
LEA EAX,[EBX + 0x17a0]
PUSH EAX
MOV dword ptr [EBP + -0x30],EAX
CALL 0x00013170
MOV EAX,dword ptr [EBP + -0x2c]
ADD ESP,0x10
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EAX,dword ptr [EBP + -0x34]
AND EAX,0xc
CMP EAX,0x8
JZ 0x0003e525
CMP EAX,0xc
JZ 0x0003e50d
CMP EAX,0x4
JZ 0x0003e5da
TEST byte ptr [EBP + -0x34],0x1
JNZ 0x0003e30a
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
LEA EAX,[EBX + 0x17a0]
MOV dword ptr [EBP + -0x30],EAX
JMP 0x0003b840
MOV EAX,dword ptr [EBP + -0x34]
MOV EDX,EAX
AND EDX,0xff000000
MOV dword ptr [EBP + -0x38],EDX
TEST AL,0x1
JNZ 0x0003df41
AND EAX,0xffffff
MOV dword ptr [EBP + -0x34],EAX
LEA EAX,[EBX + 0x17a0]
MOV dword ptr [EBP + -0x30],EAX
MOV EDX,EAX
TEST byte ptr [EBP + -0x34],0x20
JNZ 0x0003df14
MOV EAX,dword ptr [EBP + -0x38]
CMP EAX,0x2000000
JZ 0x0003f109
JBE 0x0003d5a8
MOV EAX,dword ptr [EBP + -0x38]
CMP EAX,0x4000000
JZ 0x0003ef76
CMP EAX,0x5000000
JZ 0x0003ee70
CMP EAX,0x3000000
JZ 0x0003f05d
CMP dword ptr [EBP + -0x34],0x0
LEA ESI,[EBX + 0xfffc86a1]
MOV ECX,0x16
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JNZ 0x0003d8f4
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc903b]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0x10
JMP 0x0003b9a4
LEA ESI,[EBX + 0xfffc8ead]
MOV ECX,0x19
MOV EDI,EAX
MOVSB.REP ES:EDI,ESI
JMP 0x0003be05
MOV dword ptr [EBX + 0x17a0],0x4950202c
MOV word ptr [EBX + 0x17a4],0x43
JMP 0x0003bdac
LEA ESI,[EBX + 0xfffc8f42]
MOV ECX,0x11
MOV EDI,EAX
MOVSB.REP ES:EDI,ESI
JMP 0x0003b780
LEA ESI,[EBX + 0xfffc8f24]
MOV ECX,0xa
MOV EDI,EAX
MOVSB.REP ES:EDI,ESI
JMP 0x0003bba5
MOV EAX,dword ptr [EBP + -0x2c]
LEA EDI,[EBX + 0x17a0]
LEA ESI,[EBX + 0xfffc88a2]
MOV ECX,0x9
MOV dword ptr [EBP + -0x30],EDI
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EAX,dword ptr [EBP + -0x2c]
LEA EDI,[EBX + 0x17a0]
LEA ESI,[EBX + 0xfffc8899]
MOV ECX,0x9
MOV dword ptr [EBP + -0x30],EDI
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
TEST byte ptr [EBP + -0x34],0x40
JNZ 0x0003eb2b
MOV ESI,dword ptr [EBP + -0x34]
AND ESI,0x30
CMP ESI,0x10
JZ 0x0003eb1d
JBE 0x0003db10
CMP ESI,0x20
JZ 0x0003e899
CMP ESI,0x30
JNZ 0x0003e4f5
LEA EAX,[EBX + 0xfffc84f9]
MOV dword ptr [EBP + -0x38],EAX
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EAX,ECX
NOT EAX
MOV word ptr [EDI + EAX*0x1 + -0x1],0x202c
LEA EAX,[EDI + EAX*0x1 + 0x1]
PUSH ECX
PUSH ECX
PUSH dword ptr [EBP + -0x38]
PUSH EAX
CALL 0x00013190
MOV EAX,dword ptr [EBP + -0x2c]
ADD ESP,0x10
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
LEA EDI,[EBX + 0x17a0]
LEA ESI,[EBX + 0xfffc88e2]
MOV ECX,0x9
MOV dword ptr [EBP + -0x30],EDI
MOVSB.REP ES:EDI,ESI
JMP 0x0003ba54
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x58]
JMP 0x0003b994
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc8587]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
ADD ESP,0x10
MOV ESI,EAX
JMP 0x0003b537
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc2afd]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
ADD ESP,0x10
MOV ESI,EAX
JMP 0x0003b4ca
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc2afd]
PUSH 0x5
JMP 0x0003c46b
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc8569]
PUSH 0x5
JMP 0x0003c46b
MOV EAX,dword ptr [EAX + 0x2c]
TEST EAX,EAX
JZ 0x0003b8d9
SUB ESP,0x8
PUSH EAX
LEA EAX,[EBX + 0xfffc902e]
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
JMP 0x0003b8d9
SUB ESP,0x8
PUSH dword ptr [EAX + 0x20]
LEA EAX,[EBX + 0xfffc902e]
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
JMP 0x0003b947
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc85a2]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
ADD ESP,0x10
MOV EDI,EAX
MOV EAX,dword ptr [EBP + -0x2c]
MOVZX ESI,byte ptr [EAX + 0x16]
JMP 0x0003b577
SUB ESP,0x8
LEA EAX,[EBX + 0xfffc9035]
PUSH dword ptr [EDX + 0x28]
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
JMP 0x0003b9a4
LEA EAX,[EBX + 0x17a0]
MOV dword ptr [EBP + -0x30],EAX
JMP 0x0003b840
LEA EAX,[EBX + 0x17a0]
MOV dword ptr [EBP + -0x30],EAX
JMP 0x0003b840
LEA EAX,[EBX + 0x17a0]
MOV dword ptr [EBP + -0x30],EAX
JMP 0x0003b840
LEA EAX,[EBX + 0x17a0]
MOV dword ptr [EBP + -0x30],EAX
JMP 0x0003b840
LEA EAX,[EBX + 0x17a0]
MOV dword ptr [EBP + -0x30],EAX
JMP 0x0003b840
MOVZX EAX,word ptr [EBP + -0x34]
CMP EAX,0x210
JZ 0x0003e5b0
CMP EAX,0x214
JZ 0x0003e59b
CMP EAX,0x20b
JZ 0x0003e5c5
TEST dword ptr [EBP + -0x34],0x10000
JNZ 0x0003e266
TEST dword ptr [EBP + -0x34],0x20000
JNZ 0x0003e240
TEST dword ptr [EBP + -0x34],0x40000
JNZ 0x0003e21a
TEST dword ptr [EBP + -0x34],0x80000
JNZ 0x0003e1f1
TEST dword ptr [EBP + -0x34],0x100000
JNZ 0x0003e1c8
TEST dword ptr [EBP + -0x34],0x400000
JNZ 0x0003e0be
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EAX,dword ptr [EBP + -0x34]
AND EAX,0x7f
CMP EAX,0x6b
JA 0x0003eb02
MOV EDX,dword ptr [EBX + EAX*0x4 + 0xfffd9c90]
ADD EDX,EBX
JMP EDX
TEST byte ptr [EBP + -0x34],0x80
JNZ 0x0003e0f2
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EAX,dword ptr [EBP + -0x34]
AND EAX,0xf0000000
CMP EAX,0xf0000000
JZ 0x0003e85b
TEST dword ptr [EBP + -0x34],0x100000
JNZ 0x0003e19f
TEST byte ptr [EBP + -0x34],0x3
JZ 0x0003e176
TEST byte ptr [EBP + -0x34],0x60
JZ 0x0003e14d
TEST dword ptr [EBP + -0x34],0x300
JZ 0x0003e124
TEST dword ptr [EBP + -0x34],0xc00
JZ 0x0003e2e1
TEST dword ptr [EBP + -0x34],0x3000
JZ 0x0003e2b8
TEST dword ptr [EBP + -0x34],0xc000
JZ 0x0003e28f
MOV ESI,dword ptr [EBP + -0x34]
MOV EAX,dword ptr [EBP + -0x2c]
AND ESI,0xffff
JZ 0x0003f354
MOV dword ptr [EBP + -0x34],EAX
MOV EAX,dword ptr [EBP + -0x30]
MOV dword ptr [EBP + -0x2c],EAX
JMP 0x0003c902
CMP EAX,0x1000
JZ 0x0003d9c3
JBE 0x0003c999
CMP EAX,0x4000
JZ 0x0003d841
CMP EAX,0x8000
JZ 0x0003d7f3
CMP EAX,0x2000
JZ 0x0003d895
LEA EAX,[ESI + -0x1]
AND ESI,EAX
JZ 0x0003d65c
MOV EAX,ESI
NEG EAX
AND EAX,ESI
CMP EAX,0x200
JZ 0x0003d923
JA 0x0003c8c5
CMP EAX,0x20
JZ 0x0003d971
JA 0x0003ca46
CMP EAX,0x1
JZ 0x0003da17
MOV ECX,dword ptr [EBP + -0x2c]
CMP EAX,0x2
JNZ 0x0003c8f7
MOV EDI,dword ptr [ECX]
ADD ECX,0x4
LEA EAX,[EDI + 0xfefefeff]
NOT EDI
AND EAX,EDI
AND EAX,0x80808080
JZ 0x0003c935
MOV EDI,EAX
SHR EDI,0x10
TEST EAX,0x8080
CMOVZ EAX,EDI
LEA EDI,[ECX + 0x2]
CMOVZ ECX,EDI
MOV EDX,EAX
ADD DL,AL
MOV EAX,0x5550
SBB ECX,0x3
MOV dword ptr [ECX],0x6973202c
MOV dword ptr [ECX + 0x4],0x656c676e
MOV dword ptr [ECX + 0x8],0x65727020
MOV dword ptr [ECX + 0xc],0x69736963
MOV dword ptr [ECX + 0x10],0x46206e6f
MOV word ptr [ECX + 0x14],AX
MOV byte ptr [ECX + 0x16],0x0
JMP 0x0003c8f7
MOV ECX,dword ptr [EBP + -0x2c]
CMP EAX,0x400
JZ 0x0003c9fd
CMP EAX,0x800
JNZ 0x0003c8f7
MOV EDI,dword ptr [ECX]
ADD ECX,0x4
LEA EAX,[EDI + 0xfefefeff]
NOT EDI
AND EAX,EDI
AND EAX,0x80808080
JZ 0x0003c9ae
MOV EDI,EAX
SHR EDI,0x10
TEST EAX,0x8080
CMOVZ EAX,EDI
LEA EDI,[ECX + 0x2]
CMOVZ ECX,EDI
MOV EDI,0x6565
MOV EDX,EAX
ADD DL,AL
SBB ECX,0x3
MOV dword ptr [ECX],0x3372202c
MOV dword ptr [ECX + 0x4],0x72662030
MOV word ptr [ECX + 0x8],DI
MOV byte ptr [ECX + 0xa],0x0
JMP 0x0003c8f7
MOV EDI,dword ptr [ECX]
ADD ECX,0x4
LEA EAX,[EDI + 0xfefefeff]
NOT EDI
AND EAX,EDI
AND EAX,0x80808080
JZ 0x0003c9fd
MOV EDI,EAX
SHR EDI,0x10
TEST EAX,0x8080
CMOVZ EAX,EDI
LEA EDI,[ECX + 0x2]
CMOVZ ECX,EDI
MOV EDX,EAX
ADD DL,AL
SBB ECX,0x3
MOV dword ptr [ECX],0x3372202c
MOV dword ptr [ECX + 0x4],0x69662030
MOV dword ptr [ECX + 0x8],0x646578
JMP 0x0003c8f7
CMP EAX,0x40
JZ 0x0003da82
MOV ECX,dword ptr [EBP + -0x2c]
CMP EAX,0x100
JNZ 0x0003c8f7
MOV EDI,dword ptr [ECX]
ADD ECX,0x4
LEA EAX,[EDI + 0xfefefeff]
NOT EDI
AND EAX,EDI
AND EAX,0x80808080
JZ 0x0003ca5d
MOV EDI,EAX
SHR EDI,0x10
TEST EAX,0x8080
CMOVZ EAX,EDI
LEA EDI,[ECX + 0x2]
CMOVZ ECX,EDI
MOV EDX,EAX
ADD DL,AL
MOV EAX,0x6465
SBB ECX,0x3
MOV dword ptr [ECX],0x3472202c
MOV dword ptr [ECX + 0x4],0x78696620
MOV word ptr [ECX + 0x8],AX
MOV byte ptr [ECX + 0xa],0x0
JMP 0x0003c8f7
TEST byte ptr [EBP + -0x34],0x10
JZ 0x0003daf0
MOV dword ptr [EBX + 0x17a0],0x3436202c
MOV dword ptr [EBX + 0x17a4],0x7469622d
MOV byte ptr [EBX + 0x17a8],0x0
LEA EAX,[EBX + 0x17a0]
MOV dword ptr [EBP + -0x30],EAX
TEST byte ptr [EBP + -0x34],0x20
JNZ 0x0003df6d
TEST byte ptr [EBP + -0x34],0x80
JNZ 0x0003df96
TEST byte ptr [EBP + -0x34],0x40
JNZ 0x0003e695
TEST dword ptr [EBP + -0x34],0x100
JNZ 0x0003e036
MOV EAX,dword ptr [EBP + -0x2c]
CMP byte ptr [EAX + 0x17],0xd
JZ 0x0003dffd
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
TEST ESI,ESI
JNZ 0x0003e76f
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EAX,ECX
MOV ECX,0x11
NOT EAX
LEA EDX,[EDI + EAX*0x1 + -0x1]
LEA EAX,[EBX + 0xfffc871e]
MOV ESI,EAX
MOV EDI,EDX
MOV EAX,dword ptr [EBP + -0x2c]
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
TEST ESI,ESI
JZ 0x0003ea2b
CMP ESI,0x10000000
JNZ 0x0003c0ff
MOV dword ptr [EBX + 0x17a0],0x3876202c
MOV EAX,dword ptr [EBP + -0x2c]
MOV dword ptr [EBX + 0x17a4],0x653035
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
LEA EAX,[EBX + 0x17a0]
MOV dword ptr [EBP + -0x30],EAX
JMP 0x0003b840
TEST byte ptr [EBP + -0x34],0x1
JNZ 0x0003dd5c
TEST byte ptr [EBP + -0x34],0x2
JNZ 0x0003e653
TEST byte ptr [EBP + -0x34],0x4
JNZ 0x0003e343
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
LEA EAX,[EBX + 0x17a0]
MOV dword ptr [EBP + -0x30],EAX
JMP 0x0003b840
TEST byte ptr [EBP + -0x34],0x1
JZ 0x0003b840
MOV EAX,dword ptr [EBP + -0x2c]
LEA ESI,[EBX + 0xfffc8f67]
MOV ECX,0x15
MOV EDI,dword ptr [EBP + -0x30]
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EAX,dword ptr [EBP + -0x34]
SHR EAX,0x8
MOVZX EAX,AX
CMP EAX,0x3200
JZ 0x0003de72
CMP EAX,0x6000
JNZ 0x0003b840
MOV EAX,dword ptr [EBP + -0x2c]
LEA ESI,[EBX + 0xfffc8d33]
MOV ECX,0xb
MOV EDI,dword ptr [EBP + -0x30]
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOVZX EDX,byte ptr [EBP + -0x34]
LEA EDI,[EBX + 0x17a0]
MOV dword ptr [EBP + -0x30],EDI
CMP EDX,0x6
JA 0x0003cd37
MOV ECX,dword ptr [EBX + EDX*0x4 + 0xfffd9e40]
ADD ECX,EBX
JMP ECX
MOV ESI,dword ptr [EBP + -0x34]
MOV EDX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EBP + -0x30]
AND ESI,0xf00
MOV EDI,EDX
MOV ECX,dword ptr [EAX]
ADD EAX,0x4
LEA EDX,[ECX + 0xfefefeff]
NOT ECX
AND EDX,ECX
AND EDX,0x80808080
JZ 0x0003cc71
MOV ECX,EDX
MOV dword ptr [EBP + -0x2c],EDI
SHR ECX,0x10
TEST EDX,0x8080
CMOVZ EDX,ECX
LEA ECX,[EAX + 0x2]
CMOVZ EAX,ECX
MOV ECX,EDX
ADD CL,DL
SBB EAX,0x3
CMP ESI,0x200
JZ 0x0003e83c
JBE 0x0003cd53
CMP ESI,0x300
JZ 0x0003e81d
CMP ESI,0x400
JNZ 0x0003e7fe
LEA EDX,[EBX + 0xfffc864a]
MOV EDI,EAX
MOV ECX,0x9
MOV EAX,dword ptr [EBP + -0x2c]
MOV ESI,EDX
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
CMP AX,0x5d
JZ 0x0003e8ed
LEA ESI,[EBX + 0xfffc8606]
MOV ECX,0xe
MOVSB.REP ES:EDI,ESI
JMP 0x0003cc60
TEST ESI,ESI
JNZ 0x0003e7fe
LEA EDX,[EBX + 0xfffc8614]
MOV EDI,EAX
MOV ECX,0xf
MOV EAX,dword ptr [EBP + -0x2c]
MOV ESI,EDX
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
TEST EAX,EAX
JZ 0x0003f264
CMP EAX,0x1000000
JNZ 0x0003ba2e
LEA EDI,[EBX + 0x17a0]
LEA ESI,[EBX + 0xfffc88d9]
MOV ECX,0x9
MOV dword ptr [EBP + -0x30],EDI
MOVSB.REP ES:EDI,ESI
JMP 0x0003ba54
MOV EAX,dword ptr [EBP + -0x34]
AND EAX,0x1f
CMP EAX,0x18
JA 0x0003fad8
MOV EDX,dword ptr [EBX + EAX*0x4 + 0xfffd9e5c]
ADD EDX,EBX
JMP EDX
CMP EAX,0x30000
JZ 0x0003e7b1
CMP EAX,0x60000
JNZ 0x0003e6fc
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8957]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x13
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003baa0
LEA EAX,[EBX + 0x17a0]
MOV dword ptr [EBP + -0x30],EAX
TEST byte ptr [EBP + -0x34],0x1
JNZ 0x0003dd48
TEST byte ptr [EBP + -0x34],0x2
JNZ 0x0003dd22
TEST byte ptr [EBP + -0x34],0x4
JNZ 0x0003dcf9
TEST byte ptr [EBP + -0x34],0x10
JNZ 0x0003dcd0
TEST byte ptr [EBP + -0x34],0x20
JNZ 0x0003dc55
TEST byte ptr [EBP + -0x34],0x80
JNZ 0x0003dc2c
TEST dword ptr [EBP + -0x34],0x100
JNZ 0x0003dc03
TEST dword ptr [EBP + -0x34],0x400
JNZ 0x0003dbda
TEST dword ptr [EBP + -0x34],0x200
JNZ 0x0003dca7
MOV EAX,dword ptr [EBP + -0x34]
AND EAX,0xff0000
CMP EAX,0x8c0000
JZ 0x0003f5a2
JBE 0x0003d187
CMP EAX,0x930000
JZ 0x0003f607
JBE 0x0003d100
CMP EAX,0xa00000
JZ 0x0003f8d3
JA 0x0003d0c0
CMP EAX,0x980000
JZ 0x0003f579
CMP EAX,0x990000
JNZ 0x0003d280
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8b2c]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x7
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EBP + -0x34]
AND EAX,0xf000
CMP EAX,0x2000
JZ 0x0003e6d6
JA 0x0003cfd0
TEST EAX,EAX
JZ 0x0003cf32
CMP EAX,0x1000
JNZ 0x0003e7da
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
NOT EDX
LEA EAX,[EDI + EDX*0x1 + -0x1]
MOV dword ptr [EAX],0x336f202c
MOV word ptr [EAX + 0x4],0x32
TEST dword ptr [EBP + -0x34],0x8000000
JNZ 0x0003dd9d
TEST dword ptr [EBP + -0x34],0x4000000
JNZ 0x0003dd74
TEST dword ptr [EBP + -0x34],0x2000000
JNZ 0x0003dc7e
MOV ESI,dword ptr [EBP + -0x34]
AND ESI,0xf0000000
CMP ESI,0x50000000
JZ 0x0003ea7a
JA 0x0003d060
CMP ESI,0x20000000
JZ 0x0003e97c
JA 0x0003d00f
TEST ESI,ESI
JZ 0x0003eaae
CMP ESI,0x10000000
JNZ 0x0003e94f
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EAX,ECX
NOT EAX
LEA EAX,[EDI + EAX*0x1 + -0x1]
MOV dword ptr [EAX],0x696d202c
MOV dword ptr [EAX + 0x4],0x327370
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
CMP EAX,0x3000
JZ 0x0003e870
CMP EAX,0x4000
JNZ 0x0003e7da
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8ba2]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x9
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003cf32
CMP ESI,0x30000000
JZ 0x0003e9ac
CMP ESI,0x40000000
JNZ 0x0003e94f
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EAX,ECX
NOT EAX
LEA EAX,[EDI + EAX*0x1 + -0x1]
MOV dword ptr [EAX],0x696d202c
MOV dword ptr [EAX + 0x4],0x357370
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
CMP ESI,0x80000000
JZ 0x0003f1fc
JA 0x0003d228
CMP ESI,0x60000000
JZ 0x0003f230
CMP ESI,0x70000000
JNZ 0x0003e94f
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EAX,ECX
MOV ECX,0xb
NOT EAX
LEA EDX,[EDI + EAX*0x1 + -0x1]
LEA EAX,[EBX + 0xfffc8bde]
MOV ESI,EAX
MOV EDI,EDX
MOV EAX,dword ptr [EBP + -0x2c]
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
CMP EAX,0xa10000
JZ 0x0003f8fc
CMP EAX,0xa20000
JNZ 0x0003d280
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8b4f]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0xe
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003cee9
CMP EAX,0x8e0000
JZ 0x0003f846
JBE 0x0003d1f0
CMP EAX,0x910000
JZ 0x0003f7f4
CMP EAX,0x920000
JNZ 0x0003d280
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8b25]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x7
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003cee9
TEST ESI,ESI
JZ 0x0003d15d
CMP ESI,0x10
JNZ 0x0003be78
MOV EAX,ESI
SHR EAX,0x4
PUSH dword ptr [EBX + EAX*0x4 + 0xfffff33c]
LEA EAX,[EBX + 0xfffc8c21]
PUSH EAX
PUSH 0x400
PUSH dword ptr [EBP + -0x30]
CALL 0x000132c0
ADD ESP,0x10
MOV EDI,EAX
JMP 0x0003beb6
CMP EAX,0x850000
JZ 0x0003f81d
JA 0x0003d2a8
CMP EAX,0x810000
JZ 0x0003f630
JBE 0x0003d278
CMP EAX,0x820000
JZ 0x0003f86f
CMP EAX,0x830000
JNZ 0x0003d280
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8afb]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x7
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003cee9
CMP EAX,0x8d0000
JNZ 0x0003d280
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8b66]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0xa
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003cee9
CMP ESI,0x90000000
JZ 0x0003f27f
CMP ESI,0xa0000000
JNZ 0x0003e94f
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EAX,ECX
MOV ECX,0xb
NOT EAX
LEA EDX,[EDI + EAX*0x1 + -0x1]
LEA EAX,[EBX + 0xfffc8c08]
MOV ESI,EAX
MOV EDI,EDX
MOV EAX,dword ptr [EBP + -0x2c]
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
TEST EAX,EAX
JZ 0x0003cee9
LEA EAX,[EBX + 0xfffc8b8b]
PUSH ESI
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDI
POP EDX
PUSH EAX
PUSH dword ptr [EBP + -0x30]
CALL 0x00013170
ADD ESP,0x10
JMP 0x0003cee9
CMP EAX,0x880000
JZ 0x0003f5d3
JBE 0x0003d56f
CMP EAX,0x8a0000
JZ 0x0003f553
CMP EAX,0x8b0000
JNZ 0x0003d280
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8b5d]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x9
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003cee9
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc8f7c]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV EDX,dword ptr [EBP + -0x30]
MOV ESI,EAX
MOV EAX,dword ptr [EBP + -0x2c]
MOV EDI,EAX
MOV ECX,dword ptr [EDX]
ADD EDX,0x4
LEA EAX,[ECX + 0xfefefeff]
NOT ECX
AND EAX,ECX
AND EAX,0x80808080
JZ 0x0003d315
MOV ECX,EAX
MOV dword ptr [EBP + -0x2c],EDI
SHR ECX,0x10
TEST EAX,0x8080
CMOVZ EAX,ECX
LEA ECX,[EDX + 0x2]
CMOVZ EDX,ECX
MOV ECX,EAX
ADD CL,AL
POP EAX
POP ECX
PUSH ESI
SBB EDX,0x3
PUSH EDX
CALL 0x00013100
ADD ESP,0x10
MOV EDX,EAX
MOVZX EAX,byte ptr [EBP + -0x34]
SUB EAX,0xb
CMP EAX,0x63
JA 0x0003e9dc
MOV ECX,dword ptr [EBX + EAX*0x4 + 0xfffd9ec0]
ADD ECX,EBX
JMP ECX
TEST dword ptr [EBP + -0x34],0xffffff00
JNZ 0x0003db79
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
LEA EDX,[EBX + 0x17a0]
MOV dword ptr [EBP + -0x30],EDX
TEST EAX,EAX
JZ 0x0003b840
MOV dword ptr [EBX + 0x17a0],0x7266202c
MOV EAX,dword ptr [EBP + -0x2c]
MOV dword ptr [EBX + 0x17a4],0x3f3f3f
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
LEA EAX,[EBX + 0x17a0]
MOV dword ptr [EBP + -0x30],EAX
JMP 0x0003b840
CMP EAX,0x6000000
JZ 0x0003ea00
JBE 0x0003d626
CMP EAX,0x7000000
JZ 0x0003ea4f
CMP EAX,0x8000000
JNZ 0x0003d4b1
MOV dword ptr [EBX + 0x17a0],0x7266202c
MOV EAX,dword ptr [EBP + -0x2c]
MOV dword ptr [EBX + 0x17a4],0x303534
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
LEA EAX,[EBX + 0x17a0]
MOV dword ptr [EBP + -0x30],EAX
JMP 0x0003b840
MOV EAX,dword ptr [EBP + -0x34]
AND EAX,0x3
JZ 0x0003b840
ADD EAX,0x30
MOV dword ptr [EBP + -0x1c],0x307669
MOV byte ptr [EBP + -0x1a],AL
LEA EAX,[EBP + -0x20]
PUSH ECX
PUSH ECX
PUSH EAX
PUSH dword ptr [EBP + -0x30]
MOV dword ptr [EBP + -0x20],0x6261202c
CALL 0x00013190
MOV EAX,dword ptr [EBP + -0x2c]
ADD ESP,0x10
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
CMP EAX,0x870000
JNZ 0x0003d280
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8b09]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x7
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003cee9
TEST EAX,EAX
JZ 0x0003ec9f
CMP EAX,0x1000000
JNZ 0x0003c1eb
CMP dword ptr [EBP + -0x34],0x0
MOV EDI,EDX
MOV EDX,dword ptr [EBP + -0x34]
LEA ESI,[EBX + 0xfffc86b7]
MOV ECX,0x4
MOV dword ptr [EBP + -0x38],0x0
MOVSD.REP ES:EDI,ESI
JNZ 0x0003d5ef
JMP 0x0003f898
MOV dword ptr [EBP + -0x38],0x1
TEST EDX,EDX
JZ 0x0003d8e9
MOV EAX,EDX
NEG EAX
AND EAX,EDX
MOV ECX,EAX
NOT ECX
AND EDX,ECX
CMP EAX,0x4
JNZ 0x0003d5e0
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
LEA ESI,[EBX + 0xfffc86c7]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EAX,ECX
MOV ECX,0x17
NOT EAX
LEA EAX,[EDI + EAX*0x1 + -0x1]
MOV EDI,EAX
MOVSB.REP ES:EDI,ESI
JMP 0x0003d5e7
CMP EAX,0x5000000
JNZ 0x0003d4b1
MOV dword ptr [EBX + 0x17a0],0x7266202c
MOV EAX,dword ptr [EBP + -0x2c]
MOV dword ptr [EBX + 0x17a4],0x303034
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
LEA EAX,[EBX + 0x17a0]
MOV dword ptr [EBP + -0x30],EAX
JMP 0x0003b840
MOV EAX,dword ptr [EBP + -0x34]
MOV dword ptr [EBP + -0x2c],EAX
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
CMP EAX,0x10000000
JNZ 0x0003bf2d
MOV EAX,dword ptr [EBP + -0x38]
SHR EAX,0x1c
PUSH dword ptr [EBX + EAX*0x4 + 0xfffff31c]
LEA EAX,[EBX + 0xfffc8c21]
PUSH EAX
PUSH ECX
PUSH EDX
CALL 0x000132c0
ADD ESP,0x10
LEA ESI,[EAX + EDI*0x1]
MOV EAX,dword ptr [EBP + -0x34]
AND EAX,0x100
CMP dword ptr [EBP + -0x38],0x10000000
JZ 0x0003f2e5
TEST EAX,EAX
JZ 0x0003d6dd
MOV EAX,dword ptr [EBP + -0x30]
MOV ECX,0x400
SUB ECX,ESI
ADD EAX,ESI
TEST byte ptr [EBP + -0x34],0xe
JNZ 0x0003f33a
LEA EDX,[EBX + 0xfffc8c61]
PUSH EDI
ADD ESI,0x6
PUSH EDX
PUSH ECX
PUSH EAX
CALL 0x000132c0
ADD ESP,0x10
TEST dword ptr [EBP + -0x34],0x100000
JNZ 0x0003f2b3
TEST dword ptr [EBP + -0x34],0x2000
JNZ 0x0003f4d6
MOV EDX,dword ptr [EBP + -0x34]
TEST DH,0x40
JZ 0x0003d729
MOV EAX,dword ptr [EBP + -0x30]
MOV ECX,0x400
SUB ECX,ESI
ADD EAX,ESI
AND DL,0xe
JNZ 0x0003f2d9
PUSH EDI
LEA EDX,[EBX + 0xfffc8c26]
PUSH EDX
ADD ESI,0x5
PUSH ECX
PUSH EAX
CALL 0x000132c0
ADD ESP,0x10
TEST dword ptr [EBP + -0x34],0x200
JNZ 0x0003f4b0
TEST dword ptr [EBP + -0x34],0x400
JNZ 0x0003f48a
MOV EAX,dword ptr [EBP + -0x34]
MOV EDX,EAX
MOV EDI,EAX
AND EDX,0x80000
AND EDI,0x1000000
TEST AH,0x8
JNZ 0x0003eb78
TEST EDX,EDX
JNZ 0x0003eba3
TEST EDI,EDI
JNZ 0x0003ebc8
TEST dword ptr [EBP + -0x34],0x1000
JNZ 0x0003eb52
TEST dword ptr [EBP + -0x34],0x8000
JNZ 0x0003f0e3
TEST dword ptr [EBP + -0x34],0x10000
JNZ 0x0003f0bd
MOV EDX,dword ptr [EBP + -0x34]
TEST EDX,0x20000
JZ 0x0003d7cb
MOV EAX,dword ptr [EBP + -0x30]
MOV ECX,0x400
SUB ECX,ESI
ADD EAX,ESI
AND DL,0xe
JNZ 0x0003f4fc
LEA EDX,[EBX + 0xfffc8d05]
PUSH EDI
ADD ESI,0x7
PUSH EDX
PUSH ECX
PUSH EAX
CALL 0x000132c0
ADD ESP,0x10
TEST dword ptr [EBP + -0x34],0x40000
JNZ 0x0003e929
TEST dword ptr [EBP + -0x34],0x200000
JNZ 0x0003e8ff
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV ECX,dword ptr [EBP + -0x2c]
MOV EDI,dword ptr [ECX]
ADD ECX,0x4
LEA EAX,[EDI + 0xfefefeff]
NOT EDI
AND EAX,EDI
AND EAX,0x80808080
JZ 0x0003d7f6
MOV EDI,EAX
SHR EDI,0x10
TEST EAX,0x8080
CMOVZ EAX,EDI
LEA EDI,[ECX + 0x2]
CMOVZ ECX,EDI
MOV EDX,EAX
ADD DL,AL
MOV EAX,0x65
SBB ECX,0x3
MOV dword ptr [ECX],0x3272202c
MOV dword ptr [ECX + 0x4],0x65726620
MOV word ptr [ECX + 0x8],AX
JMP 0x0003c8f7
MOV EAX,dword ptr [EBP + -0x2c]
MOV EDI,dword ptr [EAX]
ADD EAX,0x4
LEA ECX,[EDI + 0xfefefeff]
NOT EDI
AND ECX,EDI
AND ECX,0x80808080
JZ 0x0003d844
MOV EDI,ECX
SHR EDI,0x10
TEST ECX,0x8080
CMOVZ ECX,EDI
LEA EDI,[EAX + 0x2]
CMOVZ EAX,EDI
MOV EDX,ECX
ADD DL,CL
MOV EDX,0x6465
SBB EAX,0x3
MOV dword ptr [EAX],0x3272202c
MOV dword ptr [EAX + 0x4],0x78696620
MOV word ptr [EAX + 0x8],DX
MOV byte ptr [EAX + 0xa],0x0
JMP 0x0003c8f7
MOV ECX,dword ptr [EBP + -0x2c]
MOV EDI,dword ptr [ECX]
ADD ECX,0x4
LEA EAX,[EDI + 0xfefefeff]
NOT EDI
AND EAX,EDI
AND EAX,0x80808080
JZ 0x0003d898
MOV EDI,EAX
SHR EDI,0x10
TEST EAX,0x8080
CMOVZ EAX,EDI
LEA EDI,[ECX + 0x2]
CMOVZ ECX,EDI
MOV EDI,0x65
MOV EDX,EAX
ADD DL,AL
SBB ECX,0x3
MOV dword ptr [ECX],0x3572202c
MOV dword ptr [ECX + 0x4],0x65726620
MOV word ptr [ECX + 0x8],DI
JMP 0x0003c8f7
MOV EAX,dword ptr [EBP + -0x3c]
MOV dword ptr [EBP + -0x2c],EAX
MOV ESI,dword ptr [EBP + -0x38]
TEST ESI,ESI
JZ 0x0003e0b0
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc87d9]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
PUSH EAX
PUSH dword ptr [EBP + -0x30]
CALL 0x00013170
MOV EAX,dword ptr [EBP + -0x2c]
ADD ESP,0x10
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV ECX,dword ptr [EBP + -0x2c]
MOV EDI,dword ptr [ECX]
ADD ECX,0x4
LEA EAX,[EDI + 0xfefefeff]
NOT EDI
AND EAX,EDI
AND EAX,0x80808080
JZ 0x0003d926
MOV EDI,EAX
SHR EDI,0x10
TEST EAX,0x8080
CMOVZ EAX,EDI
LEA EDI,[ECX + 0x2]
CMOVZ ECX,EDI
MOV EDX,EAX
ADD DL,AL
MOV EAX,0x65
SBB ECX,0x3
MOV dword ptr [ECX],0x3472202c
MOV dword ptr [ECX + 0x4],0x65726620
MOV word ptr [ECX + 0x8],AX
JMP 0x0003c8f7
MOV EAX,dword ptr [EBP + -0x2c]
MOV EDI,dword ptr [EAX]
ADD EAX,0x4
LEA ECX,[EDI + 0xfefefeff]
NOT EDI
AND ECX,EDI
AND ECX,0x80808080
JZ 0x0003d974
MOV EDI,ECX
SHR EDI,0x10
TEST ECX,0x8080
CMOVZ ECX,EDI
LEA EDI,[EAX + 0x2]
CMOVZ EAX,EDI
MOV EDX,ECX
ADD DL,CL
SBB EAX,0x3
MOV dword ptr [EAX],0x6572202c
MOV dword ptr [EAX + 0x4],0x646f6d67
MOV dword ptr [EAX + 0x8],0x32323a65
MOV byte ptr [EAX + 0xc],0x0
JMP 0x0003c8f7
MOV EAX,dword ptr [EBP + -0x2c]
MOV EDI,dword ptr [EAX]
ADD EAX,0x4
LEA ECX,[EDI + 0xfefefeff]
NOT EDI
AND ECX,EDI
AND ECX,0x80808080
JZ 0x0003d9c6
MOV EDI,ECX
SHR EDI,0x10
TEST ECX,0x8080
CMOVZ ECX,EDI
LEA EDI,[EAX + 0x2]
CMOVZ EAX,EDI
MOV EDX,ECX
ADD DL,CL
MOV EDX,0x6465
SBB EAX,0x3
MOV dword ptr [EAX],0x3572202c
MOV dword ptr [EAX + 0x4],0x78696620
MOV word ptr [EAX + 0x8],DX
MOV byte ptr [EAX + 0xa],0x0
JMP 0x0003c8f7
MOV EDX,dword ptr [EBP + -0x2c]
MOV EDI,dword ptr [EDX]
ADD EDX,0x4
LEA ECX,[EDI + 0xfefefeff]
NOT EDI
AND ECX,EDI
AND ECX,0x80808080
JZ 0x0003da1a
MOV EDI,ECX
SHR EDI,0x10
TEST ECX,0x8080
CMOVZ ECX,EDI
LEA EDI,[EDX + 0x2]
CMOVZ EDX,EDI
MOV EAX,ECX
ADD AL,CL
MOV EAX,EDX
MOV EDX,0x5550
SBB EAX,0x3
MOV dword ptr [EAX],0x6f64202c
MOV dword ptr [EAX + 0x4],0x656c6275
MOV dword ptr [EAX + 0x8],0x65727020
MOV dword ptr [EAX + 0xc],0x69736963
MOV dword ptr [EAX + 0x10],0x46206e6f
MOV word ptr [EAX + 0x14],DX
MOV byte ptr [EAX + 0x16],0x0
JMP 0x0003c8f7
MOV EAX,dword ptr [EBP + -0x2c]
MOV EDI,dword ptr [EAX]
ADD EAX,0x4
LEA ECX,[EDI + 0xfefefeff]
NOT EDI
AND ECX,EDI
AND ECX,0x80808080
JZ 0x0003da85
MOV EDI,ECX
SHR EDI,0x10
TEST ECX,0x8080
CMOVZ ECX,EDI
LEA EDI,[EAX + 0x2]
CMOVZ EAX,EDI
MOV EDX,ECX
ADD DL,CL
SBB EAX,0x3
MOV dword ptr [EAX],0x6572202c
MOV dword ptr [EAX + 0x4],0x646f6d67
MOV dword ptr [EAX + 0x8],0x33323a65
MOV byte ptr [EAX + 0xc],0x0
JMP 0x0003c8f7
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd0978]
ADD EDI,0x23
PUSH EAX
PUSH ECX
PUSH EDX
CALL 0x000132c0
ADD ESP,0x10
JMP 0x0003beeb
MOV dword ptr [EBX + 0x17a0],0x3233202c
MOV dword ptr [EBX + 0x17a4],0x7469622d
MOV byte ptr [EBX + 0x17a8],0x0
JMP 0x0003cad1
TEST ESI,ESI
JNZ 0x0003e4f5
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
PUSH EAX
LEA EAX,[EBX + 0xfffc8997]
PUSH EDX
PUSH EAX
NOT ECX
LEA EAX,[EDI + ECX*0x1 + -0x1]
PUSH EAX
CALL 0x00013370
ADD ESP,0x10
JMP 0x0003babc
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8983]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x5
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSD.REP ES:EDI,ESI
JMP 0x0003baad
LEA EAX,[EBX + 0xfffd0a0c]
PUSH ESI
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDI
POP EDX
PUSH EAX
PUSH dword ptr [EBP + -0x30]
CALL 0x00013170
MOV EAX,dword ptr [EBP + -0x2c]
ADD ESP,0x10
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EAX,ECX
MOV ECX,0x19
NOT EAX
LEA EDX,[EDI + EAX*0x1 + -0x1]
LEA EAX,[EBX + 0xfffc8ec6]
MOV ESI,EAX
MOV EDI,EDX
MOV EAX,dword ptr [EBP + -0x2c]
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8adc]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0xa
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003ce67
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8ad0]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x3
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSD.REP ES:EDI,ESI
JMP 0x0003ce5a
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8ac4]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x3
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSD.REP ES:EDI,ESI
JMP 0x0003ce4d
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8abd]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x7
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003ce43
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8bc9]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x3
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSD.REP ES:EDI,ESI
JMP 0x0003cf59
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8ae6]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x7
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003ce74
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8aad]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x4
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSD.REP ES:EDI,ESI
JMP 0x0003ce39
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8aa6]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x7
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003ce2f
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
NOT EDX
LEA EAX,[EDI + EDX*0x1 + -0x1]
MOV dword ptr [EAX],0x6970202c
MOV word ptr [EAX + 0x4],0x63
JMP 0x0003ce25
LEA ESI,[EBX + 0xfffc8a9a]
MOV ECX,0x3
MOV EDI,EAX
MOVSD.REP ES:EDI,ESI
JMP 0x0003ce1b
MOV dword ptr [EBX + 0x17a0],0x636d202c
MOV word ptr [EBX + 0x17a4],0x6d
JMP 0x0003cbac
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8bc0]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x9
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003cf4c
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8bb9]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x7
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003cf3f
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EAX,ECX
MOV ECX,0xa
NOT EAX
LEA EDX,[EDI + EAX*0x1 + -0x1]
LEA EAX,[EBX + 0xfffc8f38]
MOV ESI,EAX
MOV EDI,EDX
MOV EAX,dword ptr [EBP + -0x2c]
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8f2e]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0xa
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003bbb2
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8f53]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x9
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003b79e
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
NOT EDX
LEA EAX,[EDI + EDX*0x1 + -0x1]
MOV dword ptr [EAX],0x6970202c
MOV word ptr [EAX + 0x4],0x64
JMP 0x0003b794
MOV EAX,dword ptr [EBP + -0x2c]
LEA ESI,[EBX + 0xfffc8d28]
MOV ECX,0xb
MOV EDI,dword ptr [EBP + -0x30]
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8876]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0xd
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003bdc9
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
NOT EDX
LEA EAX,[EDI + EDX*0x1 + -0x1]
MOV dword ptr [EAX],0x4446202c
MOV dword ptr [EAX + 0x4],0x434950
JMP 0x0003bdbf
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EAX,ECX
MOV ECX,0xd
NOT EAX
LEA EDX,[EDI + EAX*0x1 + -0x1]
LEA EAX,[EBX + 0xfffc8883]
MOV ESI,EAX
MOV EDI,EDX
MOV EAX,dword ptr [EBP + -0x2c]
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EDI,EDX
LEA ESI,[EBX + 0xfffc868a]
MOV ECX,0x17
XOR EAX,EAX
MOVSB.REP ES:EDI,ESI
AND dword ptr [EBP + -0x34],0xffffffdf
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
JMP 0x0003c1b3
MOV EAX,dword ptr [EBP + -0x34]
LEA EDI,[EBX + 0x17a0]
MOV ECX,0x19
LEA ESI,[EBX + 0xfffc8671]
MOV dword ptr [EBP + -0x30],EDI
LEA EDX,[EBX + 0x17b8]
MOVSB.REP ES:EDI,ESI
AND EAX,0xfffffe
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003c1a9
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8edf]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x13
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003cae4
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffd09e4]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x27
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003caf8
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
NOT EDX
LEA EAX,[EDI + EDX*0x1 + -0x1]
MOV dword ptr [EAX],0x5652202c
MOV word ptr [EAX + 0x4],0x45
JMP 0x0003c02d
MOV dword ptr [EBX + 0x17a0],0x5652202c
MOV word ptr [EBX + 0x17a4],0x43
JMP 0x0003c01a
TEST byte ptr [EBP + -0x34],0x4
JNZ 0x0003f461
MOV ESI,dword ptr [EBP + -0x34]
AND ESI,0x3
CMP ESI,0x2
JZ 0x0003f431
CMP ESI,0x3
JZ 0x0003f401
SUB ESI,0x1
JZ 0x0003f3cd
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8f00]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0xb
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003cb05
LEA EAX,[EBX + 0xfffc89cc]
PUSH ECX
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP ESI
POP EDI
PUSH EAX
PUSH dword ptr [EBP + -0x30]
CALL 0x00013170
ADD ESP,0x10
JMP 0x0003bf71
LEA EAX,[EBX + 0xfffc89da]
PUSH ESI
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDI
POP EDX
PUSH EAX
PUSH dword ptr [EBP + -0x30]
CALL 0x00013170
MOV EAX,dword ptr [EBP + -0x2c]
ADD ESP,0x10
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EAX,ECX
MOV ECX,0xb
NOT EAX
LEA EDX,[EDI + EAX*0x1 + -0x1]
LEA EAX,[EBX + 0xfffc8ea2]
MOV ESI,EAX
MOV EDI,EDX
MOV EAX,dword ptr [EBP + -0x2c]
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
LEA EAX,[ECX + 0x401]
PUSH EDI
PUSH EAX
LEA EAX,[EBX + 0xfffc8869]
PUSH EAX
PUSH dword ptr [EBP + -0x30]
CALL 0x00013440
MOV EAX,dword ptr [EBP + -0x2c]
ADD ESP,0x10
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8a2b]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0xe
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003c881
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8a19]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x12
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003c874
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8a0a]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0xf
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003c86a
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc89f8]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x12
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003c860
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8e98]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0xa
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003c5f2
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8e91]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x7
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003c5e5
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
NOT EDX
LEA EAX,[EDI + EDX*0x1 + -0x1]
MOV dword ptr [EAX],0x736c202c
MOV word ptr [EAX + 0x4],0x62
JMP 0x0003c5d8
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
NOT EDX
LEA EAX,[EDI + EDX*0x1 + -0x1]
MOV dword ptr [EAX],0x7865202c
MOV word ptr [EAX + 0x4],0x74
JMP 0x0003c5cb
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8e87]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0xa
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003c5be
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8a56]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0xe
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003c8a8
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8a48]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0xe
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003c89b
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8a39]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0xf
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003c88e
LEA EDI,[EBX + 0x17a0]
XOR EAX,EAX
OR ECX,0xffffffff
MOV dword ptr [EBP + -0x30],EDI
MOV EDX,EDI
SCASB.REPNE ES:EDI
MOV EAX,ECX
MOV ECX,0x11
NOT EAX
LEA EDX,[EDX + EAX*0x1 + -0x1]
LEA EAX,[EBX + 0xfffc8f42]
MOV ESI,EAX
MOV EDI,EDX
MOV EAX,dword ptr [EBP + -0x2c]
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
LEA EDI,[EBX + 0x17a0]
XOR EAX,EAX
OR ECX,0xffffffff
MOV dword ptr [EBP + -0x30],EDI
MOV EDX,EDI
SCASB.REPNE ES:EDI
MOV EAX,ECX
NOT EAX
LEA EAX,[EDX + EAX*0x1 + -0x1]
MOV dword ptr [EAX],0x7267202c
MOV word ptr [EAX + 0x4],0x36
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
PUSH EAX
LEA EAX,[EBX + 0xfffc89b2]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
ADD ESP,0xc
MOV EDX,EAX
XOR EAX,EAX
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
PUSH ESI
PUSH EDX
NOT ECX
LEA EAX,[EDI + ECX*0x1 + -0x1]
PUSH EAX
CALL 0x00013370
MOV EAX,dword ptr [EBP + -0x2c]
ADD ESP,0x10
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
NOT EDX
LEA EAX,[EDI + EDX*0x1 + -0x1]
MOV dword ptr [EAX],0x7364202c
MOV word ptr [EAX + 0x4],0x70
JMP 0x0003b78a
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EAX,ECX
NOT EAX
LEA EAX,[EDI + EAX*0x1 + -0x1]
MOV dword ptr [EAX],0x3256202c
MOV byte ptr [EAX + 0x4],0x0
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EAX,ECX
NOT EAX
LEA EAX,[EDI + EAX*0x1 + -0x1]
MOV dword ptr [EAX],0x7374202c
MOV word ptr [EAX + 0x4],0x6f
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8e54]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x9
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003bfda
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
NOT EDX
LEA EAX,[EDI + EDX*0x1 + -0x1]
MOV dword ptr [EAX],0x6168202c
MOV dword ptr [EAX + 0x4],0x31726c
JMP 0x0003bfcd
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8e44]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x4
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSD.REP ES:EDI,ESI
JMP 0x0003bfc0
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8e36]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0xe
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003bfb3
MOV dword ptr [EBX + 0x17a0],0x3876202c
MOV word ptr [EBX + 0x17a4],0x2b
JMP 0x0003bf9d
CMP dword ptr [EBP + -0x38],0x0
JNZ 0x0003c354
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV dword ptr [EBX + 0x17a0],0x3147202c
MOV word ptr [EBX + 0x17a4],0x34
JMP 0x0003c159
MOV dword ptr [EBX + 0x17a0],0x3147202c
MOV word ptr [EBX + 0x17a4],0x33
JMP 0x0003c159
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EAX,ECX
NOT EAX
LEA EAX,[EDI + EAX*0x1 + -0x1]
MOV dword ptr [EAX],0x6d72202c
MOV word ptr [EAX + 0x4],0x6f
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EAX,ECX
NOT EAX
LEA EAX,[EDI + EAX*0x1 + -0x1]
MOV dword ptr [EAX],0x7370202c
MOV word ptr [EAX + 0x4],0x6f
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
LEA ESI,[EBX + 0xfffc8e79]
MOV ECX,0xe
MOV EDI,dword ptr [EBP + -0x30]
MOVSB.REP ES:EDI,ESI
JMP 0x0003c5b1
LEA ESI,[EBX + 0xfffc8e6b]
MOV ECX,0xe
MOV EDI,dword ptr [EBP + -0x30]
MOVSB.REP ES:EDI,ESI
JMP 0x0003c5b1
LEA ESI,[EBX + 0xfffc8e5d]
MOV ECX,0xe
MOV EDI,dword ptr [EBP + -0x30]
MOVSB.REP ES:EDI,ESI
JMP 0x0003c5b1
MOV dword ptr [EBX + 0x17a0],0x3147202c
MOV word ptr [EBX + 0x17a4],0x30
JMP 0x0003c159
PUSH EAX
LEA EAX,[EBX + 0xfffd099c]
PUSH EAX
PUSH ECX
PUSH EDX
CALL 0x000132c0
ADD ESP,0x10
CMP dword ptr [EBP + -0x38],0x10000000
JZ 0x0003f8a6
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EAX,ECX
MOV ECX,0x13
NOT EAX
LEA EDX,[EDI + EAX*0x1 + -0x1]
LEA EAX,[EBX + 0xfffc8d3e]
MOV ESI,EAX
MOV EDI,EDX
MOV EAX,dword ptr [EBP + -0x2c]
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV dword ptr [EBX + 0x17a0],0x636d202c
MOV dword ptr [EBX + 0x17a4],0x34326d
JMP 0x0003cbac
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8931]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x13
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003baa0
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8ef2]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0xe
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003caf8
MOV dword ptr [EBX + 0x17a0],0x6d65202c
MOV word ptr [EBX + 0x17a4],0x62
JMP 0x0003bf5b
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
NOT EDX
LEA EAX,[EDI + EDX*0x1 + -0x1]
MOV dword ptr [EAX],0x366f202c
MOV word ptr [EAX + 0x4],0x34
JMP 0x0003cf32
PUSH EAX
LEA EAX,[EBX + 0xfffc896a]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
PUSH EAX
PUSH dword ptr [EBP + -0x30]
CALL 0x00013170
ADD ESP,0x10
JMP 0x0003baa0
MOV EAX,dword ptr [EBP + -0x2c]
LEA EDI,[EBX + 0x17a0]
LEA ESI,[EBX + 0xfffc88ab]
MOV ECX,0x9
MOV dword ptr [EBP + -0x30],EDI
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV dword ptr [EBX + 0x17a0],0x7063202c
MOV EAX,dword ptr [EBP + -0x2c]
MOV dword ptr [EBX + 0x17a4],0x323375
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
LEA EAX,[EBX + 0x17a0]
MOV dword ptr [EBP + -0x30],EAX
JMP 0x0003b840
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EAX,ECX
MOV ECX,0x13
NOT EAX
LEA EDX,[EDI + EAX*0x1 + -0x1]
LEA EAX,[EBX + 0xfffc8d51]
MOV ESI,EAX
MOV EDI,EDX
MOV EAX,dword ptr [EBP + -0x2c]
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8944]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x13
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003baa0
LEA EAX,[EBX + 0xfffc8bab]
PUSH EDI
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
PUSH EAX
PUSH dword ptr [EBP + -0x30]
CALL 0x00013170
ADD ESP,0x10
JMP 0x0003cf32
LEA EDX,[EBX + 0xfffc8653]
MOV EDI,EAX
MOV ECX,0x1e
MOV EAX,dword ptr [EBP + -0x2c]
MOV ESI,EDX
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
LEA EDX,[EBX + 0xfffc862e]
MOV EDI,EAX
MOV ECX,0x7
MOV EAX,dword ptr [EBP + -0x2c]
MOV ESI,EDX
MOVSD.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
LEA EDX,[EBX + 0xfffc8623]
MOV EDI,EAX
MOV ECX,0xb
MOV EAX,dword ptr [EBP + -0x2c]
MOV ESI,EDX
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
LEA ESI,[EBX + 0xfffc89ec]
MOV ECX,0x3
MOV EDI,dword ptr [EBP + -0x30]
MOVSD.REP ES:EDI,ESI
JMP 0x0003c853
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8b99]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x9
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003cf32
LEA EAX,[EBX + 0xfffc84f4]
MOV dword ptr [EBP + -0x38],EAX
JMP 0x0003c354
MOV dword ptr [EBX + 0x17a0],0x7266202c
MOV EAX,dword ptr [EBP + -0x2c]
MOV dword ptr [EBX + 0x17a4],0x303033
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
LEA EAX,[EBX + 0x17a0]
MOV dword ptr [EBP + -0x30],EAX
JMP 0x0003b840
LEA EDI,[EBX + 0x17a0]
LEA ESI,[EBX + 0xfffc88eb]
MOV ECX,0x9
MOV dword ptr [EBP + -0x30],EDI
MOVSB.REP ES:EDI,ESI
JMP 0x0003ba54
LEA ESI,[EBX + 0xfffc85f2]
MOV ECX,0x5
MOVSD.REP ES:EDI,ESI
JMP 0x0003cc60
LEA EAX,[EBX + 0xfffc8d22]
PUSH ECX
PUSH EAX
MOV EAX,0x400
SUB EAX,ESI
ADD ESI,dword ptr [EBP + -0x30]
PUSH EAX
PUSH ESI
CALL 0x000132c0
MOV EAX,dword ptr [EBP + -0x2c]
ADD ESP,0x10
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
LEA EAX,[EBX + 0xfffc8d1a]
PUSH EDI
PUSH EAX
MOV EAX,0x400
SUB EAX,ESI
PUSH EAX
MOV EAX,dword ptr [EBP + -0x30]
ADD EAX,ESI
ADD ESI,0x7
PUSH EAX
CALL 0x000132c0
ADD ESP,0x10
JMP 0x0003d7d8
LEA EAX,[EBX + 0xfffc8c13]
PUSH EDX
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP ECX
POP ESI
PUSH EAX
PUSH dword ptr [EBP + -0x30]
CALL 0x00013170
MOV EAX,dword ptr [EBP + -0x2c]
ADD ESP,0x10
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EAX,ECX
NOT EAX
LEA EAX,[EDI + EAX*0x1 + -0x1]
MOV dword ptr [EAX],0x696d202c
MOV dword ptr [EAX + 0x4],0x337370
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EAX,ECX
NOT EAX
LEA EAX,[EDI + EAX*0x1 + -0x1]
MOV dword ptr [EAX],0x696d202c
MOV dword ptr [EAX + 0x4],0x347370
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
LEA EAX,[EBX + 0xfffc9024]
PUSH ECX
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP ESI
POP EDI
PUSH EAX
PUSH dword ptr [EBP + -0x30]
CALL 0x00013170
ADD ESP,0x10
JMP 0x0003d380
MOV dword ptr [EBX + 0x17a0],0x7266202c
MOV EAX,dword ptr [EBP + -0x2c]
MOV dword ptr [EBX + 0x17a4],0x303535
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
LEA EAX,[EBX + 0x17a0]
MOV dword ptr [EBP + -0x30],EAX
JMP 0x0003b840
MOV EAX,dword ptr [EBP + -0x2c]
LEA EDI,[EBX + 0x17a0]
LEA ESI,[EBX + 0xfffc8a8c]
MOV ECX,0x7
MOV dword ptr [EBP + -0x30],EDI
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV dword ptr [EBX + 0x17a0],0x7266202c
MOV EAX,dword ptr [EBP + -0x2c]
MOV dword ptr [EBX + 0x17a4],0x353034
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
LEA EAX,[EBX + 0x17a0]
MOV dword ptr [EBP + -0x30],EAX
JMP 0x0003b840
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EAX,ECX
MOV ECX,0x9
NOT EAX
LEA EDX,[EDI + EAX*0x1 + -0x1]
LEA EAX,[EBX + 0xfffc8bd5]
MOV ESI,EAX
MOV EDI,EDX
MOV EAX,dword ptr [EBP + -0x2c]
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EAX,ECX
NOT EAX
LEA EAX,[EDI + EAX*0x1 + -0x1]
MOV dword ptr [EAX],0x696d202c
MOV dword ptr [EAX + 0x4],0x317370
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EAX,dword ptr [EBP + -0x2c]
LEA EDI,[EBX + 0x17a0]
LEA ESI,[EBX + 0xfffc8a7a]
MOV ECX,0x9
MOV dword ptr [EBP + -0x30],EDI
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
LEA EDI,[EBX + 0x17a0]
LEA ESI,[EBX + 0xfffc8859]
MOV ECX,0x4
MOV dword ptr [EBP + -0x30],EDI
MOVSD.REP ES:EDI,ESI
JMP 0x0003c63d
LEA EAX,[EBX + 0xfffc88bc]
MOV dword ptr [EBP + -0x38],EAX
JMP 0x0003c354
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
NOT EDX
LEA EAX,[EDI + EDX*0x1 + -0x1]
MOV dword ptr [EAX],0x6c66202c
MOV dword ptr [EAX + 0x4],0x74616f
JMP 0x0003c324
PUSH EAX
LEA EAX,[EBX + 0xfffc8cef]
PUSH EAX
MOV EAX,0x400
SUB EAX,ESI
PUSH EAX
MOV EAX,dword ptr [EBP + -0x30]
ADD EAX,ESI
ADD ESI,0x7
PUSH EAX
CALL 0x000132c0
ADD ESP,0x10
JMP 0x0003d77c
PUSH EAX
LEA EAX,[EBX + 0xfffc8c96]
PUSH EAX
MOV EAX,0x400
SUB EAX,ESI
MOV dword ptr [EBP + -0x38],EDX
PUSH EAX
MOV EAX,dword ptr [EBP + -0x30]
ADD EAX,ESI
ADD ESI,0x8
PUSH EAX
CALL 0x000132c0
MOV EDX,dword ptr [EBP + -0x38]
ADD ESP,0x10
TEST EDX,EDX
JZ 0x0003ebc4
PUSH EAX
LEA EAX,[EBX + 0xfffc8c9f]
PUSH EAX
MOV EAX,0x400
SUB EAX,ESI
PUSH EAX
MOV EAX,dword ptr [EBP + -0x30]
ADD EAX,ESI
ADD ESI,0x8
PUSH EAX
CALL 0x000132c0
ADD ESP,0x10
TEST EDI,EDI
JZ 0x0003ebe9
PUSH EAX
LEA EAX,[EBX + 0xfffc8ca8]
PUSH EAX
MOV EAX,0x400
SUB EAX,ESI
PUSH EAX
MOV EAX,dword ptr [EBP + -0x30]
ADD EAX,ESI
ADD ESI,0x9
PUSH EAX
CALL 0x000132c0
ADD ESP,0x10
MOV EDX,dword ptr [EBP + -0x34]
MOV EAX,dword ptr [EBP + -0x30]
MOV ECX,0x400
SUB ECX,ESI
SHR EDX,0x16
ADD EAX,ESI
AND EDX,0x3
CMP EDX,0x2
JZ 0x0003f54a
CMP EDX,0x3
JZ 0x0003f530
SUB EDX,0x1
JZ 0x0003f516
LEA EDX,[EBX + 0xfffc8cb2]
PUSH EDI
ADD ESI,0xd
PUSH EDX
PUSH ECX
PUSH EAX
CALL 0x000132c0
ADD ESP,0x10
JMP 0x0003d76f
MOV EAX,dword ptr [EBP + -0x2c]
LEA EDI,[EBX + 0x17a0]
LEA ESI,[EBX + 0xfffc8a64]
MOV ECX,0xb
MOV dword ptr [EBP + -0x30],EDI
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EAX,dword ptr [EBP + -0x2c]
LEA EDI,[EBX + 0x17a0]
LEA ESI,[EBX + 0xfffc8a6f]
MOV ECX,0xb
MOV dword ptr [EBP + -0x30],EDI
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EAX,dword ptr [EBP + -0x2c]
LEA EDI,[EBX + 0x17a0]
LEA ESI,[EBX + 0xfffc8a83]
MOV ECX,0x9
MOV dword ptr [EBP + -0x30],EDI
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
CMP dword ptr [EBP + -0x34],0x0
MOV EDI,EDX
LEA ESI,[EBX + 0xfffc8740]
MOV EAX,dword ptr [EBP + -0x2c]
MOV ECX,0xb
MOV dword ptr [EBP + -0x38],0x0
MOV EDX,dword ptr [EBP + -0x30]
MOVSB.REP ES:EDI,ESI
JNZ 0x0003ed0f
JMP 0x0003f5c8
CMP EAX,0x80
JZ 0x0003ee4d
CMP EAX,0x100
JNZ 0x0003edd8
MOV EDI,EDX
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc87ae]
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
NOT ECX
LEA EAX,[EDX + ECX*0x1 + -0x1]
MOV ECX,0xf
MOV EDI,EAX
MOVSB.REP ES:EDI,ESI
MOV EDI,dword ptr [EBP + -0x34]
TEST EDI,EDI
JZ 0x0003d8e9
MOV ESI,dword ptr [EBP + -0x34]
MOV EAX,ESI
NEG EAX
AND EAX,ESI
MOV ECX,EAX
NOT ECX
AND ESI,ECX
MOV dword ptr [EBP + -0x34],ESI
CMP EAX,0x40
JZ 0x0003f07a
JBE 0x0003ed70
CMP EAX,0x200
JZ 0x0003ede4
JBE 0x0003ecd0
CMP EAX,0x400
JZ 0x0003f09d
CMP EAX,0x800
JNZ 0x0003edd8
MOV EDI,EDX
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc87cb]
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
NOT ECX
LEA EAX,[EDX + ECX*0x1 + -0x1]
MOV ECX,0xe
MOV EDI,EAX
MOVSB.REP ES:EDI,ESI
JMP 0x0003ed04
CMP EAX,0x8
JZ 0x0003ee2a
JBE 0x0003edb0
CMP EAX,0x10
JZ 0x0003ee07
CMP EAX,0x20
JNZ 0x0003edd8
MOV EDI,EDX
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc868a]
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
NOT ECX
LEA EAX,[EDX + ECX*0x1 + -0x1]
MOV ECX,0x17
MOV EDI,EAX
MOVSB.REP ES:EDI,ESI
JMP 0x0003ed04
CMP EAX,0x4
JNZ 0x0003edd8
MOV EDI,EDX
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc874b]
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
NOT ECX
LEA EAX,[EDX + ECX*0x1 + -0x1]
MOV ECX,0x17
MOV EDI,EAX
MOVSB.REP ES:EDI,ESI
JMP 0x0003ed04
MOV dword ptr [EBP + -0x38],0x1
JMP 0x0003ed04
MOV EDI,EDX
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc87bd]
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
NOT ECX
LEA EAX,[EDX + ECX*0x1 + -0x1]
MOV ECX,0xe
MOV EDI,EAX
MOVSB.REP ES:EDI,ESI
JMP 0x0003ed04
MOV EDI,EDX
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8771]
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
NOT ECX
LEA EAX,[EDX + ECX*0x1 + -0x1]
MOV ECX,0x12
MOV EDI,EAX
MOVSB.REP ES:EDI,ESI
JMP 0x0003ed04
MOV EDI,EDX
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8762]
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
NOT ECX
LEA EAX,[EDX + ECX*0x1 + -0x1]
MOV ECX,0xf
MOV EDI,EAX
MOVSB.REP ES:EDI,ESI
JMP 0x0003ed04
MOV EDI,EDX
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc879f]
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
NOT ECX
LEA EAX,[EDX + ECX*0x1 + -0x1]
MOV ECX,0xf
MOV EDI,EAX
MOVSB.REP ES:EDI,ESI
JMP 0x0003ed04
MOV EDI,EDX
XOR EDX,EDX
CMP dword ptr [EBP + -0x34],0x0
MOV ECX,0x4
LEA ESI,[EBX + 0xfffc870e]
MOV dword ptr [EBP + -0x38],0x0
MOV EAX,dword ptr [EBP + -0x2c]
MOVSD.REP ES:EDI,ESI
JZ 0x0003f6d9
MOV dword ptr [EBP + -0x3c],EAX
MOV EAX,dword ptr [EBP + -0x30]
MOV dword ptr [EBP + -0x2c],EAX
JMP 0x0003eed5
CMP EAX,0x800000
JNZ 0x0003ef43
MOV EDI,dword ptr [EBP + -0x2c]
MOV EAX,EDX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x2c]
NOT ECX
LEA EAX,[EDI + ECX*0x1 + -0x1]
MOV dword ptr [EAX],0x4542202c
MOV word ptr [EAX + 0x4],0x38
MOV EAX,dword ptr [EBP + -0x34]
TEST EAX,EAX
JZ 0x0003d8e3
MOV ESI,dword ptr [EBP + -0x34]
MOV EAX,ESI
NEG EAX
AND EAX,ESI
MOV ECX,EAX
NOT ECX
AND ESI,ECX
MOV dword ptr [EBP + -0x34],ESI
CMP EAX,0x400
JZ 0x0003ef4f
JBE 0x0003ef18
CMP EAX,0x400000
JNZ 0x0003eea0
MOV EDI,dword ptr [EBP + -0x2c]
MOV EAX,EDX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x2c]
NOT ECX
LEA EAX,[EDI + ECX*0x1 + -0x1]
MOV dword ptr [EAX],0x454c202c
MOV word ptr [EAX + 0x4],0x38
JMP 0x0003eeca
CMP EAX,0x200
JNZ 0x0003ef43
MOV EDI,dword ptr [EBP + -0x2c]
MOV EAX,EDX
OR ECX,0xffffffff
LEA ESI,[EBX + 0xfffc871e]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x2c]
NOT ECX
LEA EAX,[EDI + ECX*0x1 + -0x1]
MOV ECX,0x11
MOV EDI,EAX
MOVSB.REP ES:EDI,ESI
JMP 0x0003eeca
MOV dword ptr [EBP + -0x38],0x1
JMP 0x0003eeca
MOV EDI,dword ptr [EBP + -0x2c]
MOV EAX,EDX
OR ECX,0xffffffff
LEA ESI,[EBX + 0xfffc872f]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x2c]
NOT ECX
LEA EAX,[EDI + ECX*0x1 + -0x1]
MOV ECX,0x11
MOV EDI,EAX
MOVSB.REP ES:EDI,ESI
JMP 0x0003eeca
CMP dword ptr [EBP + -0x34],0x0
LEA ESI,[EBX + 0xfffc86fe]
MOV ECX,0x4
MOV EDI,EDX
MOVSD.REP ES:EDI,ESI
MOV dword ptr [EBP + -0x38],0x0
MOV ECX,dword ptr [EBP + -0x34]
JNZ 0x0003eff0
JMP 0x0003f6cb
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,EDI
MOV ESI,dword ptr [EDX]
ADD EDX,0x4
LEA EAX,[ESI + 0xfefefeff]
NOT ESI
AND EAX,ESI
AND EAX,0x80808080
JZ 0x0003efa5
MOV ESI,EAX
MOV EDI,EDX
SHR ESI,0x10
TEST EAX,0x8080
CMOVZ EAX,ESI
LEA ESI,[EDX + 0x2]
CMOVZ EDI,ESI
MOV EDX,EAX
ADD DL,AL
MOV EDX,EDI
MOV EAX,0x38
SBB EDX,0x3
MOV dword ptr [EDX],0x4542202c
MOV word ptr [EDX + 0x4],AX
TEST ECX,ECX
JZ 0x0003d8e9
MOV EAX,ECX
NEG EAX
AND EAX,ECX
MOV EDX,EAX
NOT EDX
AND ECX,EDX
CMP EAX,0x400000
JZ 0x0003f013
CMP EAX,0x800000
JZ 0x0003efa0
MOV dword ptr [EBP + -0x38],0x1
JMP 0x0003efe8
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,EDI
MOV ESI,dword ptr [EDX]
ADD EDX,0x4
LEA EAX,[ESI + 0xfefefeff]
NOT ESI
AND EAX,ESI
AND EAX,0x80808080
JZ 0x0003f018
MOV ESI,EAX
MOV EDI,EDX
SHR ESI,0x10
TEST EAX,0x8080
CMOVZ EAX,ESI
LEA ESI,[EDX + 0x2]
CMOVZ EDI,ESI
MOV EDX,EAX
ADD DL,AL
MOV EDX,EDI
MOV EAX,0x38
SBB EDX,0x3
MOV dword ptr [EDX],0x454c202c
MOV word ptr [EDX + 0x4],AX
JMP 0x0003efe8
LEA ESI,[EBX + 0xfffc86ee]
MOV ECX,0x4
MOV EDI,EDX
MOV EAX,dword ptr [EBP + -0x2c]
MOVSD.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EDI,EDX
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8783]
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
NOT ECX
LEA EAX,[EDX + ECX*0x1 + -0x1]
MOV ECX,0x7
MOV EDI,EAX
MOVSD.REP ES:EDI,ESI
JMP 0x0003ed04
XOR EAX,EAX
OR ECX,0xffffffff
MOV EDI,EDX
SCASB.REPNE ES:EDI
NOT ECX
LEA EAX,[EDX + ECX*0x1 + -0x1]
MOV dword ptr [EAX],0x4656202c
MOV word ptr [EAX + 0x4],0x50
JMP 0x0003ed04
PUSH EAX
LEA EAX,[EBX + 0xfffc8cfd]
PUSH EAX
MOV EAX,0x400
SUB EAX,ESI
PUSH EAX
MOV EAX,dword ptr [EBP + -0x30]
ADD EAX,ESI
ADD ESI,0x7
PUSH EAX
CALL 0x000132c0
ADD ESP,0x10
JMP 0x0003d796
PUSH EAX
LEA EAX,[EBX + 0xfffc8cf7]
PUSH EAX
MOV EAX,0x400
SUB EAX,ESI
PUSH EAX
MOV EAX,dword ptr [EBP + -0x30]
ADD EAX,ESI
ADD ESI,0x5
PUSH EAX
CALL 0x000132c0
ADD ESP,0x10
JMP 0x0003d789
CMP dword ptr [EBP + -0x34],0x0
MOV EDI,EDX
LEA ESI,[EBX + 0xfffc86de]
MOV EAX,dword ptr [EBP + -0x2c]
MOV ECX,0x4
MOV dword ptr [EBP + -0x38],0x0
MOV EDX,dword ptr [EBP + -0x30]
MOVSD.REP ES:EDI,ESI
JNZ 0x0003f147
JMP 0x0003f5fc
CMP EAX,0x4
JZ 0x0003f1a3
MOV dword ptr [EBP + -0x38],0x1
MOV EAX,dword ptr [EBP + -0x34]
TEST EAX,EAX
JZ 0x0003d8e9
MOV ESI,dword ptr [EBP + -0x34]
MOV EAX,ESI
NEG EAX
AND EAX,ESI
MOV ECX,EAX
NOT ECX
AND ESI,ECX
MOV dword ptr [EBP + -0x34],ESI
CMP EAX,0x8
JZ 0x0003f183
CMP EAX,0x10
JNZ 0x0003f130
MOV EDI,EDX
XOR EAX,EAX
LEA ESI,[EBX + 0xfffd0930]
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
NOT ECX
LEA EAX,[EDX + ECX*0x1 + -0x1]
MOV ECX,0x21
MOV EDI,EAX
MOVSB.REP ES:EDI,ESI
JMP 0x0003f13c
MOV EDI,EDX
XOR EAX,EAX
LEA ESI,[EBX + 0xfffd090c]
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
NOT ECX
LEA EAX,[EDX + ECX*0x1 + -0x1]
MOV ECX,0x9
MOV EDI,EAX
MOVSD.REP ES:EDI,ESI
JMP 0x0003f13c
MOV EDI,EDX
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc86c7]
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
NOT ECX
LEA EAX,[EDX + ECX*0x1 + -0x1]
MOV ECX,0x17
MOV EDI,EAX
MOVSB.REP ES:EDI,ESI
JMP 0x0003f13c
LEA EDI,[EBX + 0x17a0]
LEA ESI,[EBX + 0xfffc88fd]
MOV ECX,0x9
MOV dword ptr [EBP + -0x30],EDI
MOVSB.REP ES:EDI,ESI
JMP 0x0003ba54
LEA EDI,[EBX + 0x17a0]
LEA ESI,[EBX + 0xfffc88f4]
MOV ECX,0x9
MOV dword ptr [EBP + -0x30],EDI
MOVSB.REP ES:EDI,ESI
JMP 0x0003ba54
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EAX,ECX
MOV ECX,0xb
NOT EAX
LEA EDX,[EDI + EAX*0x1 + -0x1]
LEA EAX,[EBX + 0xfffc8bfd]
MOV ESI,EAX
MOV EDI,EDX
MOV EAX,dword ptr [EBP + -0x2c]
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EAX,ECX
MOV ECX,0x9
NOT EAX
LEA EDX,[EDI + EAX*0x1 + -0x1]
LEA EAX,[EBX + 0xfffc8bf4]
MOV ESI,EAX
MOV EDI,EDX
MOV EAX,dword ptr [EBP + -0x2c]
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
LEA EDI,[EBX + 0x17a0]
LEA ESI,[EBX + 0xfffc88cb]
MOV ECX,0xe
MOV dword ptr [EBP + -0x30],EDI
MOVSB.REP ES:EDI,ESI
JMP 0x0003ba54
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EAX,ECX
MOV ECX,0xb
NOT EAX
LEA EDX,[EDI + EAX*0x1 + -0x1]
LEA EAX,[EBX + 0xfffc8be9]
MOV ESI,EAX
MOV EDI,EDX
MOV EAX,dword ptr [EBP + -0x2c]
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
PUSH EAX
LEA EAX,[EBX + 0xfffc8c6e]
PUSH EAX
MOV EAX,0x400
SUB EAX,ESI
PUSH EAX
MOV EAX,dword ptr [EBP + -0x30]
ADD EAX,ESI
ADD ESI,0x8
PUSH EAX
CALL 0x000132c0
ADD ESP,0x10
JMP 0x0003d6ea
PUSH EDX
LEA EDX,[EBX + 0xfffc8c80]
JMP 0x0003d71b
TEST EAX,EAX
JNZ 0x0003f6a5
TEST dword ptr [EBP + -0x34],0x100000
JZ 0x0003f67f
TEST dword ptr [EBP + -0x34],0x2000
JNZ 0x0003f659
TEST dword ptr [EBP + -0x34],0x4000
JZ 0x0003d729
PUSH EAX
LEA EAX,[EBX + 0xfffc8c26]
PUSH EAX
MOV EAX,0x400
SUB EAX,ESI
PUSH EAX
MOV EAX,dword ptr [EBP + -0x30]
ADD EAX,ESI
ADD ESI,0x5
PUSH EAX
CALL 0x000132c0
ADD ESP,0x10
JMP 0x0003d729
PUSH EDX
LEA EDX,[EBX + 0xfffc8c68]
ADD ESI,0x5
PUSH EDX
PUSH ECX
PUSH EAX
CALL 0x000132c0
ADD ESP,0x10
JMP 0x0003d6dd
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV dword ptr [EBX + 0x17a0],0x7266202c
MOV EAX,dword ptr [EBP + -0x2c]
MOV dword ptr [EBX + 0x17a4],0x303035
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
LEA EAX,[EBX + 0x17a0]
MOV dword ptr [EBP + -0x30],EAX
JMP 0x0003b840
LEA EDI,[EBX + 0x17a0]
XOR EAX,EAX
OR ECX,0xffffffff
MOV ESI,EDI
SCASB.REPNE ES:EDI
MOV dword ptr [EBP + -0x30],ESI
MOV EDX,ECX
MOV ECX,0xa
NOT EDX
LEA EAX,[ESI + EDX*0x1 + -0x1]
LEA ESI,[EBX + 0xfffc88c0]
MOV EDI,EAX
MOVSB.REP ES:EDI,ESI
MOV EDI,dword ptr [EBP + -0x30]
LEA EAX,[EDI + EDX*0x1 + 0x9]
PUSH ESI
PUSH ESI
PUSH dword ptr [EBP + -0x3c]
PUSH EAX
CALL 0x00013190
ADD ESP,0x10
JMP 0x0003c31a
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EAX,ECX
MOV ECX,0xa
NOT EAX
LEA EDX,[EDI + EAX*0x1 + -0x1]
LEA EAX,[EBX + 0xfffc8f1a]
MOV ESI,EAX
MOV EDI,EDX
MOV EAX,dword ptr [EBP + -0x2c]
MOVSB.REP ES:EDI,ESI
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EAX,ECX
NOT EAX
LEA EAX,[EDI + EAX*0x1 + -0x1]
MOV dword ptr [EAX],0x6261202c
MOV dword ptr [EAX + 0x4],0x74726f
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EAX,ECX
NOT EAX
LEA EAX,[EDI + EAX*0x1 + -0x1]
MOV dword ptr [EAX],0x7265202c
MOV dword ptr [EAX + 0x4],0x726f72
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8f0b]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0xf
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003e007
PUSH EAX
LEA EAX,[EBX + 0xfffc8c8e]
PUSH EAX
MOV EAX,0x400
SUB EAX,ESI
PUSH EAX
MOV EAX,dword ptr [EBP + -0x30]
ADD EAX,ESI
ADD ESI,0x7
PUSH EAX
CALL 0x000132c0
ADD ESP,0x10
JMP 0x0003d743
PUSH EAX
LEA EAX,[EBX + 0xfffc8c86]
PUSH EAX
MOV EAX,0x400
SUB EAX,ESI
PUSH EAX
MOV EAX,dword ptr [EBP + -0x30]
ADD EAX,ESI
ADD ESI,0x7
PUSH EAX
CALL 0x000132c0
ADD ESP,0x10
JMP 0x0003d736
PUSH EAX
LEA EAX,[EBX + 0xfffc8c77]
PUSH EAX
MOV EAX,0x400
SUB EAX,ESI
PUSH EAX
MOV EAX,dword ptr [EBP + -0x30]
ADD EAX,ESI
ADD ESI,0x8
PUSH EAX
CALL 0x000132c0
ADD ESP,0x10
JMP 0x0003d6f7
PUSH EDX
LEA EDX,[EBX + 0xfffc8d0d]
ADD ESI,0xc
PUSH EDX
PUSH ECX
PUSH EAX
CALL 0x000132c0
ADD ESP,0x10
JMP 0x0003d7cb
PUSH EDX
LEA EDX,[EBX + 0xfffc8cc0]
ADD ESI,0xe
PUSH EDX
PUSH ECX
PUSH EAX
CALL 0x000132c0
ADD ESP,0x10
JMP 0x0003d76f
PUSH EDX
LEA EDX,[EBX + 0xfffc8cdf]
PUSH EDX
ADD ESI,0xf
PUSH ECX
PUSH EAX
CALL 0x000132c0
ADD ESP,0x10
JMP 0x0003d76f
LEA EDX,[EBX + 0xfffc8ccf]
PUSH EDI
JMP 0x0003f537
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
NOT EDX
LEA EAX,[EDI + EDX*0x1 + -0x1]
MOV dword ptr [EAX],0x6273202c
MOV word ptr [EAX + 0x4],0x31
JMP 0x0003cee9
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8b1e]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x7
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003cee9
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
NOT EDX
LEA EAX,[EDI + EDX*0x1 + -0x1]
MOV dword ptr [EAX],0x6c78202c
MOV word ptr [EAX + 0x4],0x72
JMP 0x0003cee9
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8b02]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x7
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003cee9
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8b7a]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x11
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003cee9
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8aed]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x7
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003cee9
PUSH EAX
LEA EAX,[EBX + 0xfffc8c5b]
PUSH EAX
MOV EAX,0x400
SUB EAX,ESI
PUSH EAX
MOV EAX,dword ptr [EBP + -0x30]
ADD EAX,ESI
ADD ESI,0x5
PUSH EAX
CALL 0x000132c0
ADD ESP,0x10
JMP 0x0003f307
PUSH EAX
LEA EAX,[EBX + 0xfffc8c55]
PUSH EAX
MOV EAX,0x400
SUB EAX,ESI
PUSH EAX
MOV EAX,dword ptr [EBP + -0x30]
ADD EAX,ESI
ADD ESI,0x5
PUSH EAX
CALL 0x000132c0
ADD ESP,0x10
JMP 0x0003f2fa
PUSH EAX
LEA EAX,[EBX + 0xfffc8c4a]
PUSH EAX
MOV EAX,0x400
SUB EAX,ESI
PUSH EAX
MOV EAX,dword ptr [EBP + -0x30]
ADD EAX,ESI
ADD ESI,0xa
PUSH EAX
CALL 0x000132c0
ADD ESP,0x10
JMP 0x0003f2ed
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
TEST dword ptr [EBP + -0x34],0x100
JNZ 0x0003f71a
TEST dword ptr [EBP + -0x34],0x8000
JNZ 0x0003f73d
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
NOT EDX
LEA EAX,[EDI + EDX*0x1 + -0x1]
MOV dword ptr [EAX],0x6970202c
MOV word ptr [EAX + 0x4],0x63
JMP 0x0003f703
MOV EDI,dword ptr [EBP + -0x30]
XOR EAX,EAX
OR ECX,0xffffffff
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EAX,ECX
NOT EAX
LEA EAX,[EDI + EAX*0x1 + -0x1]
MOV dword ptr [EAX],0x6466202c
MOV dword ptr [EAX + 0x4],0x636970
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8b17]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x7
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003cee9
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8b10]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x7
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003cee9
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8b70]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0xa
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003cee9
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8af4]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0x7
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003cee9
MOV EAX,dword ptr [EBP + -0x2c]
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
PUSH EAX
LEA EAX,[EBX + 0xfffc8c26]
ADD EDI,0x26
PUSH EAX
MOV EAX,0x400
SUB EAX,EDI
ADD EDI,dword ptr [EBP + -0x30]
PUSH EAX
PUSH EDI
CALL 0x000132c0
MOV EAX,dword ptr [EBP + -0x2c]
ADD ESP,0x10
MOV EAX,dword ptr [EAX + 0x3c]
MOV dword ptr [EBP + -0x34],EAX
JMP 0x0003b840
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8b33]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0xe
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003cee9
MOV EDI,dword ptr [EBP + -0x30]
OR ECX,0xffffffff
XOR EAX,EAX
LEA ESI,[EBX + 0xfffc8b41]
SCASB.REPNE ES:EDI
MOV EDI,dword ptr [EBP + -0x30]
MOV EDX,ECX
MOV ECX,0xe
NOT EDX
LEA EDX,[EDI + EDX*0x1 + -0x1]
MOV EDI,EDX
MOVSB.REP ES:EDI,ESI
JMP 0x0003cee9
LEA EAX,[EBX + 0xfffc8c13]
PUSH ESI
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDI
POP EDX
PUSH EAX
LEA EAX,[EBX + 0x17a0]
PUSH EAX
MOV dword ptr [EBP + -0x30],EAX
CALL 0x00013170
ADD ESP,0x10
JMP 0x0003f6fa
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n\nundefined4 __regparm3 FUN_0003b300(char *param_1)\n\n{\n  char cVar1;\n  ushort uVar2;\n  void *__ptr;\n  undefined4 uVar3;\n  char *pcVar4;\n  char *pcVar5;\n  Elf32_Ehdr *pEVar6;\n  int iVar7;\n  undefined *puVar8;\n  uint *puVar9;\n  size_t sVar10;\n  int extraout_ECX;\n  undefined4 extraout_ECX_00;\n  undefined4 extraout_ECX_01;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  int iVar11;\n  undefined4 extraout_ECX_04;\n  undefined4 extraout_ECX_05;\n  undefined4 extraout_ECX_06;\n  undefined4 extraout_ECX_07;\n  undefined4 extraout_ECX_08;\n  undefined4 extraout_ECX_09;\n  undefined4 extraout_ECX_10;\n  undefined4 extraout_ECX_11;\n  undefined4 extraout_ECX_12;\n  undefined4 extraout_ECX_13;\n  undefined4 extraout_ECX_14;\n  undefined4 extraout_ECX_15;\n  undefined4 extraout_ECX_16;\n  undefined4 extraout_ECX_17;\n  undefined4 extraout_ECX_18;\n  undefined4 extraout_ECX_19;\n  undefined4 extraout_ECX_20;\n  uint uVar12;\n  uint uVar13;\n  char *pcVar14;\n  char *extraout_EDX;\n  undefined4 extraout_EDX_00;\n  char *extraout_EDX_01;\n  byte bVar15;\n  undefined1 *puVar16;\n  uint uVar17;\n  uint *puVar18;\n  undefined4 *puVar19;\n  bool bVar20;\n  bool bVar21;\n  byte bVar22;\n  char *local_40;\n  char *local_3c;\n  char *local_38;\n  uint *local_34;\n  byte *local_30;\n  char local_24 [4];\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  bVar22 = 0;\n  uStack_14 = 0x3b30b;\n  if (*(int *)(param_1 + 0x10) != 0x464c457f) {\n    uVar3 = dcgettext(0,"Not an ELF file - it has the wrong magic bytes at the start\n",5);\n    error(uVar3);\n    return 0;\n  }\n  FUN_0005d920(*(undefined2 *)(param_1 + 0x42));\n  if (DAT_000b6344 == 0) goto LAB_0003b371;\n  pcVar4 = (char *)dcgettext(0,"ELF Header:\n",5);\n  printf(pcVar4);\n  pcVar4 = (char *)dcgettext(0,"  Magic:   ",5);\n  printf(pcVar4);\n  local_30 = (byte *)(param_1 + 0x10);\n  do {\n    printf("%2.2x ",(uint)*local_30);\n    local_30 = local_30 + 1;\n  } while ((byte *)(param_1 + 0x20) != local_30);\n  putchar(10);\n  cVar1 = param_1[0x14];\n  pcVar4 = "ELF32";\n  if (cVar1 != '\x01') {\n    if (cVar1 == '\0') {\n      pcVar4 = (char *)dcgettext(0,&DAT_00076afd,5);\n    }\n    else {\n      pcVar4 = "ELF64";\n      if (cVar1 != '\x02') {\n        pcVar4 = &DAT_000b5c40;\n        pcVar5 = (char *)dcgettext(0,"<unknown: %x>",5);\n        snprintf(&DAT_000b5c40,0x20,pcVar5,cVar1);\n      }\n    }\n  }\n  pcVar5 = (char *)dcgettext(0,"  Class:                             %s\n",5);\n  printf(pcVar5,pcVar4);\n  cVar1 = param_1[0x15];\n  if (cVar1 == '\x01') {\n    pcVar4 = "2\'s complement, little endian";\nLAB_0003c46b:\n    puVar8 = (undefined *)dcgettext(0,pcVar4,5);\n  }\n  else {\n    if (cVar1 == '\0') {\n      pcVar4 = "none";\n      goto LAB_0003c46b;\n    }\n    if (cVar1 == '\x02') {\n      pcVar4 = "2\'s complement, big endian";\n      goto LAB_0003c46b;\n    }\n    puVar8 = &DAT_000b5c20;\n    pcVar4 = (char *)dcgettext(0,"<unknown: %x>",5);\n    snprintf(&DAT_000b5c20,0x20,pcVar4,cVar1);\n  }\n  pcVar5 = (char *)dcgettext(0,"  Data:                              %s\n",5);\n  pcVar4 = "(current)";\n  printf(pcVar5,puVar8);\n  bVar15 = param_1[0x16];\n  if ((bVar15 != 1) && (pcVar4 = "", bVar15 != 0)) {\n    pcVar4 = (char *)dcgettext(0,"<unknown: %lx>",5);\n    bVar15 = param_1[0x16];\n  }\n  pcVar5 = (char *)dcgettext(0,"  Version:                           %d %s\n",5);\n  printf(pcVar5,(uint)bVar15,pcVar4);\n  uVar3 = FUN_000241c0();\n  pcVar4 = (char *)dcgettext(0,"  OS/ABI:                            %s\n",5);\n  printf(pcVar4,uVar3);\n  bVar15 = param_1[0x18];\n  pcVar4 = (char *)dcgettext(0,"  ABI Version:                       %d\n",5);\n  printf(pcVar4,(uint)bVar15);\n  uVar3 = FUN_0001c2b0();\n  pcVar4 = (char *)dcgettext(0,"  Type:                              %s\n",5);\n  printf(pcVar4,uVar3);\n  uVar3 = FUN_0001c3f0();\n  pcVar4 = (char *)dcgettext(0,"  Machine:                           %s\n",5);\n  printf(pcVar4,uVar3);\n  uVar3 = *(undefined4 *)(param_1 + 0x38);\n  pcVar5 = (char *)dcgettext(0,"  Version:                           0x%lx\n",5);\n  pcVar4 = "%lld";\n  printf(pcVar5,uVar3);\n  pcVar5 = (char *)dcgettext(0,"  Entry point address:               ",5);\n  printf(pcVar5);\n  FUN_0001e910();\n  pcVar5 = (char *)dcgettext(0,"\n  Start of program headers:          ",5);\n  printf(pcVar5);\n  printf("%lld",*(undefined4 *)(param_1 + 0x28),*(undefined4 *)(param_1 + 0x2c));\n  pcVar5 = (char *)dcgettext(0," (bytes into file)\n  Start of section headers:          ",5);\n  printf(pcVar5);\n  printf("%lld",*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34));\n  pcVar5 = (char *)dcgettext(0," (bytes into file)\n",5);\n  printf(pcVar5);\n  local_38 = *(char **)(param_1 + 0x3c);\n  uVar2 = *(ushort *)(param_1 + 0x42);\n  DAT_000b57a0 = DAT_000b57a0 & 0xffffff00;\n  if (local_38 == (char *)0x0) goto LAB_0003b840;\n  if (uVar2 == 0x5b) {\nLAB_0003bdf2:\n    if (((uint)local_38 & 0x10) != 0) {\n      pcVar4 = ", new calling convention";\n      pcVar5 = (char *)&DAT_000b57a0;\n      for (iVar11 = 0x19; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x20) == 0) {\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    else {\n      uVar13 = 0xffffffff;\n      pcVar4 = (char *)&DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar4 = ", gnu calling convention";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0x19; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    goto LAB_0003b840;\n  }\n  if (0x5b < uVar2) {\n    if (uVar2 == 0xc3) {\nLAB_0003cc32:\n      switch((uint)local_38 & 0xff) {\n      default:\n        if (uVar2 == 0x5d) {\n          puVar9 = (uint *)", Unknown ARCompact";\n          puVar18 = &DAT_000b57a0;\n          for (iVar11 = 5; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar18 = *puVar9;\n            puVar9 = puVar9 + (uint)bVar22 * -2 + 1;\n            puVar18 = puVar18 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else {\n          pcVar4 = ", Unknown ARC";\n          puVar9 = &DAT_000b57a0;\n          for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(char *)puVar9 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          }\n        }\n        break;\n      case 2:\n        pcVar4 = ", ARC600";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 3:\n        pcVar4 = ", ARC700";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 4:\n        pcVar4 = ", ARC601";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 5:\n        pcVar4 = ", ARC EM";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 6:\n        pcVar4 = ", ARC HS";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n      }\n      uVar13 = (uint)local_38 & 0xf00;\n      puVar9 = &DAT_000b57a0;\n      do {\n        puVar18 = puVar9;\n        uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n        uVar12 = uVar17 & 0x80808080;\n        puVar9 = puVar18 + 1;\n      } while (uVar12 == 0);\n      bVar20 = (uVar17 & 0x8080) == 0;\n      if (bVar20) {\n        uVar12 = uVar12 >> 0x10;\n      }\n      if (bVar20) {\n        puVar9 = (uint *)((int)puVar18 + 6);\n      }\n      pcVar4 = (char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12)));\n      if (uVar13 == 0x200) {\n        pcVar5 = ", (ABI:v2)";\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar4 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else if (uVar13 < 0x201) {\n        if (uVar13 == 0) {\n          pcVar5 = ", (ABI:legacy)";\n          for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar4 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\nLAB_0003e7fe:\n          pcVar5 = ", unrecognised ARC OSABI flag";\n          for (iVar11 = 0x1e; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar4 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar13 == 0x300) {\n        pcVar5 = ", v3 no-legacy-syscalls ABI";\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n          pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n          pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else {\n        if (uVar13 != 0x400) goto LAB_0003e7fe;\n        pcVar5 = ", v4 ABI";\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar4 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 < 0xc4) {\n      if (uVar2 == 0x69) {\n        pcVar4 = (char *)dcgettext(0,": architecture variant: ",5);\n        puVar9 = &DAT_000b57a0;\n        do {\n          puVar18 = puVar9;\n          uVar12 = *puVar18 + 0xfefefeff & ~*puVar18;\n          uVar13 = uVar12 & 0x80808080;\n          puVar9 = puVar18 + 1;\n        } while (uVar13 == 0);\n        bVar20 = (uVar12 & 0x8080) == 0;\n        if (bVar20) {\n          uVar13 = uVar13 >> 0x10;\n        }\n        if (bVar20) {\n          puVar9 = (uint *)((int)puVar18 + 6);\n        }\n        pcVar5 = stpcpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar13,(byte)uVar13))),\n                        pcVar4);\n        uVar13 = ((uint)local_38 & 0xff) - 0xb;\n        iVar11 = extraout_ECX;\n        if (uVar13 < 100) {\n          iVar11 = (int)&__DT_PLTGOT + *(int *)(&DAT_0008dec0 + uVar13 * 4);\n          switch((uint)local_38 & 0xff) {\n          case 0xb:\n            pcVar4 = "MSP430x11";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0xc:\n            pcVar4 = "MSP430x12";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0xd:\n            pcVar4 = "MSP430x13";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0xe:\n            pcVar4 = "MSP430x14";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0xf:\n            pcVar4 = "MSP430x15";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x10:\n            pcVar4 = "MSP430x16";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          default:\n            goto LAB_0003e9dc;\n          case 0x1f:\n            pcVar4 = "MSP430x31";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x20:\n            pcVar4 = "MSP430x32";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x21:\n            pcVar4 = "MSP430x33";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x29:\n            pcVar4 = "MSP430x41";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x2a:\n            pcVar4 = "MSP430x42";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x2b:\n            pcVar4 = "MSP430x43";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x2c:\n            pcVar4 = "MSP430x44";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x2d:\n            builtin_strncpy(pcVar5,"MSP430X",8);\n            break;\n          case 0x6e:\n            pcVar4 = "MSP430x11x1 ";\n            for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n          }\n        }\n        else {\nLAB_0003e9dc:\n          pcVar4 = (char *)0x0;\n          pcVar5 = (char *)dcgettext(0,": unknown",5,iVar11);\n          strcat((char *)&DAT_000b57a0,pcVar5);\n        }\n        if (((uint)local_38 & 0xffffff00) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          pcVar4 = (char *)dcgettext(0,": unknown extra flag bits also present",5,pcVar4);\n          strcat((char *)&DAT_000b57a0,pcVar4);\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 < 0x6a) {\n        if (uVar2 == 0x5d) goto LAB_0003cc32;\n        if (uVar2 < 0x5d) {\n          if (((uint)local_38 & 1) != 0) {\n            pcVar4 = ", no delay";\n            pcVar5 = (char *)&DAT_000b57a0;\n            for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else if (uVar2 == 99) goto LAB_0003bdf2;\n      }\n      else if (uVar2 == 0x8c) {\n        if (((uint)local_38 & 1) != 0) {\n          pcVar4 = ", relocatable module";\n          puVar9 = &DAT_000b57a0;\n          for (iVar11 = 0x15; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(char *)puVar9 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 < 0x8d) {\n        if (uVar2 == 0x6a) {\n          if (((uint)local_38 & 1) != 0) {\n            DAT_000b57a0 = 0x4950202c;\n            DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x43);\n          }\n          if (((uint)local_38 & 2) != 0) {\n            uVar13 = 0xffffffff;\n            pcVar4 = (char *)&DAT_000b57a0;\n            do {\n              if (uVar13 == 0) break;\n              uVar13 = uVar13 - 1;\n              cVar1 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            } while (cVar1 != '\0');\n            *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x4446202c;\n            *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x434950;\n          }\n          if (((uint)local_38 & 0x10) != 0) {\n            uVar13 = 0xffffffff;\n            pcVar4 = (char *)&DAT_000b57a0;\n            do {\n              if (uVar13 == 0) break;\n              uVar13 = uVar13 - 1;\n              cVar1 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            } while (cVar1 != '\0');\n            pcVar4 = ", code in L1";\n            pcVar5 = &DAT_000b579f + ~uVar13;\n            for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n          }\n          if (((uint)local_38 & 0x20) == 0) {\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\n            uVar13 = 0xffffffff;\n            pcVar4 = (char *)&DAT_000b57a0;\n            do {\n              if (uVar13 == 0) break;\n              uVar13 = uVar13 - 1;\n              cVar1 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            } while (cVar1 != '\0');\n            pcVar4 = ", data in L1";\n            pcVar5 = &DAT_000b579f + ~uVar13;\n            for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n      }\n      else if (uVar2 == 0xa7) {\n        uVar13 = (uint)local_38 & 0xf0000000;\n        uVar12 = (uint)local_38 & 0xf0;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 0x100; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *puVar19 = 0;\n          puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n        }\n        if (uVar12 == 0x20) {\nLAB_0003d15d:\n          iVar11 = snprintf((char *)&DAT_000b57a0,0x400,", %s",(&PTR_s_ABI_v0_000b333c)[uVar12 >> 4]\n                           );\n        }\n        else {\n          if (uVar12 < 0x21) {\n            if ((uVar12 == 0) || (uVar12 == 0x10)) goto LAB_0003d15d;\n          }\n          else if ((uVar12 == 0x40) || ((uVar12 == 0x50 || (uVar12 == 0x30)))) goto LAB_0003d15d;\n          DAT_000b57a0 = 0x753c202c;\n          iVar11 = 0x14;\n          DAT_000b57a4 = 0x6365726e;\n          _DAT_000b57a8 = 0x696e676f;\n          DAT_000b57ac = 0x2064657a;\n          DAT_000b57b0 = 0x3e494241;\n          DAT_000b57b4 = 0;\n        }\n        if (((uint)local_38 & 0xf) < 3) {\n          iVar7 = snprintf((char *)((int)&DAT_000b57a0 + iVar11),0x400U - iVar11,", %s",\n                           (&PTR_s_Andes_ELF_V1_3_or_older_000b3330)[(uint)local_38 & 0xf]);\n          uVar17 = iVar11 + iVar7;\n        }\n        else {\n          uVar17 = iVar11 + 0x23;\n          snprintf((char *)((int)&DAT_000b57a0 + iVar11),0x400U - iVar11,\n                   ", <unrecognized ELF version number>");\n        }\n        sVar10 = 0x400 - uVar17;\n        pcVar4 = (char *)((int)&DAT_000b57a0 + uVar17);\n        if (uVar12 == 0) {\n          iVar11 = snprintf(pcVar4,sVar10,", Andes Star v1.0, N1213HC, MAC, PERF1",&DAT_000b57a0);\n          if (uVar13 == 0x10000000) {\n            snprintf((char *)(uVar17 + 0xb57c6),0x400 - (uVar17 + 0x26),", 16b",iVar11);\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else if (uVar13 == 0x20000000) {\nLAB_0003d678:\n          iVar11 = snprintf(pcVar4,sVar10,", %s",(&PTR_DAT_000b331c)[(uint)local_38 >> 0x1c]);\n          iVar11 = iVar11 + uVar17;\n          uVar12 = (uint)local_38 & 0x100;\n          uVar3 = extraout_ECX_00;\n          if (uVar13 == 0x10000000) {\n            if (uVar12 != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 10;\n              uVar12 = snprintf(pcVar4,sVar10,", MFUSR_PC",uVar12);\n              uVar3 = extraout_ECX_20;\n            }\n            if (((uint)local_38 & 0x100000) == 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 5;\n              uVar12 = snprintf(pcVar4,sVar10,", MAC",uVar12);\n              uVar3 = extraout_ECX_19;\n            }\n            if (((uint)local_38 & 0x2000) != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 5;\n              uVar12 = snprintf(pcVar4,sVar10,", DIV",uVar12);\n              uVar3 = extraout_ECX_18;\n            }\n            if (((uint)local_38 & 0x4000) != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 5;\n              uVar12 = snprintf(pcVar4,sVar10,", 16b",uVar12);\n              uVar3 = extraout_ECX_10;\n            }\n          }\n          else {\n            if (uVar12 != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              if (((uint)local_38 & 0xe) == 0) {\n                iVar11 = iVar11 + 6;\n                uVar12 = snprintf(pcVar4,sVar10,", [B8]",uVar17);\n                uVar3 = extraout_ECX_01;\n              }\n              else {\n                iVar11 = iVar11 + 5;\n                uVar12 = snprintf(pcVar4,sVar10,", EX9",extraout_EDX_00);\n                uVar3 = extraout_ECX_11;\n              }\n            }\n            if (((uint)local_38 & 0x100000) != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 8;\n              uVar12 = snprintf(pcVar4,sVar10,", MAC_DX",uVar12);\n              uVar3 = extraout_ECX_09;\n            }\n            if (((uint)local_38 & 0x2000) != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 8;\n              uVar12 = snprintf(pcVar4,sVar10,", DIV_DX",uVar12);\n              uVar3 = extraout_ECX_14;\n            }\n            if (((uint)local_38 & 0x4000) != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              uVar13 = (uint)local_38 & 0xffffff0e;\n              if (((uint)local_38 & 0xe) == 0) {\n                pcVar5 = ", 16b";\n                uVar13 = uVar17;\n              }\n              else {\n                pcVar5 = ", IFC";\n              }\n              iVar11 = iVar11 + 5;\n              uVar12 = snprintf(pcVar4,sVar10,pcVar5,uVar13);\n              uVar3 = extraout_ECX_02;\n            }\n          }\n          if (((uint)local_38 & 0x200) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 7;\n            uVar12 = snprintf(pcVar4,sVar10,", PERF1",uVar12);\n            uVar3 = extraout_ECX_13;\n          }\n          if (((uint)local_38 & 0x400) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 7;\n            snprintf(pcVar4,sVar10,", PERF2",uVar12);\n            uVar3 = extraout_ECX_12;\n          }\n          uVar13 = (uint)local_38 & 0x1000000;\n          if (((uint)local_38 & 0x800) == 0) {\n            pcVar4 = local_38;\n            if (((uint)local_38 & 0x80000) != 0) {\nLAB_0003eba3:\n              sVar10 = 0x400 - iVar11;\n              pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 8;\n              pcVar4 = (char *)snprintf(pcVar5,sVar10,", FPU_DP",pcVar4);\n              goto LAB_0003ebc4;\n            }\n            if (uVar13 != 0) goto LAB_0003ebc8;\n          }\n          else {\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 8;\n            pcVar4 = (char *)snprintf(pcVar4,sVar10,", FPU_SP",local_38);\n            if (((uint)local_38 & 0x80000) != 0) goto LAB_0003eba3;\nLAB_0003ebc4:\n            if (uVar13 != 0) {\nLAB_0003ebc8:\n              sVar10 = 0x400 - iVar11;\n              pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 9;\n              snprintf(pcVar5,sVar10,", FPU_MAC",pcVar4);\n            }\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            uVar12 = (uint)local_38 >> 0x16 & 3;\n            if (uVar12 == 2) {\n              pcVar5 = ", FPU_REG:32/16";\n              uVar12 = uVar13;\n            }\n            else {\n              if (uVar12 != 3) {\n                if (uVar12 == 1) {\n                  iVar11 = iVar11 + 0xe;\n                  pcVar4 = (char *)snprintf(pcVar4,sVar10,", FPU_REG:16/8",0);\n                  uVar3 = extraout_ECX_16;\n                }\n                else {\n                  iVar11 = iVar11 + 0xd;\n                  pcVar4 = (char *)snprintf(pcVar4,sVar10,", FPU_REG:8/4",uVar13);\n                  uVar3 = extraout_ECX_06;\n                }\n                goto LAB_0003d76f;\n              }\n              pcVar5 = ", FPU_REG:32/32";\n              uVar12 = 3;\n            }\n            iVar11 = iVar11 + 0xf;\n            pcVar4 = (char *)snprintf(pcVar4,sVar10,pcVar5,uVar12);\n            uVar3 = extraout_ECX_17;\n          }\nLAB_0003d76f:\n          if (((uint)local_38 & 0x1000) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 7;\n            pcVar4 = (char *)snprintf(pcVar5,sVar10,", AUDIO",pcVar4);\n            uVar3 = extraout_ECX_05;\n          }\n          if (((uint)local_38 & 0x8000) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 5;\n            pcVar4 = (char *)snprintf(pcVar5,sVar10,", STR",pcVar4);\n            uVar3 = extraout_ECX_08;\n          }\n          if (((uint)local_38 & 0x10000) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 7;\n            snprintf(pcVar5,sVar10,", 16REG",pcVar4);\n            uVar3 = extraout_ECX_07;\n          }\n          if (((uint)local_38 & 0x20000) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            if (((uint)local_38 & 0xe) == 0) {\n              iVar11 = iVar11 + 7;\n              snprintf(pcVar4,sVar10,", VIDEO",uVar13);\n              uVar3 = extraout_ECX_03;\n            }\n            else {\n              iVar11 = iVar11 + 0xc;\n              snprintf(pcVar4,sVar10,", SATURATION",(uint)local_38 & 0xffffff0e);\n              uVar3 = extraout_ECX_15;\n            }\n          }\n          if (((uint)local_38 & 0x40000) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 7;\n            snprintf(pcVar4,sVar10,", ENCRP",uVar13);\n            uVar3 = extraout_ECX_04;\n          }\n          if (((uint)local_38 & 0x200000) == 0) {\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\n            snprintf((char *)((int)&DAT_000b57a0 + iVar11),0x400 - iVar11,", L2C",uVar3);\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else {\n          if (uVar13 < 0x20000001) {\n            if (uVar13 == 0x10000000) goto LAB_0003d678;\n          }\n          else if ((uVar13 == 0x30000000) || (uVar13 == 0x40000000)) goto LAB_0003d678;\n          snprintf(pcVar4,sVar10,", <unrecognized architecture>");\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 == 0xad) {\n        if (((uint)local_38 & 1) != 0) {\n          pcVar4 = ", 64-bit doubles";\n          puVar9 = &DAT_000b57a0;\n          for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(char *)puVar9 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          }\n        }\n        if (((uint)local_38 & 2) != 0) {\n          uVar13 = 0xffffffff;\n          puVar9 = &DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            uVar12 = *puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while ((char)uVar12 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7364202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x70;\n        }\n        if (((uint)local_38 & 4) != 0) {\n          uVar13 = 0xffffffff;\n          puVar9 = &DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            uVar12 = *puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while ((char)uVar12 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6970202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 100;\n        }\n        if (((uint)local_38 & 8) != 0) {\n          uVar13 = 0xffffffff;\n          puVar9 = &DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            uVar12 = *puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while ((char)uVar12 != '\0');\n          pcVar4 = ", RX ABI";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x40) != 0) {\n          puVar9 = &DAT_000b57a0;\n          pcVar4 = ", uses String instructions";\n          if (((uint)local_38 & 0x80) == 0) {\n            pcVar4 = ", bans String instructions";\n          }\n          do {\n            puVar18 = puVar9;\n            uVar12 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar13 = uVar12 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar13 == 0);\n          bVar20 = (uVar12 & 0x8080) == 0;\n          if (bVar20) {\n            uVar13 = uVar13 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          pcVar5 = (char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar13,(byte)uVar13)));\n          *(undefined4 *)pcVar5 = *(undefined4 *)pcVar4;\n          *(undefined4 *)(pcVar5 + 4) = *(undefined4 *)(pcVar4 + 4);\n          *(undefined4 *)(pcVar5 + 8) = *(undefined4 *)(pcVar4 + 8);\n          *(undefined4 *)(pcVar5 + 0xc) = *(undefined4 *)(pcVar4 + 0xc);\n          *(undefined4 *)(pcVar5 + 0x10) = *(undefined4 *)(pcVar4 + 0x10);\n          *(undefined4 *)(pcVar5 + 0x14) = *(undefined4 *)(pcVar4 + 0x14);\n          cVar1 = pcVar4[0x1a];\n          *(undefined2 *)(pcVar5 + 0x18) = *(undefined2 *)(pcVar4 + 0x18);\n          pcVar5[0x1a] = cVar1;\n        }\n        if (((uint)local_38 & 0x100) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          uVar13 = 0xffffffff;\n          puVar9 = &DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            uVar12 = *puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while ((char)uVar12 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x3256202c;\n          *(undefined1 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    else if (uVar2 == 0xfa) {\n      uVar13 = (uint)local_38 >> 8 & 0xffff;\n      if (uVar13 == 0x3200) {\n        pcVar4 = ", NFP-32xx";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else if (uVar13 == 0x6000) {\n        pcVar4 = ", NFP-6xxx";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 < 0xfb) {\n      if (uVar2 == 0xdd) {\n        if (((uint)local_38 & 1) == 0) {\n          if (((uint)local_38 & 2) != 0) {\n            DAT_000b57a0 = 0x636d202c;\n            DAT_000b57a4 = 0x34326d;\n          }\n        }\n        else {\n          DAT_000b57a0 = 0x636d202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x6d);\n        }\n        if (((uint)local_38 & 4) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7267202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x36;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 == 0xf3) {\n        if (((uint)local_38 & 1) != 0) {\n          DAT_000b57a0 = 0x5652202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x43);\n        }\n        if (((uint)local_38 & 8) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x5652202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x45;\n        }\n        uVar13 = (uint)local_38 & 6;\n        if (uVar13 == 2) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", single-float ABI";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 < 3) {\n          if (uVar13 == 0) {\n            uVar13 = 0xffffffff;\n            pcVar4 = (char *)&DAT_000b57a0;\n            do {\n              if (uVar13 == 0) break;\n              uVar13 = uVar13 - 1;\n              cVar1 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            } while (cVar1 != '\0');\n            pcVar4 = ", soft-float ABI";\n            pcVar5 = &DAT_000b579f + ~uVar13;\n            for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\nLAB_0003e76f:\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else if (uVar13 == 4) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", double-float ABI";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          if (uVar13 != 6) goto LAB_0003e76f;\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", quad-float ABI";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 == 0xc5) {\n        uVar13 = (uint)local_38 & 0xc;\n        if (uVar13 == 8) {\n          DAT_000b57a0 = 0x3147202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x33);\n        }\n        else if (uVar13 == 0xc) {\n          DAT_000b57a0 = 0x3147202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x34);\n        }\n        else if (uVar13 == 4) {\n          DAT_000b57a0 = 0x3147202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x30);\n        }\n        if (((uint)local_38 & 1) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", 64-bit doubles";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    else if (uVar2 == 0x9041) {\nLAB_0003bb50:\n      if (((uint)local_38 & 0x30000000) == 0) {\n        puVar16 = &DAT_0007ca93;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined1 *)puVar19 = *puVar16;\n          puVar16 = puVar16 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 < 0x9042) {\n      if (uVar2 == 0x5441) {\n        uVar13 = (uint)local_38 & 0xff000000;\n        if (uVar13 == 0x4000000) {\n          pcVar4 = ", tomcat";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 < 0x4000001) {\n          if (uVar13 == 0x1000000) {\n            DAT_000b57a0 = 0x7266202c;\n            DAT_000b57a4 = 0x303035;\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else if (uVar13 < 0x1000001) {\n            if (uVar13 != 0) {\nLAB_0003d4b1:\n              DAT_000b57a0 = 0x7266202c;\n              DAT_000b57a4 = 0x3f3f3f;\n              local_38 = *(char **)(param_1 + 0x3c);\n            }\n          }\n          else if (uVar13 == 0x2000000) {\n            DAT_000b57a0 = 0x7266202c;\n            DAT_000b57a4 = 0x303033;\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\n            if (uVar13 != 0x3000000) goto LAB_0003d4b1;\n            pcVar4 = ", simple";\n            pcVar5 = (char *)&DAT_000b57a0;\n            for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else if (uVar13 == 0x6000000) {\n          DAT_000b57a0 = 0x7266202c;\n          DAT_000b57a4 = 0x303535;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 < 0x6000001) {\n          if (uVar13 != 0x5000000) goto LAB_0003d4b1;\n          DAT_000b57a0 = 0x7266202c;\n          DAT_000b57a4 = 0x303034;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 0x7000000) {\n          DAT_000b57a0 = 0x7266202c;\n          DAT_000b57a4 = 0x353034;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          if (uVar13 != 0x8000000) goto LAB_0003d4b1;\n          DAT_000b57a0 = 0x7266202c;\n          DAT_000b57a4 = 0x303534;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    else {\n      if (uVar2 == 0x9080) goto LAB_0003c0c0;\n      if (uVar2 == 0xf00d) {\n        uVar13 = (uint)local_38 & 0xff000000;\n        if (uVar13 == 0x2000000) {\n          pcVar4 = ", MeP C3";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else if (uVar13 < 0x2000001) {\n          if (uVar13 == 0) {\n            pcVar4 = ", generic MeP";\n            pcVar5 = (char *)&DAT_000b57a0;\n            for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n          }\n          else if (uVar13 == 0x1000000) {\n            pcVar4 = ", MeP C2";\n            pcVar5 = (char *)&DAT_000b57a0;\n            for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n          }\n          else {\nLAB_0003ba2e:\n            pcVar4 = (char *)dcgettext(0,", <unknown MeP cpu type>",5,&DAT_00076943);\n            strcat((char *)&DAT_000b57a0,pcVar4);\n          }\n        }\n        else if (uVar13 == 0x8000000) {\n          pcVar4 = ", MeP C5";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else if (uVar13 == 0x10000000) {\n          pcVar4 = ", MeP H1";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else {\n          if (uVar13 != 0x4000000) goto LAB_0003ba2e;\n          pcVar4 = ", MeP C4";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        local_34 = &DAT_000b57a0;\n        pEVar6 = (Elf32_Ehdr *)((uint)local_38 & 0xff0000);\n        if (pEVar6 == (Elf32_Ehdr *)0x20000) {\n          uVar13 = 0xffffffff;\n          pEVar6 = (Elf32_Ehdr *)0x0;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pcVar4 = ", AVC2 coprocessor";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else if (pEVar6 < (Elf32_Ehdr *)0x20001) {\n          if (pEVar6 != (Elf32_Ehdr *)0x0) {\n            if (pEVar6 == &Elf32_Ehdr_00010000) {\n              uVar13 = 0xffffffff;\n              pEVar6 = (Elf32_Ehdr *)0x0;\n              puVar9 = local_34;\n              do {\n                if (uVar13 == 0) break;\n                uVar13 = uVar13 - 1;\n                cVar1 = *(char *)puVar9;\n                puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n              } while (cVar1 != '\0');\n              pcVar4 = ", AVC coprocessor";\n              pcVar5 = &DAT_000b579f + ~uVar13;\n              for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {\n                *pcVar5 = *pcVar4;\n                pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n              }\n            }\n            else {\nLAB_0003e6fc:\n              pcVar4 = (char *)dcgettext(0,"<unknown MeP copro type>",5,pEVar6);\n              pEVar6 = (Elf32_Ehdr *)strcat((char *)&DAT_000b57a0,pcVar4);\n            }\n          }\n        }\n        else if (pEVar6 == (Elf32_Ehdr *)&DAT_00030000) {\n          uVar13 = 0xffffffff;\n          pEVar6 = (Elf32_Ehdr *)0x0;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pcVar4 = ", FMAX coprocessor";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else {\n          if (pEVar6 != (Elf32_Ehdr *)0x60000) goto LAB_0003e6fc;\n          uVar13 = 0xffffffff;\n          pEVar6 = (Elf32_Ehdr *)0x0;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pcVar4 = ", IVC2 coprocessor";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x100) != 0) {\n          uVar13 = 0xffffffff;\n          pEVar6 = (Elf32_Ehdr *)0x0;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pcVar4 = ", Built for Library";\n          puVar19 = (undefined4 *)(&DAT_000b579f + ~uVar13);\n          for (iVar11 = 5; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0xff) != 0) {\n          uVar13 = 0xffffffff;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pEVar6 = (Elf32_Ehdr *)\n                   sprintf(&DAT_000b579f + ~uVar13,", Configuration Index: %#x",\n                           (uint)local_38 & 0xff,0);\n        }\n        if (((uint)local_38 & 0xfe00) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          pcVar4 = (char *)dcgettext(0,", unknown flags bits: %#x",5,pEVar6);\n          uVar13 = 0xffffffff;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)local_34;\n            local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          sprintf(&DAT_000b579f + ~uVar13,pcVar4,(uint)local_38 & 0xfe00);\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    goto LAB_0003b840;\n  }\n  if (uVar2 == 0x24) {\n    if (((uint)local_38 & 0xf0000000) == 0xf0000000) {\n      puVar9 = (uint *)", RH850 ABI";\n      puVar18 = &DAT_000b57a0;\n      for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *puVar18 = *puVar9;\n        puVar9 = puVar9 + (uint)bVar22 * -2 + 1;\n        puVar18 = puVar18 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x100000) != 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", V3 architecture";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 3) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", FPU not used";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x60) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", regmode: COMMON";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x300) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", r4 not used";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0xc00) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", r30 not used";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x3000) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", r5 not used";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0xc000) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", r2 not used";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    uVar13 = (uint)local_38 & 0xffff;\n    if (uVar13 == 0) {\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    else {\n      do {\n        uVar12 = -uVar13 & uVar13;\n        puVar9 = &DAT_000b57a0;\n        if (uVar12 == 0x200) {\n          do {\n            puVar18 = puVar9;\n            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar12 = uVar17 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar12 == 0);\n          bVar20 = (uVar17 & 0x8080) == 0;\n          if (bVar20) {\n            uVar12 = uVar12 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                          ", r4 free",10);\n        }\n        else if (uVar12 < 0x201) {\n          if (uVar12 == 0x20) {\n            do {\n              puVar18 = puVar9;\n              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n              uVar12 = uVar17 & 0x80808080;\n              puVar9 = puVar18 + 1;\n            } while (uVar12 == 0);\n            bVar20 = (uVar17 & 0x8080) == 0;\n            if (bVar20) {\n              uVar12 = uVar12 >> 0x10;\n            }\n            if (bVar20) {\n              puVar9 = (uint *)((int)puVar18 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                            ", regmode:22",0xd);\n          }\n          else if (uVar12 < 0x21) {\n            if (uVar12 == 1) {\n              do {\n                puVar18 = puVar9;\n                uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n                uVar12 = uVar17 & 0x80808080;\n                puVar9 = puVar18 + 1;\n              } while (uVar12 == 0);\n              bVar20 = (uVar17 & 0x8080) == 0;\n              if (bVar20) {\n                uVar12 = uVar12 >> 0x10;\n              }\n              if (bVar20) {\n                puVar9 = (uint *)((int)puVar18 + 6);\n              }\n              builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12)))\n                              ,", double precision FPU",0x17);\n            }\n            else if (uVar12 == 2) {\n              do {\n                puVar18 = puVar9;\n                uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n                uVar12 = uVar17 & 0x80808080;\n                puVar9 = puVar18 + 1;\n              } while (uVar12 == 0);\n              bVar20 = (uVar17 & 0x8080) == 0;\n              if (bVar20) {\n                uVar12 = uVar12 >> 0x10;\n              }\n              if (bVar20) {\n                puVar9 = (uint *)((int)puVar18 + 6);\n              }\n              builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12)))\n                              ,", single precision FPU",0x17);\n            }\n          }\n          else if (uVar12 == 0x40) {\n            do {\n              puVar18 = puVar9;\n              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n              uVar12 = uVar17 & 0x80808080;\n              puVar9 = puVar18 + 1;\n            } while (uVar12 == 0);\n            bVar20 = (uVar17 & 0x8080) == 0;\n            if (bVar20) {\n              uVar12 = uVar12 >> 0x10;\n            }\n            if (bVar20) {\n              puVar9 = (uint *)((int)puVar18 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                            ", regmode:23",0xd);\n          }\n          else if (uVar12 == 0x100) {\n            do {\n              puVar18 = puVar9;\n              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n              uVar12 = uVar17 & 0x80808080;\n              puVar9 = puVar18 + 1;\n            } while (uVar12 == 0);\n            bVar20 = (uVar17 & 0x8080) == 0;\n            if (bVar20) {\n              uVar12 = uVar12 >> 0x10;\n            }\n            if (bVar20) {\n              puVar9 = (uint *)((int)puVar18 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                            ", r4 fixed",0xb);\n          }\n        }\n        else if (uVar12 == 0x1000) {\n          do {\n            puVar18 = puVar9;\n            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar12 = uVar17 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar12 == 0);\n          bVar20 = (uVar17 & 0x8080) == 0;\n          if (bVar20) {\n            uVar12 = uVar12 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                          ", r5 fixed",0xb);\n        }\n        else if (uVar12 < 0x1001) {\n          if (uVar12 == 0x400) {\n            do {\n              puVar18 = puVar9;\n              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n              uVar12 = uVar17 & 0x80808080;\n              puVar9 = puVar18 + 1;\n            } while (uVar12 == 0);\n            bVar20 = (uVar17 & 0x8080) == 0;\n            if (bVar20) {\n              uVar12 = uVar12 >> 0x10;\n            }\n            if (bVar20) {\n              puVar9 = (uint *)((int)puVar18 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                            ", r30 fixed",0xc);\n          }\n          else if (uVar12 == 0x800) {\n            do {\n              puVar18 = puVar9;\n              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n              uVar12 = uVar17 & 0x80808080;\n              puVar9 = puVar18 + 1;\n            } while (uVar12 == 0);\n            bVar20 = (uVar17 & 0x8080) == 0;\n            if (bVar20) {\n              uVar12 = uVar12 >> 0x10;\n            }\n            if (bVar20) {\n              puVar9 = (uint *)((int)puVar18 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                            ", r30 free",0xb);\n          }\n        }\n        else if (uVar12 == 0x4000) {\n          do {\n            puVar18 = puVar9;\n            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar12 = uVar17 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar12 == 0);\n          bVar20 = (uVar17 & 0x8080) == 0;\n          if (bVar20) {\n            uVar12 = uVar12 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                          ", r2 fixed",0xb);\n        }\n        else if (uVar12 == 0x8000) {\n          do {\n            puVar18 = puVar9;\n            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar12 = uVar17 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar12 == 0);\n          bVar20 = (uVar17 & 0x8080) == 0;\n          if (bVar20) {\n            uVar12 = uVar12 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                          ", r2 free",10);\n        }\n        else if (uVar12 == 0x2000) {\n          do {\n            puVar18 = puVar9;\n            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar12 = uVar17 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar12 == 0);\n          bVar20 = (uVar17 & 0x8080) == 0;\n          if (bVar20) {\n            uVar12 = uVar12 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                          ", r5 free",10);\n        }\n        uVar13 = uVar13 & uVar13 - 1;\n      } while (uVar13 != 0);\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    goto LAB_0003b840;\n  }\n  if (0x24 < uVar2) {\n    if (uVar2 == 0x32) {\n      if (((uint)local_38 & 0x10) == 0) {\n        DAT_000b57a0 = 0x3233202c;\n      }\n      else {\n        DAT_000b57a0 = 0x3436202c;\n      }\n      _DAT_000b57a8 = _DAT_000b57a8 & 0xffffff00;\n      DAT_000b57a4 = 0x7469622d;\n      if (((uint)local_38 & 0x20) != 0) {\n        uVar13 = 0xffffffff;\n        pcVar4 = (char *)&DAT_000b57a0;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar4 = ", reduced fp model";\n        pcVar5 = &DAT_000b579f + ~uVar13;\n        for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      if (((uint)local_38 & 0x80) == 0) {\n        if (((uint)local_38 & 0x40) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", constant gp";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n      }\n      else {\n        uVar13 = 0xffffffff;\n        pcVar4 = (char *)&DAT_000b57a0;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar4 = ", no function descriptors, constant gp";\n        pcVar5 = &DAT_000b579f + ~uVar13;\n        for (iVar11 = 0x27; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      if (((uint)local_38 & 0x100) != 0) {\n        uVar13 = 0xffffffff;\n        pcVar4 = (char *)&DAT_000b57a0;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar4 = ", absolute";\n        pcVar5 = &DAT_000b579f + ~uVar13;\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      if (param_1[0x17] == '\r') {\n        if (((uint)local_38 & 4) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", vms_linkages";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        uVar13 = (uint)local_38 & 3;\n        if (uVar13 == 2) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7265202c;\n          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x726f72;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 3) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6261202c;\n          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x74726f;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 1) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", warning";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else {\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 < 0x33) {\n      if (uVar2 == 0x2a) {\n        switch((uint)local_38 & 0x1f) {\n        default:\n          pcVar4 = (char *)dcgettext(0,", unknown ISA",5,&DAT_00076943);\n          strcat((char *)&DAT_000b57a0,pcVar4);\n          break;\n        case 1:\n          DAT_000b57a0 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x31);\n          break;\n        case 2:\n          DAT_000b57a0 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x32);\n          break;\n        case 3:\n          DAT_000b57a0 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x33);\n          break;\n        case 4:\n          pcVar4 = ", sh-dsp";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 5:\n          pcVar4 = ", sh3-dsp";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 6:\n          pcVar4 = ", sh4al-dsp";\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 8:\n          puVar8 = &UNK_0007cd94;\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined *)puVar19 = *puVar8;\n            puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n            puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n          }\n          break;\n        case 9:\n          DAT_000b57a0 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x34);\n          break;\n        case 10:\n          DAT_000b57a0 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x35);\n          break;\n        case 0xb:\n          puVar8 = &UNK_0007cd9b;\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined *)puVar19 = *puVar8;\n            puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n            puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n          }\n          break;\n        case 0xc:\n          puVar8 = &UNK_0007cda2;\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined *)puVar19 = *puVar8;\n            puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n            puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n          }\n          break;\n        case 0xd:\n          puVar8 = &UNK_0007cda9;\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined *)puVar19 = *puVar8;\n            puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n            puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n          }\n          break;\n        case 0x10:\n          pcVar4 = ", sh4-nofpu";\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x11:\n          pcVar4 = ", sh4a-nofpu";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x12:\n          pcVar4 = ", sh4-nommu-nofpu";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x13:\n          pcVar4 = ", sh2a-nofpu";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x14:\n          pcVar4 = ", sh3-nommu";\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x15:\n          pcVar4 = ", sh2a-nofpu-or-sh4-nommu-nofpu";\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 8; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x16:\n          pcVar4 = ", sh2a-nofpu-or-sh3-nommu";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0x1a; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x17:\n          pcVar4 = ", sh2a-or-sh4";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x18:\n          pcVar4 = ", sh2a-or-sh3e";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        local_34 = &DAT_000b57a0;\n        if (((uint)local_38 & 0x100) != 0) {\n          uVar13 = 0xffffffff;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6970202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 99;\n        }\n        if (((uint)local_38 & 0x8000) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          uVar13 = 0xffffffff;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)local_34;\n            local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6466202c;\n          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x636970;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 == 0x2b) {\n        if (((uint)local_38 & 0x100) != 0) {\n          DAT_000b57a0 = 0x3876202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x2b);\n        }\n        if (((uint)local_38 & 0x200) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", ultrasparcI";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x800) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", ultrasparcIII";\n          puVar19 = (undefined4 *)(&DAT_000b579f + ~uVar13);\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x400) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6168202c;\n          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x31726c;\n        }\n        if (((uint)local_38 & 0x800000) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", ledata";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        uVar13 = (uint)local_38 & 3;\n        if (uVar13 == 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7374202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x6f;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 1) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7370202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x6f;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 2) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6d72202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x6f;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 == 0x28) {\n        uVar13 = (uint)local_38 & 0xff000000;\n        if (((uint)local_38 & 1) == 0) {\n          local_38 = (char *)((uint)local_38 & 0xffffff);\n          pcVar4 = (char *)&DAT_000b57a0;\n        }\n        else {\n          pcVar4 = &DAT_000b57b8;\n          pcVar5 = ", relocatable executable";\n          pcVar14 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0x19; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar14 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            pcVar14 = pcVar14 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = (char *)((uint)local_38 & 0xfffffe);\n        }\n        local_34 = &DAT_000b57a0;\n        if (((uint)local_38 & 0x20) != 0) {\n          pcVar5 = ", position independent";\n          for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar4 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = (char *)((uint)local_38 & 0xffffffdf);\n          uVar12 = 0xffffffff;\n          puVar9 = local_34;\n          do {\n            if (uVar12 == 0) break;\n            uVar12 = uVar12 - 1;\n            uVar17 = *puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while ((char)uVar17 != '\0');\n          pcVar4 = &DAT_000b579f + ~uVar12;\n        }\n        if (uVar13 == 0x2000000) {\n          bVar20 = false;\n          pcVar5 = ", Version2 EABI";\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n            pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n          }\n          if (local_38 != (char *)0x0) {\n            do {\n              uVar13 = -(int)local_38 & (uint)local_38;\n              local_38 = (char *)((uint)local_38 & ~uVar13);\n              if (uVar13 == 8) {\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                pcVar4 = ", dynamic symbols use segment index";\n                puVar19 = (undefined4 *)(&DAT_000b579f + ~uVar13);\n                for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n                  *puVar19 = *(undefined4 *)pcVar4;\n                  pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                }\n              }\n              else if (uVar13 == 0x10) {\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                pcVar4 = ", mapping symbols precede others";\n                pcVar5 = &DAT_000b579f + ~uVar13;\n                for (iVar11 = 0x21; iVar11 != 0; iVar11 = iVar11 + -1) {\n                  *pcVar5 = *pcVar4;\n                  pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                  pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                }\n              }\n              else if (uVar13 == 4) {\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                pcVar4 = ", sorted symbol tables";\n                pcVar5 = &DAT_000b579f + ~uVar13;\n                for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {\n                  *pcVar5 = *pcVar4;\n                  pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                  pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                }\n              }\n              else {\n                bVar20 = true;\n              }\n            } while (local_38 != (char *)0x0);\n            goto LAB_0003d8e9;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 < 0x2000001) {\n          if (uVar13 == 0) {\n            bVar20 = false;\n            pcVar5 = ", GNU EABI";\n            for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar4 = *pcVar5;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            }\n            if (local_38 != (char *)0x0) {\n              do {\n                uVar13 = -(int)local_38 & (uint)local_38;\n                local_38 = (char *)((uint)local_38 & ~uVar13);\n                if (uVar13 == 0x40) {\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  pcVar4 = ", 8 bit structure alignment";\n                  puVar19 = (undefined4 *)(&DAT_000b579f + ~uVar13);\n                  for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n                    *puVar19 = *(undefined4 *)pcVar4;\n                    pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n                    puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                  }\n                }\n                else if (uVar13 < 0x41) {\n                  if (uVar13 == 8) {\n                    uVar13 = 0xffffffff;\n                    puVar9 = local_34;\n                    do {\n                      if (uVar13 == 0) break;\n                      uVar13 = uVar13 - 1;\n                      uVar12 = *puVar9;\n                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                    } while ((char)uVar12 != '\0');\n                    pcVar4 = ", uses APCS/26";\n                    pcVar5 = &DAT_000b579f + ~uVar13;\n                    for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n                      *pcVar5 = *pcVar4;\n                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                    }\n                  }\n                  else if (uVar13 < 9) {\n                    if (uVar13 == 4) {\n                      uVar13 = 0xffffffff;\n                      puVar9 = local_34;\n                      do {\n                        if (uVar13 == 0) break;\n                        uVar13 = uVar13 - 1;\n                        uVar12 = *puVar9;\n                        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                      } while ((char)uVar12 != '\0');\n                      pcVar4 = ", interworking enabled";\n                      pcVar5 = &DAT_000b579f + ~uVar13;\n                      for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {\n                        *pcVar5 = *pcVar4;\n                        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                      }\n                    }\n                    else {\nLAB_0003edd8:\n                      bVar20 = true;\n                    }\n                  }\n                  else if (uVar13 == 0x10) {\n                    uVar13 = 0xffffffff;\n                    puVar9 = local_34;\n                    do {\n                      if (uVar13 == 0) break;\n                      uVar13 = uVar13 - 1;\n                      uVar12 = *puVar9;\n                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                    } while ((char)uVar12 != '\0');\n                    pcVar4 = ", uses APCS/float";\n                    pcVar5 = &DAT_000b579f + ~uVar13;\n                    for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {\n                      *pcVar5 = *pcVar4;\n                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                    }\n                  }\n                  else {\n                    if (uVar13 != 0x20) goto LAB_0003edd8;\n                    uVar13 = 0xffffffff;\n                    puVar9 = local_34;\n                    do {\n                      if (uVar13 == 0) break;\n                      uVar13 = uVar13 - 1;\n                      uVar12 = *puVar9;\n                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                    } while ((char)uVar12 != '\0');\n                    pcVar4 = ", position independent";\n                    pcVar5 = &DAT_000b579f + ~uVar13;\n                    for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {\n                      *pcVar5 = *pcVar4;\n                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                    }\n                  }\n                }\n                else if (uVar13 == 0x200) {\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  pcVar4 = ", software FP";\n                  pcVar5 = &DAT_000b579f + ~uVar13;\n                  for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n                    *pcVar5 = *pcVar4;\n                    pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                  }\n                }\n                else if (uVar13 < 0x201) {\n                  if (uVar13 == 0x80) {\n                    uVar13 = 0xffffffff;\n                    puVar9 = local_34;\n                    do {\n                      if (uVar13 == 0) break;\n                      uVar13 = uVar13 - 1;\n                      uVar12 = *puVar9;\n                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                    } while ((char)uVar12 != '\0');\n                    pcVar4 = ", uses new ABI";\n                    pcVar5 = &DAT_000b579f + ~uVar13;\n                    for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n                      *pcVar5 = *pcVar4;\n                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                    }\n                  }\n                  else {\n                    if (uVar13 != 0x100) goto LAB_0003edd8;\n                    uVar13 = 0xffffffff;\n                    puVar9 = local_34;\n                    do {\n                      if (uVar13 == 0) break;\n                      uVar13 = uVar13 - 1;\n                      uVar12 = *puVar9;\n                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                    } while ((char)uVar12 != '\0');\n                    pcVar4 = ", uses old ABI";\n                    pcVar5 = &DAT_000b579f + ~uVar13;\n                    for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n                      *pcVar5 = *pcVar4;\n                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                    }\n                  }\n                }\n                else if (uVar13 == 0x400) {\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x4656202c;\n                  *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x50;\n                }\n                else {\n                  if (uVar13 != 0x800) goto LAB_0003edd8;\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  pcVar4 = ", Maverick FP";\n                  pcVar5 = &DAT_000b579f + ~uVar13;\n                  for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n                    *pcVar5 = *pcVar4;\n                    pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                  }\n                }\n              } while (local_38 != (char *)0x0);\n              goto LAB_0003d8e9;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else if (uVar13 == 0x1000000) {\n            bVar20 = false;\n            pcVar5 = ", Version1 EABI";\n            for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n              pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n              pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            }\n            if (local_38 != (char *)0x0) {\n              do {\n                uVar13 = -(int)local_38 & (uint)local_38;\n                local_38 = (char *)((uint)local_38 & ~uVar13);\n                if (uVar13 == 4) {\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  pcVar4 = ", sorted symbol tables";\n                  pcVar5 = &DAT_000b579f + ~uVar13;\n                  for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {\n                    *pcVar5 = *pcVar4;\n                    pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                  }\n                }\n                else {\n                  bVar20 = true;\n                }\n              } while (local_38 != (char *)0x0);\n              goto LAB_0003d8e9;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\nLAB_0003c1eb:\n            pcVar5 = ", <unrecognized EABI>";\n            for (iVar11 = 0x16; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar4 = *pcVar5;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            }\n            if (local_38 == (char *)0x0) {\n              local_38 = *(char **)(param_1 + 0x3c);\n            }\n            else {\nLAB_0003d8f4:\n              pcVar4 = (char *)dcgettext(0,", <unknown>",5);\n              strcat((char *)&DAT_000b57a0,pcVar4);\n              local_38 = *(char **)(param_1 + 0x3c);\n            }\n          }\n        }\n        else if (uVar13 == 0x4000000) {\n          pcVar5 = ", Version4 EABI";\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n            pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n          }\n          bVar20 = false;\n          if (local_38 == (char *)0x0) {\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\n            do {\n              uVar13 = -(int)local_38 & (uint)local_38;\n              local_38 = (char *)((uint)local_38 & ~uVar13);\n              puVar9 = local_34;\n              if (uVar13 == 0x400000) {\n                do {\n                  puVar18 = puVar9;\n                  uVar12 = *puVar18 + 0xfefefeff & ~*puVar18;\n                  uVar13 = uVar12 & 0x80808080;\n                  puVar9 = puVar18 + 1;\n                } while (uVar13 == 0);\n                bVar21 = (uVar12 & 0x8080) == 0;\n                if (bVar21) {\n                  uVar13 = uVar13 >> 0x10;\n                }\n                if (bVar21) {\n                  puVar9 = (uint *)((int)puVar18 + 6);\n                }\n                builtin_strncpy((char *)((int)puVar9 +\n                                        (-3 - (uint)CARRY1((byte)uVar13,(byte)uVar13))),", LE8",6);\n              }\n              else if (uVar13 == 0x800000) {\n                do {\n                  puVar18 = puVar9;\n                  uVar12 = *puVar18 + 0xfefefeff & ~*puVar18;\n                  uVar13 = uVar12 & 0x80808080;\n                  puVar9 = puVar18 + 1;\n                } while (uVar13 == 0);\n                bVar21 = (uVar12 & 0x8080) == 0;\n                if (bVar21) {\n                  uVar13 = uVar13 >> 0x10;\n                }\n                if (bVar21) {\n                  puVar9 = (uint *)((int)puVar18 + 6);\n                }\n                builtin_strncpy((char *)((int)puVar9 +\n                                        (-3 - (uint)CARRY1((byte)uVar13,(byte)uVar13))),", BE8",6);\n              }\n              else {\n                bVar20 = true;\n              }\n            } while (local_38 != (char *)0x0);\nLAB_0003d8e9:\n            if (bVar20) goto LAB_0003d8f4;\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else if (uVar13 == 0x5000000) {\n          bVar20 = false;\n          pcVar5 = ", Version5 EABI";\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n            pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n          }\n          if (local_38 != (char *)0x0) {\n            do {\n              uVar13 = -(int)local_38 & (uint)local_38;\n              local_38 = (char *)((uint)local_38 & ~uVar13);\n              if (uVar13 == 0x400) {\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                pcVar4 = ", hard-float ABI";\n                pcVar5 = &DAT_000b579f + ~uVar13;\n                for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n                  *pcVar5 = *pcVar4;\n                  pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                  pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                }\n              }\n              else if (uVar13 < 0x401) {\n                if (uVar13 == 0x200) {\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  pcVar4 = ", soft-float ABI";\n                  pcVar5 = &DAT_000b579f + ~uVar13;\n                  for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n                    *pcVar5 = *pcVar4;\n                    pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                  }\n                }\n                else {\nLAB_0003ef43:\n                  bVar20 = true;\n                }\n              }\n              else if (uVar13 == 0x400000) {\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x454c202c;\n                *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x38;\n              }\n              else {\n                if (uVar13 != 0x800000) goto LAB_0003ef43;\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x4542202c;\n                *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x38;\n              }\n            } while (local_38 != (char *)0x0);\n            goto LAB_0003d8e9;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          if (uVar13 != 0x3000000) goto LAB_0003c1eb;\n          pcVar5 = ", Version3 EABI";\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n            pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    else if (uVar2 == 0x53) {\n      switch((uint)local_38 & 0x7f) {\n      default:\n        pcVar4 = ", avr:<unknown>";\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *puVar19 = *(undefined4 *)pcVar4;\n          pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n          puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n        }\n        break;\n      case 1:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x313a72;\n        break;\n      case 2:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x323a72;\n        break;\n      case 3:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x333a72;\n        break;\n      case 4:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x343a72;\n        break;\n      case 5:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x353a72;\n        break;\n      case 6:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x363a72;\n        break;\n      case 0x19:\n        puVar8 = &UNK_0007c7e5;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x1f:\n        puVar8 = &UNK_0007c7ee;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x23:\n        puVar8 = &UNK_0007c7f7;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x33:\n        puVar8 = &UNK_0007c800;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 100:\n        puVar8 = &UNK_0007c809;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x65:\n        puVar8 = &UNK_0007c813;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x66:\n        puVar8 = &UNK_0007c81d;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x67:\n        puVar8 = &UNK_0007c827;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x68:\n        puVar8 = &UNK_0007c831;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x69:\n        puVar8 = &UNK_0007c83b;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x6a:\n        puVar8 = &UNK_0007c845;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x6b:\n        puVar8 = &UNK_0007c84f;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n      }\n      local_34 = &DAT_000b57a0;\n      if (((uint)local_38 & 0x80) == 0) {\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else {\n        iVar11 = -1;\n        do {\n          if (iVar11 == 0) break;\n          iVar11 = iVar11 + -1;\n          cVar1 = *(char *)local_34;\n          local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n        } while (cVar1 != '\0');\n        strncat((char *)&DAT_000b57a0,", link-relax",iVar11 + 0x401);\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 < 0x54) {\n      if (uVar2 == 0x4b) {\n        if (((uint)local_38 & 1) != 0) {\n          pcVar4 = ", non-PIC";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x100) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", D-Float";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x200) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", G-Float";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    else if (uVar2 == 0x57) {\nLAB_0003c0c0:\n      uVar13 = (uint)local_38 & 0xf0000000;\n      if (uVar13 == 0x20000000) {\n        pcVar4 = ", v850e1";\n        pcVar5 = (char *)&DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else if (uVar13 < 0x20000001) {\n        if (uVar13 == 0) {\n          pcVar4 = ", v850";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 0x10000000) {\n          DAT_000b57a0 = 0x3876202c;\n          DAT_000b57a4 = 0x653035;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\nLAB_0003c0ff:\n          pcVar4 = (char *)dcgettext(0,", unknown v850 architecture variant",5,&DAT_000b57a0);\n          strcat((char *)&DAT_000b57a0,pcVar4);\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar13 == 0x40000000) {\n        pcVar4 = ", v850e2v3";\n        pcVar5 = (char *)&DAT_000b57a0;\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else if (uVar13 == 0x60000000) {\n        pcVar4 = ", v850e3v5";\n        pcVar5 = (char *)&DAT_000b57a0;\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else {\n        if (uVar13 != 0x30000000) goto LAB_0003c0ff;\n        pcVar4 = ", v850e2";\n        pcVar5 = (char *)&DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 == 0x58) goto LAB_0003bb50;\n    goto LAB_0003b840;\n  }\n  if (uVar2 == 0xf) {\n    uVar13 = (uint)local_38 & 0xffff;\n    if (uVar13 == 0x210) {\n      pcVar4 = ", PA-RISC 1.1";\n      puVar9 = &DAT_000b57a0;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *(char *)puVar9 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      }\n    }\n    else if (uVar13 == 0x214) {\n      pcVar4 = ", PA-RISC 2.0";\n      puVar9 = &DAT_000b57a0;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *(char *)puVar9 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      }\n    }\n    else if (uVar13 == 0x20b) {\n      pcVar4 = ", PA-RISC 1.0";\n      puVar9 = &DAT_000b57a0;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *(char *)puVar9 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      }\n    }\n    if (((uint)local_38 & 0x10000) != 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", trapnil";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x20000) != 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7865202c;\n      *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x74;\n    }\n    if (((uint)local_38 & 0x40000) != 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x736c202c;\n      *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x62;\n    }\n    if (((uint)local_38 & 0x80000) != 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", wide";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x100000) != 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", no kabp";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x400000) == 0) {\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    else {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", lazyswap";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    goto LAB_0003b840;\n  }\n  if (0xf < uVar2) {\n    if (uVar2 == 0x15) {\n      if (((uint)local_38 & 3) != 0) {\n        local_20 = (uint)CONCAT12((char)((uint)local_38 & 3) + '0',0x7669);\n        builtin_strncpy(local_24,", ab",4);\n        strcpy((char *)&DAT_000b57a0,local_24);\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 == 0x16) {\n      if (((uint)local_38 & 1) != 0) {\n        pcVar4 = ", highgprs";\n        pcVar5 = (char *)&DAT_000b57a0;\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 == 0x14) {\n      if ((int)local_38 < 0) {\n        DAT_000b57a0 = 0x6d65202c;\n        DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x62);\n      }\n      if (((uint)local_38 & 0x10000) != 0) {\n        pcVar4 = (char *)0x0;\n        pcVar5 = (char *)dcgettext(0,", relocatable",5,&DAT_000b57a0);\n        strcat((char *)&DAT_000b57a0,pcVar5);\n      }\n      if (((uint)local_38 & 0x8000) == 0) {\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else {\n        pcVar4 = (char *)dcgettext(0,", relocatable-lib",5,pcVar4);\n        strcat((char *)&DAT_000b57a0,pcVar4);\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    goto LAB_0003b840;\n  }\n  if ((uVar2 == 8) || (uVar2 == 10)) {\n    pcVar5 = (char *)&DAT_000b57a0;\n    local_34 = &DAT_000b57a0;\n    puVar9 = (uint *)param_1;\n    if (((uint)local_38 & 1) != 0) {\n      pcVar4 = ", noreorder";\n      puVar9 = (uint *)pcVar5;\n      for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *puVar9 = *(undefined4 *)pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -8 + 4;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -8 + 4);\n      }\n    }\n    pcVar14 = local_38;\n    if (((uint)local_38 & 2) != 0) {\n      uVar13 = 0xffffffff;\n      pcVar14 = pcVar5;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar14;\n        pcVar14 = pcVar14 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = (char *)~uVar13;\n      builtin_strncpy(pcVar14 + 0xb579f,", pic",6);\n      puVar9 = local_34;\n    }\n    if (((uint)local_38 & 4) != 0) {\n      uVar13 = 0xffffffff;\n      pcVar4 = pcVar5;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", cpic";\n      puVar9 = (uint *)pcVar14;\n      for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *(char *)puVar9 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      }\n    }\n    if (((uint)local_38 & 0x10) != 0) {\n      uVar13 = 0xffffffff;\n      pcVar4 = pcVar5;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", ugen_reserved";\n      puVar9 = (uint *)pcVar14;\n      for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *puVar9 = *(undefined4 *)pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -8 + 4;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -8 + 4);\n      }\n    }\n    if (((uint)local_38 & 0x20) != 0) {\n      uVar13 = 0xffffffff;\n      pcVar4 = pcVar5;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", abi2";\n      puVar9 = (uint *)pcVar14;\n      for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *(char *)puVar9 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      }\n    }\n    if (((uint)local_38 & 0x80) != 0) {\n      uVar13 = 0xffffffff;\n      pcVar4 = pcVar5;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", odk first";\n      puVar9 = (uint *)pcVar14;\n      for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *puVar9 = *(undefined4 *)pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -8 + 4;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -8 + 4);\n      }\n    }\n    if (((uint)local_38 & 0x100) != 0) {\n      uVar13 = 0xffffffff;\n      pcVar4 = pcVar5;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", 32bitmode";\n      puVar9 = (uint *)pcVar14;\n      for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *puVar9 = *(undefined4 *)pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -8 + 4;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -8 + 4);\n      }\n    }\n    if (((uint)local_38 & 0x400) != 0) {\n      uVar13 = 0xffffffff;\n      pcVar4 = pcVar5;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", nan2008";\n      puVar9 = (uint *)pcVar14;\n      for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *(char *)puVar9 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      }\n    }\n    if (((uint)local_38 & 0x200) != 0) {\n      uVar13 = 0xffffffff;\n      pcVar4 = pcVar5;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", fp64";\n      puVar9 = (uint *)pcVar14;\n      for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *(char *)puVar9 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      }\n    }\n    uVar13 = (uint)local_38 & 0xff0000;\n    if (uVar13 == 0x8c0000) {\n      uVar13 = 0xffffffff;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar5;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar5 = (char *)&DAT_000b57a0;\n      pcVar14 = (char *)~uVar13;\n      builtin_strncpy(pcVar14 + 0xb579f,", xlr",6);\n    }\n    else if (uVar13 < 0x8c0001) {\n      if (uVar13 == 0x850000) {\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar14 = &DAT_000b579f + ~uVar13;\n        pcVar4 = ", 4650";\n        pcVar5 = pcVar14;\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      else if (uVar13 < 0x850001) {\n        if (uVar13 == 0x810000) {\n          uVar13 = 0xffffffff;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar14 = &DAT_000b579f + ~uVar13;\n          pcVar4 = ", 3900";\n          pcVar5 = pcVar14;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else if (uVar13 < 0x810001) {\n          pcVar5 = (char *)puVar9;\n          if (uVar13 != 0) goto LAB_0003d280;\n        }\n        else if (uVar13 == 0x820000) {\n          uVar13 = 0xffffffff;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar14 = &DAT_000b579f + ~uVar13;\n          pcVar4 = ", 4010";\n          pcVar5 = pcVar14;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else {\n          if (uVar13 != 0x830000) goto LAB_0003d280;\n          uVar13 = 0xffffffff;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar14 = &DAT_000b579f + ~uVar13;\n          pcVar4 = ", 4100";\n          pcVar5 = pcVar14;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n      }\n      else if (uVar13 == 0x880000) {\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar14 = &DAT_000b579f + ~uVar13;\n        pcVar4 = ", 4111";\n        pcVar5 = pcVar14;\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      else if (uVar13 < 0x880001) {\n        if (uVar13 != 0x870000) goto LAB_0003d280;\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar14 = &DAT_000b579f + ~uVar13;\n        pcVar4 = ", 4120";\n        pcVar5 = pcVar14;\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      else if (uVar13 == 0x8a0000) {\n        uVar13 = 0xffffffff;\n        pcVar4 = pcVar5;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar14 = (char *)~uVar13;\n        builtin_strncpy(pcVar14 + 0xb579f,", sb1",6);\n      }\n      else {\n        if (uVar13 != 0x8b0000) goto LAB_0003d280;\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar14 = &DAT_000b579f + ~uVar13;\n        pcVar4 = ", octeon";\n        pcVar5 = pcVar14;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n    }\n    else if (uVar13 == 0x930000) {\n      uVar13 = 0xffffffff;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar5;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", interaptiv-mr2";\n      pcVar5 = pcVar14;\n      for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    else if (uVar13 < 0x930001) {\n      if (uVar13 == 0x8e0000) {\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar14 = &DAT_000b579f + ~uVar13;\n        pcVar4 = ", octeon3";\n        pcVar5 = pcVar14;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      else if (uVar13 < 0x8e0001) {\n        if (uVar13 == 0x8d0000) {\n          uVar13 = 0xffffffff;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar14 = &DAT_000b579f + ~uVar13;\n          pcVar4 = ", octeon2";\n          pcVar5 = pcVar14;\n          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else {\nLAB_0003d280:\n          pcVar5 = (char *)0x0;\n          pcVar4 = (char *)dcgettext(0,", unknown CPU",5,pcVar4);\n          strcat((char *)&DAT_000b57a0,pcVar4);\n          pcVar14 = extraout_EDX;\n        }\n      }\n      else if (uVar13 == 0x910000) {\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar14 = &DAT_000b579f + ~uVar13;\n        pcVar4 = ", 5400";\n        pcVar5 = pcVar14;\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      else {\n        if (uVar13 != 0x920000) goto LAB_0003d280;\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar14 = &DAT_000b579f + ~uVar13;\n        pcVar4 = ", 5900";\n        pcVar5 = pcVar14;\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n    }\n    else if (uVar13 == 0xa00000) {\n      uVar13 = 0xffffffff;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar5;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", loongson-2e";\n      pcVar5 = pcVar14;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    else if (uVar13 < 0xa00001) {\n      if (uVar13 == 0x980000) {\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar14 = &DAT_000b579f + ~uVar13;\n        pcVar4 = ", 5500";\n        pcVar5 = pcVar14;\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      else {\n        if (uVar13 != 0x990000) goto LAB_0003d280;\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar14 = &DAT_000b579f + ~uVar13;\n        pcVar4 = ", 9000";\n        pcVar5 = pcVar14;\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n    }\n    else if (uVar13 == 0xa10000) {\n      uVar13 = 0xffffffff;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar5;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", loongson-2f";\n      pcVar5 = pcVar14;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    else {\n      if (uVar13 != 0xa20000) goto LAB_0003d280;\n      uVar13 = 0xffffffff;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar5;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", loongson-3a";\n      pcVar5 = pcVar14;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    local_34 = &DAT_000b57a0;\n    uVar13 = (uint)local_38 & 0xf000;\n    if (uVar13 == 0x2000) {\n      uVar13 = 0xffffffff;\n      puVar9 = local_34;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *(char *)puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while (cVar1 != '\0');\n      pcVar14 = (char *)~uVar13;\n      builtin_strncpy(pcVar14 + 0xb579f,", o64",6);\n    }\n    else if (uVar13 < 0x2001) {\n      if (uVar13 != 0) {\n        if (uVar13 == 0x1000) {\n          uVar13 = 0xffffffff;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pcVar14 = (char *)~uVar13;\n          builtin_strncpy(pcVar14 + 0xb579f,", o32",6);\n        }\n        else {\nLAB_0003e7da:\n          pcVar4 = (char *)dcgettext(0,", unknown ABI",5,pcVar5);\n          strcat((char *)&DAT_000b57a0,pcVar4);\n          pcVar14 = extraout_EDX_01;\n        }\n      }\n    }\n    else if (uVar13 == 0x3000) {\n      uVar13 = 0xffffffff;\n      puVar9 = local_34;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *(char *)puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", eabi32";\n      pcVar5 = pcVar14;\n      for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    else {\n      if (uVar13 != 0x4000) goto LAB_0003e7da;\n      uVar13 = 0xffffffff;\n      puVar9 = local_34;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *(char *)puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", eabi64";\n      pcVar5 = pcVar14;\n      for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x8000000) != 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = local_34;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *(char *)puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", mdmx";\n      pcVar5 = pcVar14;\n      for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x4000000) != 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = local_34;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *(char *)puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", mips16";\n      pcVar5 = pcVar14;\n      for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x2000000) != 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = local_34;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *(char *)puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", micromips";\n      pcVar5 = pcVar14;\n      for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *(undefined4 *)pcVar5 = *(undefined4 *)pcVar4;\n        pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n        pcVar5 = pcVar5 + (uint)bVar22 * -8 + 4;\n      }\n    }\n    uVar13 = (uint)local_38 & 0xf0000000;\n    if (uVar13 == 0x50000000) {\n      uVar13 = 0xffffffff;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *(char *)local_34;\n        local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n      } while (cVar1 != '\0');\n      pcVar4 = ", mips32";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    else if (uVar13 < 0x50000001) {\n      if (uVar13 == 0x20000000) {\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *(char *)local_34;\n          local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n        } while (cVar1 != '\0');\n        *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x696d202c;\n        *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x337370;\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else if (uVar13 < 0x20000001) {\n        if (uVar13 == 0) {\n          uVar13 = 0xffffffff;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)local_34;\n            local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x696d202c;\n          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x317370;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 0x10000000) {\n          uVar13 = 0xffffffff;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)local_34;\n            local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x696d202c;\n          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x327370;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\nLAB_0003e94f:\n          pcVar4 = (char *)dcgettext(0,", unknown ISA",5,pcVar14);\n          strcat((char *)&DAT_000b57a0,pcVar4);\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar13 == 0x30000000) {\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *(char *)local_34;\n          local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n        } while (cVar1 != '\0');\n        *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x696d202c;\n        *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x347370;\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else {\n        if (uVar13 != 0x40000000) goto LAB_0003e94f;\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *(char *)local_34;\n          local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n        } while (cVar1 != '\0');\n        *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x696d202c;\n        *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x357370;\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar13 == 0x80000000) {\n      uVar13 = 0xffffffff;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *(char *)local_34;\n        local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n      } while (cVar1 != '\0');\n      pcVar4 = ", mips64r2";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    else if (uVar13 < 0x80000001) {\n      if (uVar13 == 0x60000000) {\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *(char *)local_34;\n          local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n        } while (cVar1 != '\0');\n        pcVar4 = ", mips64";\n        pcVar5 = &DAT_000b579f + ~uVar13;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else {\n        if (uVar13 != 0x70000000) goto LAB_0003e94f;\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *(char *)local_34;\n          local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n        } while (cVar1 != '\0');\n        pcVar4 = ", mips32r2";\n        pcVar5 = &DAT_000b579f + ~uVar13;\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar13 == 0x90000000) {\n      uVar13 = 0xffffffff;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *(char *)local_34;\n        local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n      } while (cVar1 != '\0');\n      pcVar4 = ", mips32r6";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    else {\n      if (uVar13 != 0xa0000000) goto LAB_0003e94f;\n      uVar13 = 0xffffffff;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *(char *)local_34;\n        local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n      } while (cVar1 != '\0');\n      pcVar4 = ", mips64r6";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    goto LAB_0003b840;\n  }\n  if (uVar2 != 4) goto LAB_0003b840;\n  uVar13 = (uint)local_38 & 0x3818000;\n  if (uVar13 == 0x1000000) {\n    pcVar4 = ", m68000";\n    pcVar5 = (char *)&DAT_000b57a0;\n    for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n      *pcVar5 = *pcVar4;\n      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n    }\n    local_38 = *(char **)(param_1 + 0x3c);\n    goto LAB_0003b840;\n  }\n  if (uVar13 == 0x810000) {\n    DAT_000b57a0 = 0x7063202c;\n    DAT_000b57a4 = 0x323375;\n    local_38 = *(char **)(param_1 + 0x3c);\n    goto LAB_0003b840;\n  }\n  if (uVar13 == 0x2000000) {\n    pcVar4 = ", fido_a";\n    pcVar5 = (char *)&DAT_000b57a0;\n    for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n      *pcVar5 = *pcVar4;\n      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n    }\n    local_38 = *(char **)(param_1 + 0x3c);\n    goto LAB_0003b840;\n  }\n  pcVar4 = (char *)dcgettext(0,"unknown",5);\n  local_3c = (char *)dcgettext(0,"unknown mac",5);\n  switch((uint)local_38 & 0xf) {\n  default:\n    uVar13 = 0xffffffff;\n    pcVar5 = (char *)&DAT_000b57a0;\n    do {\n      if (uVar13 == 0) break;\n      uVar13 = uVar13 - 1;\n      cVar1 = *pcVar5;\n      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n    } while (cVar1 != '\0');\n    pcVar5 = ", cf, isa ";\n    pcVar14 = &DAT_000b579f + ~uVar13;\n    for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n      *pcVar14 = *pcVar5;\n      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      pcVar14 = pcVar14 + (uint)bVar22 * -2 + 1;\n    }\n    strcpy((char *)(~uVar13 + 0xb57a9),pcVar4);\n    goto LAB_0003c31a;\n  case 1:\n    local_40 = ", nodiv";\n    pcVar4 = "A";\n    goto code_r0x0003c39b;\n  case 2:\n    pcVar4 = "A";\n    break;\n  case 3:\n    pcVar4 = "A+";\n    break;\n  case 4:\n    pcVar4 = "B";\n    local_40 = ", nousp";\n    goto code_r0x0003c39b;\n  case 5:\n    pcVar4 = "B";\n    break;\n  case 6:\n    pcVar4 = "C";\n    break;\n  case 7:\n    local_40 = ", nodiv";\n    pcVar4 = "C";\ncode_r0x0003c39b:\n    uVar13 = 0xffffffff;\n    pcVar5 = (char *)&DAT_000b57a0;\n    do {\n      if (uVar13 == 0) break;\n      uVar13 = uVar13 - 1;\n      cVar1 = *pcVar5;\n      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n    } while (cVar1 != '\0');\n    cVar1 = *pcVar4;\n    uVar13 = ~uVar13;\n    pcVar4 = ", cf, isa ";\n    pcVar5 = &DAT_000b579f + uVar13;\n    for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n      *pcVar5 = *pcVar4;\n      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n    }\n    *(char *)(uVar13 + 0xb57a9) = cVar1;\n    uVar3 = *(undefined4 *)local_40;\n    *(undefined4 *)((int)&DAT_000b57ac + uVar13 + 2) = *(undefined4 *)(local_40 + 4);\n    *(undefined4 *)(uVar13 + 0xb57aa) = uVar3;\n    goto LAB_0003c31a;\n  }\n  uVar13 = 0xffffffff;\n  pcVar5 = (char *)&DAT_000b57a0;\n  do {\n    if (uVar13 == 0) break;\n    uVar13 = uVar13 - 1;\n    cVar1 = *pcVar5;\n    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n  } while (cVar1 != '\0');\n  pcVar5 = ", cf, isa ";\n  pcVar14 = &DAT_000b579f + ~uVar13;\n  for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n    *pcVar14 = *pcVar5;\n    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n    pcVar14 = pcVar14 + (uint)bVar22 * -2 + 1;\n  }\n  strcpy((char *)(~uVar13 + 0xb57a9),pcVar4);\nLAB_0003c31a:\n  local_34 = &DAT_000b57a0;\n  if (((uint)local_38 & 0x40) != 0) {\n    uVar13 = 0xffffffff;\n    puVar9 = local_34;\n    do {\n      if (uVar13 == 0) break;\n      uVar13 = uVar13 - 1;\n      cVar1 = *(char *)puVar9;\n      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n    } while (cVar1 != '\0');\n    *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6c66202c;\n    *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x74616f;\n  }\n  uVar13 = (uint)local_38 & 0x30;\n  if (uVar13 == 0x10) {\n    local_3c = "mac";\nLAB_0003c354:\n    uVar13 = 0xffffffff;\n    do {\n      if (uVar13 == 0) break;\n      uVar13 = uVar13 - 1;\n      cVar1 = *(char *)local_34;\n      local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n    } while (cVar1 != '\0');\n    *(undefined2 *)(&DAT_000b579f + ~uVar13) = 0x202c;\n    strcpy((char *)((int)&DAT_000b57a0 + ~uVar13 + 1),local_3c);\n    local_38 = *(char **)(param_1 + 0x3c);\n  }\n  else {\n    if (0x10 < uVar13) {\n      if (uVar13 == 0x20) {\n        local_3c = "emac";\n      }\n      else {\n        if (uVar13 != 0x30) goto LAB_0003e4f5;\n        local_3c = "emac_b";\n      }\n      goto LAB_0003c354;\n    }\n    if (uVar13 == 0) {\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    else {\nLAB_0003e4f5:\n      if (local_3c != (char *)0x0) goto LAB_0003c354;\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n  }\nLAB_0003b840:\n  pcVar4 = (char *)dcgettext(0,"  Flags:                             0x%lx%s\n",5);\n  printf(pcVar4,local_38,&DAT_000b57a0);\n  uVar3 = *(undefined4 *)(param_1 + 0x44);\n  pcVar4 = (char *)dcgettext(0,"  Size of this header:               %ld (bytes)\n",5);\n  printf(pcVar4,uVar3);\n  uVar3 = *(undefined4 *)(param_1 + 0x48);\n  pcVar4 = (char *)dcgettext(0,"  Size of program headers:           %ld (bytes)\n",5);\n  printf(pcVar4,uVar3);\n  uVar3 = *(undefined4 *)(param_1 + 0x4c);\n  pcVar4 = (char *)dcgettext(0,"  Number of program headers:         %ld",5);\n  printf(pcVar4,uVar3);\n  if (((*(int *)(param_1 + 0x5c) != 0) && (*(int *)(param_1 + 0x4c) == 0xffff)) &&\n     (iVar11 = *(int *)(*(int *)(param_1 + 0x5c) + 0x2c), iVar11 != 0)) {\n    printf(" (%ld)",iVar11);\n  }\n  puVar8 = PTR_stdout_000b3fd8;\n  putc(10,*(FILE **)PTR_stdout_000b3fd8);\n  uVar3 = *(undefined4 *)(param_1 + 0x50);\n  pcVar4 = (char *)dcgettext(0,"  Size of section headers:           %ld (bytes)\n",5);\n  printf(pcVar4,uVar3);\n  uVar3 = *(undefined4 *)(param_1 + 0x54);\n  pcVar4 = (char *)dcgettext(0,"  Number of section headers:         %ld",5);\n  printf(pcVar4,uVar3);\n  if ((*(int *)(param_1 + 0x5c) != 0) && (*(int *)(param_1 + 0x54) == 0)) {\n    printf(" (%ld)",*(undefined4 *)(*(int *)(param_1 + 0x5c) + 0x20));\n  }\n  putc(10,*(FILE **)puVar8);\n  uVar3 = *(undefined4 *)(param_1 + 0x58);\n  pcVar4 = (char *)dcgettext(0,"  Section header string table index: %ld",5);\n  printf(pcVar4,uVar3);\n  if (*(int *)(param_1 + 0x5c) == 0) {\n    uVar13 = *(uint *)(param_1 + 0x58);\nLAB_0003b994:\n    if ((uVar13 != 0) && (*(uint *)(param_1 + 0x54) <= uVar13)) {\n      pcVar4 = (char *)dcgettext(0," <corrupt: out of range>",5);\n      printf(pcVar4);\n    }\n  }\n  else {\n    uVar13 = *(uint *)(param_1 + 0x58);\n    if (uVar13 != 0xffff) goto LAB_0003b994;\n    printf(" (%u)",*(undefined4 *)(*(int *)(param_1 + 0x5c) + 0x28));\n  }\n  putc(10,*(FILE **)puVar8);\nLAB_0003b371:\n  __ptr = *(void **)(param_1 + 0x5c);\n  if (__ptr == (void *)0x0) {\n    return 1;\n  }\n  if ((*(int *)(param_1 + 0x4c) == 0xffff) && (*(int *)((int)__ptr + 0x2c) != 0)) {\n    *(int *)(param_1 + 0x4c) = *(int *)((int)__ptr + 0x2c);\n  }\n  uVar13 = *(uint *)(param_1 + 0x54);\n  if (uVar13 == 0) {\n    uVar13 = *(uint *)((int)__ptr + 0x20);\n    *(uint *)(param_1 + 0x54) = uVar13;\n  }\n  uVar12 = *(uint *)(param_1 + 0x58);\n  if (uVar12 == 0xffff) {\n    uVar12 = *(uint *)((int)__ptr + 0x28);\n    *(uint *)(param_1 + 0x58) = uVar12;\n  }\n  if (uVar13 <= uVar12) {\n    param_1[0x58] = '\0';\n    param_1[0x59] = '\0';\n    param_1[0x5a] = '\0';\n    param_1[0x5b] = '\0';\n  }\n  free(__ptr);\n  param_1[0x5c] = '\0';\n  param_1[0x5d] = '\0';\n  param_1[0x5e] = '\0';\n  param_1[0x5f] = '\0';\n  return 1;\n}\n\n" comment comment (function_definition "undefined4 __regparm3 FUN_0003b300(char *param_1)\n\n{\n  char cVar1;\n  ushort uVar2;\n  void *__ptr;\n  undefined4 uVar3;\n  char *pcVar4;\n  char *pcVar5;\n  Elf32_Ehdr *pEVar6;\n  int iVar7;\n  undefined *puVar8;\n  uint *puVar9;\n  size_t sVar10;\n  int extraout_ECX;\n  undefined4 extraout_ECX_00;\n  undefined4 extraout_ECX_01;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  int iVar11;\n  undefined4 extraout_ECX_04;\n  undefined4 extraout_ECX_05;\n  undefined4 extraout_ECX_06;\n  undefined4 extraout_ECX_07;\n  undefined4 extraout_ECX_08;\n  undefined4 extraout_ECX_09;\n  undefined4 extraout_ECX_10;\n  undefined4 extraout_ECX_11;\n  undefined4 extraout_ECX_12;\n  undefined4 extraout_ECX_13;\n  undefined4 extraout_ECX_14;\n  undefined4 extraout_ECX_15;\n  undefined4 extraout_ECX_16;\n  undefined4 extraout_ECX_17;\n  undefined4 extraout_ECX_18;\n  undefined4 extraout_ECX_19;\n  undefined4 extraout_ECX_20;\n  uint uVar12;\n  uint uVar13;\n  char *pcVar14;\n  char *extraout_EDX;\n  undefined4 extraout_EDX_00;\n  char *extraout_EDX_01;\n  byte bVar15;\n  undefined1 *puVar16;\n  uint uVar17;\n  uint *puVar18;\n  undefined4 *puVar19;\n  bool bVar20;\n  bool bVar21;\n  byte bVar22;\n  char *local_40;\n  char *local_3c;\n  char *local_38;\n  uint *local_34;\n  byte *local_30;\n  char local_24 [4];\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  bVar22 = 0;\n  uStack_14 = 0x3b30b;\n  if (*(int *)(param_1 + 0x10) != 0x464c457f) {\n    uVar3 = dcgettext(0,"Not an ELF file - it has the wrong magic bytes at the start\n",5);\n    error(uVar3);\n    return 0;\n  }\n  FUN_0005d920(*(undefined2 *)(param_1 + 0x42));\n  if (DAT_000b6344 == 0) goto LAB_0003b371;\n  pcVar4 = (char *)dcgettext(0,"ELF Header:\n",5);\n  printf(pcVar4);\n  pcVar4 = (char *)dcgettext(0,"  Magic:   ",5);\n  printf(pcVar4);\n  local_30 = (byte *)(param_1 + 0x10);\n  do {\n    printf("%2.2x ",(uint)*local_30);\n    local_30 = local_30 + 1;\n  } while ((byte *)(param_1 + 0x20) != local_30);\n  putchar(10);\n  cVar1 = param_1[0x14];\n  pcVar4 = "ELF32";\n  if (cVar1 != '\x01') {\n    if (cVar1 == '\0') {\n      pcVar4 = (char *)dcgettext(0,&DAT_00076afd,5);\n    }\n    else {\n      pcVar4 = "ELF64";\n      if (cVar1 != '\x02') {\n        pcVar4 = &DAT_000b5c40;\n        pcVar5 = (char *)dcgettext(0,"<unknown: %x>",5);\n        snprintf(&DAT_000b5c40,0x20,pcVar5,cVar1);\n      }\n    }\n  }\n  pcVar5 = (char *)dcgettext(0,"  Class:                             %s\n",5);\n  printf(pcVar5,pcVar4);\n  cVar1 = param_1[0x15];\n  if (cVar1 == '\x01') {\n    pcVar4 = "2\'s complement, little endian";\nLAB_0003c46b:\n    puVar8 = (undefined *)dcgettext(0,pcVar4,5);\n  }\n  else {\n    if (cVar1 == '\0') {\n      pcVar4 = "none";\n      goto LAB_0003c46b;\n    }\n    if (cVar1 == '\x02') {\n      pcVar4 = "2\'s complement, big endian";\n      goto LAB_0003c46b;\n    }\n    puVar8 = &DAT_000b5c20;\n    pcVar4 = (char *)dcgettext(0,"<unknown: %x>",5);\n    snprintf(&DAT_000b5c20,0x20,pcVar4,cVar1);\n  }\n  pcVar5 = (char *)dcgettext(0,"  Data:                              %s\n",5);\n  pcVar4 = "(current)";\n  printf(pcVar5,puVar8);\n  bVar15 = param_1[0x16];\n  if ((bVar15 != 1) && (pcVar4 = "", bVar15 != 0)) {\n    pcVar4 = (char *)dcgettext(0,"<unknown: %lx>",5);\n    bVar15 = param_1[0x16];\n  }\n  pcVar5 = (char *)dcgettext(0,"  Version:                           %d %s\n",5);\n  printf(pcVar5,(uint)bVar15,pcVar4);\n  uVar3 = FUN_000241c0();\n  pcVar4 = (char *)dcgettext(0,"  OS/ABI:                            %s\n",5);\n  printf(pcVar4,uVar3);\n  bVar15 = param_1[0x18];\n  pcVar4 = (char *)dcgettext(0,"  ABI Version:                       %d\n",5);\n  printf(pcVar4,(uint)bVar15);\n  uVar3 = FUN_0001c2b0();\n  pcVar4 = (char *)dcgettext(0,"  Type:                              %s\n",5);\n  printf(pcVar4,uVar3);\n  uVar3 = FUN_0001c3f0();\n  pcVar4 = (char *)dcgettext(0,"  Machine:                           %s\n",5);\n  printf(pcVar4,uVar3);\n  uVar3 = *(undefined4 *)(param_1 + 0x38);\n  pcVar5 = (char *)dcgettext(0,"  Version:                           0x%lx\n",5);\n  pcVar4 = "%lld";\n  printf(pcVar5,uVar3);\n  pcVar5 = (char *)dcgettext(0,"  Entry point address:               ",5);\n  printf(pcVar5);\n  FUN_0001e910();\n  pcVar5 = (char *)dcgettext(0,"\n  Start of program headers:          ",5);\n  printf(pcVar5);\n  printf("%lld",*(undefined4 *)(param_1 + 0x28),*(undefined4 *)(param_1 + 0x2c));\n  pcVar5 = (char *)dcgettext(0," (bytes into file)\n  Start of section headers:          ",5);\n  printf(pcVar5);\n  printf("%lld",*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34));\n  pcVar5 = (char *)dcgettext(0," (bytes into file)\n",5);\n  printf(pcVar5);\n  local_38 = *(char **)(param_1 + 0x3c);\n  uVar2 = *(ushort *)(param_1 + 0x42);\n  DAT_000b57a0 = DAT_000b57a0 & 0xffffff00;\n  if (local_38 == (char *)0x0) goto LAB_0003b840;\n  if (uVar2 == 0x5b) {\nLAB_0003bdf2:\n    if (((uint)local_38 & 0x10) != 0) {\n      pcVar4 = ", new calling convention";\n      pcVar5 = (char *)&DAT_000b57a0;\n      for (iVar11 = 0x19; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x20) == 0) {\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    else {\n      uVar13 = 0xffffffff;\n      pcVar4 = (char *)&DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar4 = ", gnu calling convention";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0x19; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    goto LAB_0003b840;\n  }\n  if (0x5b < uVar2) {\n    if (uVar2 == 0xc3) {\nLAB_0003cc32:\n      switch((uint)local_38 & 0xff) {\n      default:\n        if (uVar2 == 0x5d) {\n          puVar9 = (uint *)", Unknown ARCompact";\n          puVar18 = &DAT_000b57a0;\n          for (iVar11 = 5; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar18 = *puVar9;\n            puVar9 = puVar9 + (uint)bVar22 * -2 + 1;\n            puVar18 = puVar18 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else {\n          pcVar4 = ", Unknown ARC";\n          puVar9 = &DAT_000b57a0;\n          for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(char *)puVar9 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          }\n        }\n        break;\n      case 2:\n        pcVar4 = ", ARC600";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 3:\n        pcVar4 = ", ARC700";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 4:\n        pcVar4 = ", ARC601";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 5:\n        pcVar4 = ", ARC EM";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 6:\n        pcVar4 = ", ARC HS";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n      }\n      uVar13 = (uint)local_38 & 0xf00;\n      puVar9 = &DAT_000b57a0;\n      do {\n        puVar18 = puVar9;\n        uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n        uVar12 = uVar17 & 0x80808080;\n        puVar9 = puVar18 + 1;\n      } while (uVar12 == 0);\n      bVar20 = (uVar17 & 0x8080) == 0;\n      if (bVar20) {\n        uVar12 = uVar12 >> 0x10;\n      }\n      if (bVar20) {\n        puVar9 = (uint *)((int)puVar18 + 6);\n      }\n      pcVar4 = (char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12)));\n      if (uVar13 == 0x200) {\n        pcVar5 = ", (ABI:v2)";\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar4 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else if (uVar13 < 0x201) {\n        if (uVar13 == 0) {\n          pcVar5 = ", (ABI:legacy)";\n          for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar4 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\nLAB_0003e7fe:\n          pcVar5 = ", unrecognised ARC OSABI flag";\n          for (iVar11 = 0x1e; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar4 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar13 == 0x300) {\n        pcVar5 = ", v3 no-legacy-syscalls ABI";\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n          pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n          pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else {\n        if (uVar13 != 0x400) goto LAB_0003e7fe;\n        pcVar5 = ", v4 ABI";\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar4 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 < 0xc4) {\n      if (uVar2 == 0x69) {\n        pcVar4 = (char *)dcgettext(0,": architecture variant: ",5);\n        puVar9 = &DAT_000b57a0;\n        do {\n          puVar18 = puVar9;\n          uVar12 = *puVar18 + 0xfefefeff & ~*puVar18;\n          uVar13 = uVar12 & 0x80808080;\n          puVar9 = puVar18 + 1;\n        } while (uVar13 == 0);\n        bVar20 = (uVar12 & 0x8080) == 0;\n        if (bVar20) {\n          uVar13 = uVar13 >> 0x10;\n        }\n        if (bVar20) {\n          puVar9 = (uint *)((int)puVar18 + 6);\n        }\n        pcVar5 = stpcpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar13,(byte)uVar13))),\n                        pcVar4);\n        uVar13 = ((uint)local_38 & 0xff) - 0xb;\n        iVar11 = extraout_ECX;\n        if (uVar13 < 100) {\n          iVar11 = (int)&__DT_PLTGOT + *(int *)(&DAT_0008dec0 + uVar13 * 4);\n          switch((uint)local_38 & 0xff) {\n          case 0xb:\n            pcVar4 = "MSP430x11";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0xc:\n            pcVar4 = "MSP430x12";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0xd:\n            pcVar4 = "MSP430x13";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0xe:\n            pcVar4 = "MSP430x14";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0xf:\n            pcVar4 = "MSP430x15";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x10:\n            pcVar4 = "MSP430x16";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          default:\n            goto LAB_0003e9dc;\n          case 0x1f:\n            pcVar4 = "MSP430x31";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x20:\n            pcVar4 = "MSP430x32";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x21:\n            pcVar4 = "MSP430x33";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x29:\n            pcVar4 = "MSP430x41";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x2a:\n            pcVar4 = "MSP430x42";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x2b:\n            pcVar4 = "MSP430x43";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x2c:\n            pcVar4 = "MSP430x44";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x2d:\n            builtin_strncpy(pcVar5,"MSP430X",8);\n            break;\n          case 0x6e:\n            pcVar4 = "MSP430x11x1 ";\n            for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n          }\n        }\n        else {\nLAB_0003e9dc:\n          pcVar4 = (char *)0x0;\n          pcVar5 = (char *)dcgettext(0,": unknown",5,iVar11);\n          strcat((char *)&DAT_000b57a0,pcVar5);\n        }\n        if (((uint)local_38 & 0xffffff00) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          pcVar4 = (char *)dcgettext(0,": unknown extra flag bits also present",5,pcVar4);\n          strcat((char *)&DAT_000b57a0,pcVar4);\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 < 0x6a) {\n        if (uVar2 == 0x5d) goto LAB_0003cc32;\n        if (uVar2 < 0x5d) {\n          if (((uint)local_38 & 1) != 0) {\n            pcVar4 = ", no delay";\n            pcVar5 = (char *)&DAT_000b57a0;\n            for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else if (uVar2 == 99) goto LAB_0003bdf2;\n      }\n      else if (uVar2 == 0x8c) {\n        if (((uint)local_38 & 1) != 0) {\n          pcVar4 = ", relocatable module";\n          puVar9 = &DAT_000b57a0;\n          for (iVar11 = 0x15; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(char *)puVar9 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 < 0x8d) {\n        if (uVar2 == 0x6a) {\n          if (((uint)local_38 & 1) != 0) {\n            DAT_000b57a0 = 0x4950202c;\n            DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x43);\n          }\n          if (((uint)local_38 & 2) != 0) {\n            uVar13 = 0xffffffff;\n            pcVar4 = (char *)&DAT_000b57a0;\n            do {\n              if (uVar13 == 0) break;\n              uVar13 = uVar13 - 1;\n              cVar1 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            } while (cVar1 != '\0');\n            *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x4446202c;\n            *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x434950;\n          }\n          if (((uint)local_38 & 0x10) != 0) {\n            uVar13 = 0xffffffff;\n            pcVar4 = (char *)&DAT_000b57a0;\n            do {\n              if (uVar13 == 0) break;\n              uVar13 = uVar13 - 1;\n              cVar1 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            } while (cVar1 != '\0');\n            pcVar4 = ", code in L1";\n            pcVar5 = &DAT_000b579f + ~uVar13;\n            for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n          }\n          if (((uint)local_38 & 0x20) == 0) {\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\n            uVar13 = 0xffffffff;\n            pcVar4 = (char *)&DAT_000b57a0;\n            do {\n              if (uVar13 == 0) break;\n              uVar13 = uVar13 - 1;\n              cVar1 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            } while (cVar1 != '\0');\n            pcVar4 = ", data in L1";\n            pcVar5 = &DAT_000b579f + ~uVar13;\n            for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n      }\n      else if (uVar2 == 0xa7) {\n        uVar13 = (uint)local_38 & 0xf0000000;\n        uVar12 = (uint)local_38 & 0xf0;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 0x100; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *puVar19 = 0;\n          puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n        }\n        if (uVar12 == 0x20) {\nLAB_0003d15d:\n          iVar11 = snprintf((char *)&DAT_000b57a0,0x400,", %s",(&PTR_s_ABI_v0_000b333c)[uVar12 >> 4]\n                           );\n        }\n        else {\n          if (uVar12 < 0x21) {\n            if ((uVar12 == 0) || (uVar12 == 0x10)) goto LAB_0003d15d;\n          }\n          else if ((uVar12 == 0x40) || ((uVar12 == 0x50 || (uVar12 == 0x30)))) goto LAB_0003d15d;\n          DAT_000b57a0 = 0x753c202c;\n          iVar11 = 0x14;\n          DAT_000b57a4 = 0x6365726e;\n          _DAT_000b57a8 = 0x696e676f;\n          DAT_000b57ac = 0x2064657a;\n          DAT_000b57b0 = 0x3e494241;\n          DAT_000b57b4 = 0;\n        }\n        if (((uint)local_38 & 0xf) < 3) {\n          iVar7 = snprintf((char *)((int)&DAT_000b57a0 + iVar11),0x400U - iVar11,", %s",\n                           (&PTR_s_Andes_ELF_V1_3_or_older_000b3330)[(uint)local_38 & 0xf]);\n          uVar17 = iVar11 + iVar7;\n        }\n        else {\n          uVar17 = iVar11 + 0x23;\n          snprintf((char *)((int)&DAT_000b57a0 + iVar11),0x400U - iVar11,\n                   ", <unrecognized ELF version number>");\n        }\n        sVar10 = 0x400 - uVar17;\n        pcVar4 = (char *)((int)&DAT_000b57a0 + uVar17);\n        if (uVar12 == 0) {\n          iVar11 = snprintf(pcVar4,sVar10,", Andes Star v1.0, N1213HC, MAC, PERF1",&DAT_000b57a0);\n          if (uVar13 == 0x10000000) {\n            snprintf((char *)(uVar17 + 0xb57c6),0x400 - (uVar17 + 0x26),", 16b",iVar11);\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else if (uVar13 == 0x20000000) {\nLAB_0003d678:\n          iVar11 = snprintf(pcVar4,sVar10,", %s",(&PTR_DAT_000b331c)[(uint)local_38 >> 0x1c]);\n          iVar11 = iVar11 + uVar17;\n          uVar12 = (uint)local_38 & 0x100;\n          uVar3 = extraout_ECX_00;\n          if (uVar13 == 0x10000000) {\n            if (uVar12 != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 10;\n              uVar12 = snprintf(pcVar4,sVar10,", MFUSR_PC",uVar12);\n              uVar3 = extraout_ECX_20;\n            }\n            if (((uint)local_38 & 0x100000) == 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 5;\n              uVar12 = snprintf(pcVar4,sVar10,", MAC",uVar12);\n              uVar3 = extraout_ECX_19;\n            }\n            if (((uint)local_38 & 0x2000) != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 5;\n              uVar12 = snprintf(pcVar4,sVar10,", DIV",uVar12);\n              uVar3 = extraout_ECX_18;\n            }\n            if (((uint)local_38 & 0x4000) != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 5;\n              uVar12 = snprintf(pcVar4,sVar10,", 16b",uVar12);\n              uVar3 = extraout_ECX_10;\n            }\n          }\n          else {\n            if (uVar12 != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              if (((uint)local_38 & 0xe) == 0) {\n                iVar11 = iVar11 + 6;\n                uVar12 = snprintf(pcVar4,sVar10,", [B8]",uVar17);\n                uVar3 = extraout_ECX_01;\n              }\n              else {\n                iVar11 = iVar11 + 5;\n                uVar12 = snprintf(pcVar4,sVar10,", EX9",extraout_EDX_00);\n                uVar3 = extraout_ECX_11;\n              }\n            }\n            if (((uint)local_38 & 0x100000) != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 8;\n              uVar12 = snprintf(pcVar4,sVar10,", MAC_DX",uVar12);\n              uVar3 = extraout_ECX_09;\n            }\n            if (((uint)local_38 & 0x2000) != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 8;\n              uVar12 = snprintf(pcVar4,sVar10,", DIV_DX",uVar12);\n              uVar3 = extraout_ECX_14;\n            }\n            if (((uint)local_38 & 0x4000) != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              uVar13 = (uint)local_38 & 0xffffff0e;\n              if (((uint)local_38 & 0xe) == 0) {\n                pcVar5 = ", 16b";\n                uVar13 = uVar17;\n              }\n              else {\n                pcVar5 = ", IFC";\n              }\n              iVar11 = iVar11 + 5;\n              uVar12 = snprintf(pcVar4,sVar10,pcVar5,uVar13);\n              uVar3 = extraout_ECX_02;\n            }\n          }\n          if (((uint)local_38 & 0x200) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 7;\n            uVar12 = snprintf(pcVar4,sVar10,", PERF1",uVar12);\n            uVar3 = extraout_ECX_13;\n          }\n          if (((uint)local_38 & 0x400) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 7;\n            snprintf(pcVar4,sVar10,", PERF2",uVar12);\n            uVar3 = extraout_ECX_12;\n          }\n          uVar13 = (uint)local_38 & 0x1000000;\n          if (((uint)local_38 & 0x800) == 0) {\n            pcVar4 = local_38;\n            if (((uint)local_38 & 0x80000) != 0) {\nLAB_0003eba3:\n              sVar10 = 0x400 - iVar11;\n              pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 8;\n              pcVar4 = (char *)snprintf(pcVar5,sVar10,", FPU_DP",pcVar4);\n              goto LAB_0003ebc4;\n            }\n            if (uVar13 != 0) goto LAB_0003ebc8;\n          }\n          else {\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 8;\n            pcVar4 = (char *)snprintf(pcVar4,sVar10,", FPU_SP",local_38);\n            if (((uint)local_38 & 0x80000) != 0) goto LAB_0003eba3;\nLAB_0003ebc4:\n            if (uVar13 != 0) {\nLAB_0003ebc8:\n              sVar10 = 0x400 - iVar11;\n              pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 9;\n              snprintf(pcVar5,sVar10,", FPU_MAC",pcVar4);\n            }\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            uVar12 = (uint)local_38 >> 0x16 & 3;\n            if (uVar12 == 2) {\n              pcVar5 = ", FPU_REG:32/16";\n              uVar12 = uVar13;\n            }\n            else {\n              if (uVar12 != 3) {\n                if (uVar12 == 1) {\n                  iVar11 = iVar11 + 0xe;\n                  pcVar4 = (char *)snprintf(pcVar4,sVar10,", FPU_REG:16/8",0);\n                  uVar3 = extraout_ECX_16;\n                }\n                else {\n                  iVar11 = iVar11 + 0xd;\n                  pcVar4 = (char *)snprintf(pcVar4,sVar10,", FPU_REG:8/4",uVar13);\n                  uVar3 = extraout_ECX_06;\n                }\n                goto LAB_0003d76f;\n              }\n              pcVar5 = ", FPU_REG:32/32";\n              uVar12 = 3;\n            }\n            iVar11 = iVar11 + 0xf;\n            pcVar4 = (char *)snprintf(pcVar4,sVar10,pcVar5,uVar12);\n            uVar3 = extraout_ECX_17;\n          }\nLAB_0003d76f:\n          if (((uint)local_38 & 0x1000) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 7;\n            pcVar4 = (char *)snprintf(pcVar5,sVar10,", AUDIO",pcVar4);\n            uVar3 = extraout_ECX_05;\n          }\n          if (((uint)local_38 & 0x8000) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 5;\n            pcVar4 = (char *)snprintf(pcVar5,sVar10,", STR",pcVar4);\n            uVar3 = extraout_ECX_08;\n          }\n          if (((uint)local_38 & 0x10000) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 7;\n            snprintf(pcVar5,sVar10,", 16REG",pcVar4);\n            uVar3 = extraout_ECX_07;\n          }\n          if (((uint)local_38 & 0x20000) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            if (((uint)local_38 & 0xe) == 0) {\n              iVar11 = iVar11 + 7;\n              snprintf(pcVar4,sVar10,", VIDEO",uVar13);\n              uVar3 = extraout_ECX_03;\n            }\n            else {\n              iVar11 = iVar11 + 0xc;\n              snprintf(pcVar4,sVar10,", SATURATION",(uint)local_38 & 0xffffff0e);\n              uVar3 = extraout_ECX_15;\n            }\n          }\n          if (((uint)local_38 & 0x40000) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 7;\n            snprintf(pcVar4,sVar10,", ENCRP",uVar13);\n            uVar3 = extraout_ECX_04;\n          }\n          if (((uint)local_38 & 0x200000) == 0) {\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\n            snprintf((char *)((int)&DAT_000b57a0 + iVar11),0x400 - iVar11,", L2C",uVar3);\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else {\n          if (uVar13 < 0x20000001) {\n            if (uVar13 == 0x10000000) goto LAB_0003d678;\n          }\n          else if ((uVar13 == 0x30000000) || (uVar13 == 0x40000000)) goto LAB_0003d678;\n          snprintf(pcVar4,sVar10,", <unrecognized architecture>");\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 == 0xad) {\n        if (((uint)local_38 & 1) != 0) {\n          pcVar4 = ", 64-bit doubles";\n          puVar9 = &DAT_000b57a0;\n          for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(char *)puVar9 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          }\n        }\n        if (((uint)local_38 & 2) != 0) {\n          uVar13 = 0xffffffff;\n          puVar9 = &DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            uVar12 = *puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while ((char)uVar12 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7364202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x70;\n        }\n        if (((uint)local_38 & 4) != 0) {\n          uVar13 = 0xffffffff;\n          puVar9 = &DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            uVar12 = *puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while ((char)uVar12 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6970202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 100;\n        }\n        if (((uint)local_38 & 8) != 0) {\n          uVar13 = 0xffffffff;\n          puVar9 = &DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            uVar12 = *puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while ((char)uVar12 != '\0');\n          pcVar4 = ", RX ABI";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x40) != 0) {\n          puVar9 = &DAT_000b57a0;\n          pcVar4 = ", uses String instructions";\n          if (((uint)local_38 & 0x80) == 0) {\n            pcVar4 = ", bans String instructions";\n          }\n          do {\n            puVar18 = puVar9;\n            uVar12 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar13 = uVar12 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar13 == 0);\n          bVar20 = (uVar12 & 0x8080) == 0;\n          if (bVar20) {\n            uVar13 = uVar13 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          pcVar5 = (char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar13,(byte)uVar13)));\n          *(undefined4 *)pcVar5 = *(undefined4 *)pcVar4;\n          *(undefined4 *)(pcVar5 + 4) = *(undefined4 *)(pcVar4 + 4);\n          *(undefined4 *)(pcVar5 + 8) = *(undefined4 *)(pcVar4 + 8);\n          *(undefined4 *)(pcVar5 + 0xc) = *(undefined4 *)(pcVar4 + 0xc);\n          *(undefined4 *)(pcVar5 + 0x10) = *(undefined4 *)(pcVar4 + 0x10);\n          *(undefined4 *)(pcVar5 + 0x14) = *(undefined4 *)(pcVar4 + 0x14);\n          cVar1 = pcVar4[0x1a];\n          *(undefined2 *)(pcVar5 + 0x18) = *(undefined2 *)(pcVar4 + 0x18);\n          pcVar5[0x1a] = cVar1;\n        }\n        if (((uint)local_38 & 0x100) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          uVar13 = 0xffffffff;\n          puVar9 = &DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            uVar12 = *puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while ((char)uVar12 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x3256202c;\n          *(undefined1 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    else if (uVar2 == 0xfa) {\n      uVar13 = (uint)local_38 >> 8 & 0xffff;\n      if (uVar13 == 0x3200) {\n        pcVar4 = ", NFP-32xx";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else if (uVar13 == 0x6000) {\n        pcVar4 = ", NFP-6xxx";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 < 0xfb) {\n      if (uVar2 == 0xdd) {\n        if (((uint)local_38 & 1) == 0) {\n          if (((uint)local_38 & 2) != 0) {\n            DAT_000b57a0 = 0x636d202c;\n            DAT_000b57a4 = 0x34326d;\n          }\n        }\n        else {\n          DAT_000b57a0 = 0x636d202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x6d);\n        }\n        if (((uint)local_38 & 4) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7267202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x36;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 == 0xf3) {\n        if (((uint)local_38 & 1) != 0) {\n          DAT_000b57a0 = 0x5652202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x43);\n        }\n        if (((uint)local_38 & 8) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x5652202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x45;\n        }\n        uVar13 = (uint)local_38 & 6;\n        if (uVar13 == 2) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", single-float ABI";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 < 3) {\n          if (uVar13 == 0) {\n            uVar13 = 0xffffffff;\n            pcVar4 = (char *)&DAT_000b57a0;\n            do {\n              if (uVar13 == 0) break;\n              uVar13 = uVar13 - 1;\n              cVar1 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            } while (cVar1 != '\0');\n            pcVar4 = ", soft-float ABI";\n            pcVar5 = &DAT_000b579f + ~uVar13;\n            for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\nLAB_0003e76f:\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else if (uVar13 == 4) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", double-float ABI";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          if (uVar13 != 6) goto LAB_0003e76f;\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", quad-float ABI";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 == 0xc5) {\n        uVar13 = (uint)local_38 & 0xc;\n        if (uVar13 == 8) {\n          DAT_000b57a0 = 0x3147202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x33);\n        }\n        else if (uVar13 == 0xc) {\n          DAT_000b57a0 = 0x3147202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x34);\n        }\n        else if (uVar13 == 4) {\n          DAT_000b57a0 = 0x3147202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x30);\n        }\n        if (((uint)local_38 & 1) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", 64-bit doubles";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    else if (uVar2 == 0x9041) {\nLAB_0003bb50:\n      if (((uint)local_38 & 0x30000000) == 0) {\n        puVar16 = &DAT_0007ca93;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined1 *)puVar19 = *puVar16;\n          puVar16 = puVar16 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 < 0x9042) {\n      if (uVar2 == 0x5441) {\n        uVar13 = (uint)local_38 & 0xff000000;\n        if (uVar13 == 0x4000000) {\n          pcVar4 = ", tomcat";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 < 0x4000001) {\n          if (uVar13 == 0x1000000) {\n            DAT_000b57a0 = 0x7266202c;\n            DAT_000b57a4 = 0x303035;\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else if (uVar13 < 0x1000001) {\n            if (uVar13 != 0) {\nLAB_0003d4b1:\n              DAT_000b57a0 = 0x7266202c;\n              DAT_000b57a4 = 0x3f3f3f;\n              local_38 = *(char **)(param_1 + 0x3c);\n            }\n          }\n          else if (uVar13 == 0x2000000) {\n            DAT_000b57a0 = 0x7266202c;\n            DAT_000b57a4 = 0x303033;\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\n            if (uVar13 != 0x3000000) goto LAB_0003d4b1;\n            pcVar4 = ", simple";\n            pcVar5 = (char *)&DAT_000b57a0;\n            for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else if (uVar13 == 0x6000000) {\n          DAT_000b57a0 = 0x7266202c;\n          DAT_000b57a4 = 0x303535;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 < 0x6000001) {\n          if (uVar13 != 0x5000000) goto LAB_0003d4b1;\n          DAT_000b57a0 = 0x7266202c;\n          DAT_000b57a4 = 0x303034;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 0x7000000) {\n          DAT_000b57a0 = 0x7266202c;\n          DAT_000b57a4 = 0x353034;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          if (uVar13 != 0x8000000) goto LAB_0003d4b1;\n          DAT_000b57a0 = 0x7266202c;\n          DAT_000b57a4 = 0x303534;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    else {\n      if (uVar2 == 0x9080) goto LAB_0003c0c0;\n      if (uVar2 == 0xf00d) {\n        uVar13 = (uint)local_38 & 0xff000000;\n        if (uVar13 == 0x2000000) {\n          pcVar4 = ", MeP C3";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else if (uVar13 < 0x2000001) {\n          if (uVar13 == 0) {\n            pcVar4 = ", generic MeP";\n            pcVar5 = (char *)&DAT_000b57a0;\n            for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n          }\n          else if (uVar13 == 0x1000000) {\n            pcVar4 = ", MeP C2";\n            pcVar5 = (char *)&DAT_000b57a0;\n            for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n          }\n          else {\nLAB_0003ba2e:\n            pcVar4 = (char *)dcgettext(0,", <unknown MeP cpu type>",5,&DAT_00076943);\n            strcat((char *)&DAT_000b57a0,pcVar4);\n          }\n        }\n        else if (uVar13 == 0x8000000) {\n          pcVar4 = ", MeP C5";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else if (uVar13 == 0x10000000) {\n          pcVar4 = ", MeP H1";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else {\n          if (uVar13 != 0x4000000) goto LAB_0003ba2e;\n          pcVar4 = ", MeP C4";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        local_34 = &DAT_000b57a0;\n        pEVar6 = (Elf32_Ehdr *)((uint)local_38 & 0xff0000);\n        if (pEVar6 == (Elf32_Ehdr *)0x20000) {\n          uVar13 = 0xffffffff;\n          pEVar6 = (Elf32_Ehdr *)0x0;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pcVar4 = ", AVC2 coprocessor";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else if (pEVar6 < (Elf32_Ehdr *)0x20001) {\n          if (pEVar6 != (Elf32_Ehdr *)0x0) {\n            if (pEVar6 == &Elf32_Ehdr_00010000) {\n              uVar13 = 0xffffffff;\n              pEVar6 = (Elf32_Ehdr *)0x0;\n              puVar9 = local_34;\n              do {\n                if (uVar13 == 0) break;\n                uVar13 = uVar13 - 1;\n                cVar1 = *(char *)puVar9;\n                puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n              } while (cVar1 != '\0');\n              pcVar4 = ", AVC coprocessor";\n              pcVar5 = &DAT_000b579f + ~uVar13;\n              for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {\n                *pcVar5 = *pcVar4;\n                pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n              }\n            }\n            else {\nLAB_0003e6fc:\n              pcVar4 = (char *)dcgettext(0,"<unknown MeP copro type>",5,pEVar6);\n              pEVar6 = (Elf32_Ehdr *)strcat((char *)&DAT_000b57a0,pcVar4);\n            }\n          }\n        }\n        else if (pEVar6 == (Elf32_Ehdr *)&DAT_00030000) {\n          uVar13 = 0xffffffff;\n          pEVar6 = (Elf32_Ehdr *)0x0;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pcVar4 = ", FMAX coprocessor";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else {\n          if (pEVar6 != (Elf32_Ehdr *)0x60000) goto LAB_0003e6fc;\n          uVar13 = 0xffffffff;\n          pEVar6 = (Elf32_Ehdr *)0x0;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pcVar4 = ", IVC2 coprocessor";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x100) != 0) {\n          uVar13 = 0xffffffff;\n          pEVar6 = (Elf32_Ehdr *)0x0;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pcVar4 = ", Built for Library";\n          puVar19 = (undefined4 *)(&DAT_000b579f + ~uVar13);\n          for (iVar11 = 5; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0xff) != 0) {\n          uVar13 = 0xffffffff;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pEVar6 = (Elf32_Ehdr *)\n                   sprintf(&DAT_000b579f + ~uVar13,", Configuration Index: %#x",\n                           (uint)local_38 & 0xff,0);\n        }\n        if (((uint)local_38 & 0xfe00) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          pcVar4 = (char *)dcgettext(0,", unknown flags bits: %#x",5,pEVar6);\n          uVar13 = 0xffffffff;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)local_34;\n            local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          sprintf(&DAT_000b579f + ~uVar13,pcVar4,(uint)local_38 & 0xfe00);\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    goto LAB_0003b840;\n  }\n  if (uVar2 == 0x24) {\n    if (((uint)local_38 & 0xf0000000) == 0xf0000000) {\n      puVar9 = (uint *)", RH850 ABI";\n      puVar18 = &DAT_000b57a0;\n      for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *puVar18 = *puVar9;\n        puVar9 = puVar9 + (uint)bVar22 * -2 + 1;\n        puVar18 = puVar18 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x100000) != 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", V3 architecture";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 3) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", FPU not used";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x60) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", regmode: COMMON";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x300) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", r4 not used";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0xc00) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", r30 not used";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x3000) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", r5 not used";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0xc000) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", r2 not used";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    uVar13 = (uint)local_38 & 0xffff;\n    if (uVar13 == 0) {\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    else {\n      do {\n        uVar12 = -uVar13 & uVar13;\n        puVar9 = &DAT_000b57a0;\n        if (uVar12 == 0x200) {\n          do {\n            puVar18 = puVar9;\n            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar12 = uVar17 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar12 == 0);\n          bVar20 = (uVar17 & 0x8080) == 0;\n          if (bVar20) {\n            uVar12 = uVar12 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                          ", r4 free",10);\n        }\n        else if (uVar12 < 0x201) {\n          if (uVar12 == 0x20) {\n            do {\n              puVar18 = puVar9;\n              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n              uVar12 = uVar17 & 0x80808080;\n              puVar9 = puVar18 + 1;\n            } while (uVar12 == 0);\n            bVar20 = (uVar17 & 0x8080) == 0;\n            if (bVar20) {\n              uVar12 = uVar12 >> 0x10;\n            }\n            if (bVar20) {\n              puVar9 = (uint *)((int)puVar18 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                            ", regmode:22",0xd);\n          }\n          else if (uVar12 < 0x21) {\n            if (uVar12 == 1) {\n              do {\n                puVar18 = puVar9;\n                uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n                uVar12 = uVar17 & 0x80808080;\n                puVar9 = puVar18 + 1;\n              } while (uVar12 == 0);\n              bVar20 = (uVar17 & 0x8080) == 0;\n              if (bVar20) {\n                uVar12 = uVar12 >> 0x10;\n              }\n              if (bVar20) {\n                puVar9 = (uint *)((int)puVar18 + 6);\n              }\n              builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12)))\n                              ,", double precision FPU",0x17);\n            }\n            else if (uVar12 == 2) {\n              do {\n                puVar18 = puVar9;\n                uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n                uVar12 = uVar17 & 0x80808080;\n                puVar9 = puVar18 + 1;\n              } while (uVar12 == 0);\n              bVar20 = (uVar17 & 0x8080) == 0;\n              if (bVar20) {\n                uVar12 = uVar12 >> 0x10;\n              }\n              if (bVar20) {\n                puVar9 = (uint *)((int)puVar18 + 6);\n              }\n              builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12)))\n                              ,", single precision FPU",0x17);\n            }\n          }\n          else if (uVar12 == 0x40) {\n            do {\n              puVar18 = puVar9;\n              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n              uVar12 = uVar17 & 0x80808080;\n              puVar9 = puVar18 + 1;\n            } while (uVar12 == 0);\n            bVar20 = (uVar17 & 0x8080) == 0;\n            if (bVar20) {\n              uVar12 = uVar12 >> 0x10;\n            }\n            if (bVar20) {\n              puVar9 = (uint *)((int)puVar18 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                            ", regmode:23",0xd);\n          }\n          else if (uVar12 == 0x100) {\n            do {\n              puVar18 = puVar9;\n              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n              uVar12 = uVar17 & 0x80808080;\n              puVar9 = puVar18 + 1;\n            } while (uVar12 == 0);\n            bVar20 = (uVar17 & 0x8080) == 0;\n            if (bVar20) {\n              uVar12 = uVar12 >> 0x10;\n            }\n            if (bVar20) {\n              puVar9 = (uint *)((int)puVar18 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                            ", r4 fixed",0xb);\n          }\n        }\n        else if (uVar12 == 0x1000) {\n          do {\n            puVar18 = puVar9;\n            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar12 = uVar17 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar12 == 0);\n          bVar20 = (uVar17 & 0x8080) == 0;\n          if (bVar20) {\n            uVar12 = uVar12 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                          ", r5 fixed",0xb);\n        }\n        else if (uVar12 < 0x1001) {\n          if (uVar12 == 0x400) {\n            do {\n              puVar18 = puVar9;\n              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n              uVar12 = uVar17 & 0x80808080;\n              puVar9 = puVar18 + 1;\n            } while (uVar12 == 0);\n            bVar20 = (uVar17 & 0x8080) == 0;\n            if (bVar20) {\n              uVar12 = uVar12 >> 0x10;\n            }\n            if (bVar20) {\n              puVar9 = (uint *)((int)puVar18 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                            ", r30 fixed",0xc);\n          }\n          else if (uVar12 == 0x800) {\n            do {\n              puVar18 = puVar9;\n              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n              uVar12 = uVar17 & 0x80808080;\n              puVar9 = puVar18 + 1;\n            } while (uVar12 == 0);\n            bVar20 = (uVar17 & 0x8080) == 0;\n            if (bVar20) {\n              uVar12 = uVar12 >> 0x10;\n            }\n            if (bVar20) {\n              puVar9 = (uint *)((int)puVar18 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                            ", r30 free",0xb);\n          }\n        }\n        else if (uVar12 == 0x4000) {\n          do {\n            puVar18 = puVar9;\n            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar12 = uVar17 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar12 == 0);\n          bVar20 = (uVar17 & 0x8080) == 0;\n          if (bVar20) {\n            uVar12 = uVar12 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                          ", r2 fixed",0xb);\n        }\n        else if (uVar12 == 0x8000) {\n          do {\n            puVar18 = puVar9;\n            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar12 = uVar17 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar12 == 0);\n          bVar20 = (uVar17 & 0x8080) == 0;\n          if (bVar20) {\n            uVar12 = uVar12 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                          ", r2 free",10);\n        }\n        else if (uVar12 == 0x2000) {\n          do {\n            puVar18 = puVar9;\n            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar12 = uVar17 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar12 == 0);\n          bVar20 = (uVar17 & 0x8080) == 0;\n          if (bVar20) {\n            uVar12 = uVar12 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                          ", r5 free",10);\n        }\n        uVar13 = uVar13 & uVar13 - 1;\n      } while (uVar13 != 0);\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    goto LAB_0003b840;\n  }\n  if (0x24 < uVar2) {\n    if (uVar2 == 0x32) {\n      if (((uint)local_38 & 0x10) == 0) {\n        DAT_000b57a0 = 0x3233202c;\n      }\n      else {\n        DAT_000b57a0 = 0x3436202c;\n      }\n      _DAT_000b57a8 = _DAT_000b57a8 & 0xffffff00;\n      DAT_000b57a4 = 0x7469622d;\n      if (((uint)local_38 & 0x20) != 0) {\n        uVar13 = 0xffffffff;\n        pcVar4 = (char *)&DAT_000b57a0;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar4 = ", reduced fp model";\n        pcVar5 = &DAT_000b579f + ~uVar13;\n        for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      if (((uint)local_38 & 0x80) == 0) {\n        if (((uint)local_38 & 0x40) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", constant gp";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n      }\n      else {\n        uVar13 = 0xffffffff;\n        pcVar4 = (char *)&DAT_000b57a0;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar4 = ", no function descriptors, constant gp";\n        pcVar5 = &DAT_000b579f + ~uVar13;\n        for (iVar11 = 0x27; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      if (((uint)local_38 & 0x100) != 0) {\n        uVar13 = 0xffffffff;\n        pcVar4 = (char *)&DAT_000b57a0;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar4 = ", absolute";\n        pcVar5 = &DAT_000b579f + ~uVar13;\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      if (param_1[0x17] == '\r') {\n        if (((uint)local_38 & 4) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", vms_linkages";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        uVar13 = (uint)local_38 & 3;\n        if (uVar13 == 2) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7265202c;\n          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x726f72;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 3) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6261202c;\n          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x74726f;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 1) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", warning";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else {\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 < 0x33) {\n      if (uVar2 == 0x2a) {\n        switch((uint)local_38 & 0x1f) {\n        default:\n          pcVar4 = (char *)dcgettext(0,", unknown ISA",5,&DAT_00076943);\n          strcat((char *)&DAT_000b57a0,pcVar4);\n          break;\n        case 1:\n          DAT_000b57a0 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x31);\n          break;\n        case 2:\n          DAT_000b57a0 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x32);\n          break;\n        case 3:\n          DAT_000b57a0 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x33);\n          break;\n        case 4:\n          pcVar4 = ", sh-dsp";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 5:\n          pcVar4 = ", sh3-dsp";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 6:\n          pcVar4 = ", sh4al-dsp";\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 8:\n          puVar8 = &UNK_0007cd94;\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined *)puVar19 = *puVar8;\n            puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n            puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n          }\n          break;\n        case 9:\n          DAT_000b57a0 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x34);\n          break;\n        case 10:\n          DAT_000b57a0 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x35);\n          break;\n        case 0xb:\n          puVar8 = &UNK_0007cd9b;\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined *)puVar19 = *puVar8;\n            puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n            puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n          }\n          break;\n        case 0xc:\n          puVar8 = &UNK_0007cda2;\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined *)puVar19 = *puVar8;\n            puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n            puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n          }\n          break;\n        case 0xd:\n          puVar8 = &UNK_0007cda9;\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined *)puVar19 = *puVar8;\n            puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n            puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n          }\n          break;\n        case 0x10:\n          pcVar4 = ", sh4-nofpu";\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x11:\n          pcVar4 = ", sh4a-nofpu";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x12:\n          pcVar4 = ", sh4-nommu-nofpu";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x13:\n          pcVar4 = ", sh2a-nofpu";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x14:\n          pcVar4 = ", sh3-nommu";\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x15:\n          pcVar4 = ", sh2a-nofpu-or-sh4-nommu-nofpu";\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 8; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x16:\n          pcVar4 = ", sh2a-nofpu-or-sh3-nommu";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0x1a; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x17:\n          pcVar4 = ", sh2a-or-sh4";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x18:\n          pcVar4 = ", sh2a-or-sh3e";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        local_34 = &DAT_000b57a0;\n        if (((uint)local_38 & 0x100) != 0) {\n          uVar13 = 0xffffffff;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6970202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 99;\n        }\n        if (((uint)local_38 & 0x8000) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          uVar13 = 0xffffffff;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)local_34;\n            local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6466202c;\n          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x636970;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 == 0x2b) {\n        if (((uint)local_38 & 0x100) != 0) {\n          DAT_000b57a0 = 0x3876202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x2b);\n        }\n        if (((uint)local_38 & 0x200) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", ultrasparcI";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x800) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", ultrasparcIII";\n          puVar19 = (undefined4 *)(&DAT_000b579f + ~uVar13);\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x400) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6168202c;\n          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x31726c;\n        }\n        if (((uint)local_38 & 0x800000) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", ledata";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        uVar13 = (uint)local_38 & 3;\n        if (uVar13 == 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7374202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x6f;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 1) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7370202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x6f;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 2) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6d72202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x6f;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 == 0x28) {\n        uVar13 = (uint)local_38 & 0xff000000;\n        if (((uint)local_38 & 1) == 0) {\n          local_38 = (char *)((uint)local_38 & 0xffffff);\n          pcVar4 = (char *)&DAT_000b57a0;\n        }\n        else {\n          pcVar4 = &DAT_000b57b8;\n          pcVar5 = ", relocatable executable";\n          pcVar14 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0x19; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar14 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            pcVar14 = pcVar14 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = (char *)((uint)local_38 & 0xfffffe);\n        }\n        local_34 = &DAT_000b57a0;\n        if (((uint)local_38 & 0x20) != 0) {\n          pcVar5 = ", position independent";\n          for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar4 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = (char *)((uint)local_38 & 0xffffffdf);\n          uVar12 = 0xffffffff;\n          puVar9 = local_34;\n          do {\n            if (uVar12 == 0) break;\n            uVar12 = uVar12 - 1;\n            uVar17 = *puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while ((char)uVar17 != '\0');\n          pcVar4 = &DAT_000b579f + ~uVar12;\n        }\n        if (uVar13 == 0x2000000) {\n          bVar20 = false;\n          pcVar5 = ", Version2 EABI";\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n            pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n          }\n          if (local_38 != (char *)0x0) {\n            do {\n              uVar13 = -(int)local_38 & (uint)local_38;\n              local_38 = (char *)((uint)local_38 & ~uVar13);\n              if (uVar13 == 8) {\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                pcVar4 = ", dynamic symbols use segment index";\n                puVar19 = (undefined4 *)(&DAT_000b579f + ~uVar13);\n                for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n                  *puVar19 = *(undefined4 *)pcVar4;\n                  pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                }\n              }\n              else if (uVar13 == 0x10) {\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                pcVar4 = ", mapping symbols precede others";\n                pcVar5 = &DAT_000b579f + ~uVar13;\n                for (iVar11 = 0x21; iVar11 != 0; iVar11 = iVar11 + -1) {\n                  *pcVar5 = *pcVar4;\n                  pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                  pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                }\n              }\n              else if (uVar13 == 4) {\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                pcVar4 = ", sorted symbol tables";\n                pcVar5 = &DAT_000b579f + ~uVar13;\n                for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {\n                  *pcVar5 = *pcVar4;\n                  pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                  pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                }\n              }\n              else {\n                bVar20 = true;\n              }\n            } while (local_38 != (char *)0x0);\n            goto LAB_0003d8e9;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 < 0x2000001) {\n          if (uVar13 == 0) {\n            bVar20 = false;\n            pcVar5 = ", GNU EABI";\n            for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar4 = *pcVar5;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            }\n            if (local_38 != (char *)0x0) {\n              do {\n                uVar13 = -(int)local_38 & (uint)local_38;\n                local_38 = (char *)((uint)local_38 & ~uVar13);\n                if (uVar13 == 0x40) {\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  pcVar4 = ", 8 bit structure alignment";\n                  puVar19 = (undefined4 *)(&DAT_000b579f + ~uVar13);\n                  for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n                    *puVar19 = *(undefined4 *)pcVar4;\n                    pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n                    puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                  }\n                }\n                else if (uVar13 < 0x41) {\n                  if (uVar13 == 8) {\n                    uVar13 = 0xffffffff;\n                    puVar9 = local_34;\n                    do {\n                      if (uVar13 == 0) break;\n                      uVar13 = uVar13 - 1;\n                      uVar12 = *puVar9;\n                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                    } while ((char)uVar12 != '\0');\n                    pcVar4 = ", uses APCS/26";\n                    pcVar5 = &DAT_000b579f + ~uVar13;\n                    for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n                      *pcVar5 = *pcVar4;\n                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                    }\n                  }\n                  else if (uVar13 < 9) {\n                    if (uVar13 == 4) {\n                      uVar13 = 0xffffffff;\n                      puVar9 = local_34;\n                      do {\n                        if (uVar13 == 0) break;\n                        uVar13 = uVar13 - 1;\n                        uVar12 = *puVar9;\n                        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                      } while ((char)uVar12 != '\0');\n                      pcVar4 = ", interworking enabled";\n                      pcVar5 = &DAT_000b579f + ~uVar13;\n                      for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {\n                        *pcVar5 = *pcVar4;\n                        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                      }\n                    }\n                    else {\nLAB_0003edd8:\n                      bVar20 = true;\n                    }\n                  }\n                  else if (uVar13 == 0x10) {\n                    uVar13 = 0xffffffff;\n                    puVar9 = local_34;\n                    do {\n                      if (uVar13 == 0) break;\n                      uVar13 = uVar13 - 1;\n                      uVar12 = *puVar9;\n                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                    } while ((char)uVar12 != '\0');\n                    pcVar4 = ", uses APCS/float";\n                    pcVar5 = &DAT_000b579f + ~uVar13;\n                    for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {\n                      *pcVar5 = *pcVar4;\n                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                    }\n                  }\n                  else {\n                    if (uVar13 != 0x20) goto LAB_0003edd8;\n                    uVar13 = 0xffffffff;\n                    puVar9 = local_34;\n                    do {\n                      if (uVar13 == 0) break;\n                      uVar13 = uVar13 - 1;\n                      uVar12 = *puVar9;\n                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                    } while ((char)uVar12 != '\0');\n                    pcVar4 = ", position independent";\n                    pcVar5 = &DAT_000b579f + ~uVar13;\n                    for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {\n                      *pcVar5 = *pcVar4;\n                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                    }\n                  }\n                }\n                else if (uVar13 == 0x200) {\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  pcVar4 = ", software FP";\n                  pcVar5 = &DAT_000b579f + ~uVar13;\n                  for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n                    *pcVar5 = *pcVar4;\n                    pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                  }\n                }\n                else if (uVar13 < 0x201) {\n                  if (uVar13 == 0x80) {\n                    uVar13 = 0xffffffff;\n                    puVar9 = local_34;\n                    do {\n                      if (uVar13 == 0) break;\n                      uVar13 = uVar13 - 1;\n                      uVar12 = *puVar9;\n                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                    } while ((char)uVar12 != '\0');\n                    pcVar4 = ", uses new ABI";\n                    pcVar5 = &DAT_000b579f + ~uVar13;\n                    for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n                      *pcVar5 = *pcVar4;\n                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                    }\n                  }\n                  else {\n                    if (uVar13 != 0x100) goto LAB_0003edd8;\n                    uVar13 = 0xffffffff;\n                    puVar9 = local_34;\n                    do {\n                      if (uVar13 == 0) break;\n                      uVar13 = uVar13 - 1;\n                      uVar12 = *puVar9;\n                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                    } while ((char)uVar12 != '\0');\n                    pcVar4 = ", uses old ABI";\n                    pcVar5 = &DAT_000b579f + ~uVar13;\n                    for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n                      *pcVar5 = *pcVar4;\n                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                    }\n                  }\n                }\n                else if (uVar13 == 0x400) {\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x4656202c;\n                  *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x50;\n                }\n                else {\n                  if (uVar13 != 0x800) goto LAB_0003edd8;\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  pcVar4 = ", Maverick FP";\n                  pcVar5 = &DAT_000b579f + ~uVar13;\n                  for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n                    *pcVar5 = *pcVar4;\n                    pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                  }\n                }\n              } while (local_38 != (char *)0x0);\n              goto LAB_0003d8e9;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else if (uVar13 == 0x1000000) {\n            bVar20 = false;\n            pcVar5 = ", Version1 EABI";\n            for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n              pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n              pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            }\n            if (local_38 != (char *)0x0) {\n              do {\n                uVar13 = -(int)local_38 & (uint)local_38;\n                local_38 = (char *)((uint)local_38 & ~uVar13);\n                if (uVar13 == 4) {\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  pcVar4 = ", sorted symbol tables";\n                  pcVar5 = &DAT_000b579f + ~uVar13;\n                  for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {\n                    *pcVar5 = *pcVar4;\n                    pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                  }\n                }\n                else {\n                  bVar20 = true;\n                }\n              } while (local_38 != (char *)0x0);\n              goto LAB_0003d8e9;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\nLAB_0003c1eb:\n            pcVar5 = ", <unrecognized EABI>";\n            for (iVar11 = 0x16; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar4 = *pcVar5;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            }\n            if (local_38 == (char *)0x0) {\n              local_38 = *(char **)(param_1 + 0x3c);\n            }\n            else {\nLAB_0003d8f4:\n              pcVar4 = (char *)dcgettext(0,", <unknown>",5);\n              strcat((char *)&DAT_000b57a0,pcVar4);\n              local_38 = *(char **)(param_1 + 0x3c);\n            }\n          }\n        }\n        else if (uVar13 == 0x4000000) {\n          pcVar5 = ", Version4 EABI";\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n            pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n          }\n          bVar20 = false;\n          if (local_38 == (char *)0x0) {\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\n            do {\n              uVar13 = -(int)local_38 & (uint)local_38;\n              local_38 = (char *)((uint)local_38 & ~uVar13);\n              puVar9 = local_34;\n              if (uVar13 == 0x400000) {\n                do {\n                  puVar18 = puVar9;\n                  uVar12 = *puVar18 + 0xfefefeff & ~*puVar18;\n                  uVar13 = uVar12 & 0x80808080;\n                  puVar9 = puVar18 + 1;\n                } while (uVar13 == 0);\n                bVar21 = (uVar12 & 0x8080) == 0;\n                if (bVar21) {\n                  uVar13 = uVar13 >> 0x10;\n                }\n                if (bVar21) {\n                  puVar9 = (uint *)((int)puVar18 + 6);\n                }\n                builtin_strncpy((char *)((int)puVar9 +\n                                        (-3 - (uint)CARRY1((byte)uVar13,(byte)uVar13))),", LE8",6);\n              }\n              else if (uVar13 == 0x800000) {\n                do {\n                  puVar18 = puVar9;\n                  uVar12 = *puVar18 + 0xfefefeff & ~*puVar18;\n                  uVar13 = uVar12 & 0x80808080;\n                  puVar9 = puVar18 + 1;\n                } while (uVar13 == 0);\n                bVar21 = (uVar12 & 0x8080) == 0;\n                if (bVar21) {\n                  uVar13 = uVar13 >> 0x10;\n                }\n                if (bVar21) {\n                  puVar9 = (uint *)((int)puVar18 + 6);\n                }\n                builtin_strncpy((char *)((int)puVar9 +\n                                        (-3 - (uint)CARRY1((byte)uVar13,(byte)uVar13))),", BE8",6);\n              }\n              else {\n                bVar20 = true;\n              }\n            } while (local_38 != (char *)0x0);\nLAB_0003d8e9:\n            if (bVar20) goto LAB_0003d8f4;\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else if (uVar13 == 0x5000000) {\n          bVar20 = false;\n          pcVar5 = ", Version5 EABI";\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n            pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n          }\n          if (local_38 != (char *)0x0) {\n            do {\n              uVar13 = -(int)local_38 & (uint)local_38;\n              local_38 = (char *)((uint)local_38 & ~uVar13);\n              if (uVar13 == 0x400) {\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                pcVar4 = ", hard-float ABI";\n                pcVar5 = &DAT_000b579f + ~uVar13;\n                for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n                  *pcVar5 = *pcVar4;\n                  pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                  pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                }\n              }\n              else if (uVar13 < 0x401) {\n                if (uVar13 == 0x200) {\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  pcVar4 = ", soft-float ABI";\n                  pcVar5 = &DAT_000b579f + ~uVar13;\n                  for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n                    *pcVar5 = *pcVar4;\n                    pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                  }\n                }\n                else {\nLAB_0003ef43:\n                  bVar20 = true;\n                }\n              }\n              else if (uVar13 == 0x400000) {\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x454c202c;\n                *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x38;\n              }\n              else {\n                if (uVar13 != 0x800000) goto LAB_0003ef43;\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x4542202c;\n                *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x38;\n              }\n            } while (local_38 != (char *)0x0);\n            goto LAB_0003d8e9;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          if (uVar13 != 0x3000000) goto LAB_0003c1eb;\n          pcVar5 = ", Version3 EABI";\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n            pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    else if (uVar2 == 0x53) {\n      switch((uint)local_38 & 0x7f) {\n      default:\n        pcVar4 = ", avr:<unknown>";\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *puVar19 = *(undefined4 *)pcVar4;\n          pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n          puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n        }\n        break;\n      case 1:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x313a72;\n        break;\n      case 2:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x323a72;\n        break;\n      case 3:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x333a72;\n        break;\n      case 4:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x343a72;\n        break;\n      case 5:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x353a72;\n        break;\n      case 6:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x363a72;\n        break;\n      case 0x19:\n        puVar8 = &UNK_0007c7e5;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x1f:\n        puVar8 = &UNK_0007c7ee;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x23:\n        puVar8 = &UNK_0007c7f7;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x33:\n        puVar8 = &UNK_0007c800;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 100:\n        puVar8 = &UNK_0007c809;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x65:\n        puVar8 = &UNK_0007c813;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x66:\n        puVar8 = &UNK_0007c81d;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n\nbfd_boolean __regparm3 process_file_header(Filedata *filedata)\n\n{\n  uchar uVar1;\n  char cVar2;\n  ushort uVar3;\n  Elf_Internal_Shdr *__ptr;\n  ulong uVar4;\n  char **ppcVar5;\n  undefined *puVar6;\n  char *pcVar7;\n  char *pcVar8;\n  char *pcVar9;\n  Elf32_Ehdr *pEVar10;\n  int iVar11;\n  undefined1 *puVar12;\n  uint *puVar13;\n  Filedata *pFVar14;\n  size_t sVar15;\n  int extraout_ECX;\n  undefined4 extraout_ECX_00;\n  undefined4 extraout_ECX_01;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  undefined4 uVar16;\n  int iVar17;\n  undefined4 extraout_ECX_04;\n  undefined4 extraout_ECX_05;\n  undefined4 extraout_ECX_06;\n  undefined4 extraout_ECX_07;\n  undefined4 extraout_ECX_08;\n  undefined4 extraout_ECX_09;\n  undefined4 extraout_ECX_10;\n  undefined4 extraout_ECX_11;\n  undefined4 extraout_ECX_12;\n  undefined4 extraout_ECX_13;\n  undefined4 extraout_ECX_14;\n  undefined4 extraout_ECX_15;\n  undefined4 extraout_ECX_16;\n  undefined4 extraout_ECX_17;\n  undefined4 extraout_ECX_18;\n  undefined4 extraout_ECX_19;\n  undefined4 extraout_ECX_20;\n  uint uVar18;\n  uint uVar19;\n  Filedata *pFVar20;\n  Filedata *extraout_EDX;\n  undefined4 extraout_EDX_00;\n  Filedata *extraout_EDX_01;\n  byte bVar21;\n  uint uVar22;\n  uint *puVar23;\n  undefined4 *puVar24;\n  Filedata *pFVar25;\n  bool bVar26;\n  bool bVar27;\n  byte bVar28;\n  char *local_40;\n  char *local_3c;\n  Filedata *local_38;\n  Filedata *local_34;\n  Elf_Internal_Ehdr *local_30;\n  char abi [8];\n  \n  bVar28 = 0;\n  if (*(int *)(filedata->file_header).e_ident != 0x464c457f) {\n    pcVar7 = (char *)dcgettext(0,"Not an ELF file - it has the wrong magic bytes at the start\n",5);\n    error(pcVar7);\n    return 0;\n  }\n  init_dwarf_regnames((uint)(filedata->file_header).e_machine);\n  if (do_header == 0) goto LAB_0003b371;\n  pcVar7 = (char *)dcgettext(0,"ELF Header:\n",5);\n  printf(pcVar7);\n  pcVar7 = (char *)dcgettext(0,"  Magic:   ",5);\n  printf(pcVar7);\n  local_30 = &filedata->file_header;\n  do {\n    printf("%2.2x ",(uint)local_30->e_ident[0]);\n    local_30 = (Elf_Internal_Ehdr *)(local_30->e_ident + 1);\n  } while ((Elf_Internal_Ehdr *)&(filedata->file_header).e_entry != local_30);\n  putchar(10);\n  uVar1 = (filedata->file_header).e_ident[4];\n  pcVar7 = "ELF32";\n  if (uVar1 != '\x01') {\n    if (uVar1 == '\0') {\n      pcVar7 = (char *)dcgettext(0,&DAT_00076afd,5);\n    }\n    else {\n      pcVar7 = "ELF64";\n      if (uVar1 != '\x02') {\n        pcVar7 = (char *)dcgettext(0,"<unknown: %x>",5);\n        snprintf(buff_17378,0x20,pcVar7,uVar1);\n        pcVar7 = buff_17378;\n      }\n    }\n  }\n  pcVar8 = (char *)dcgettext(0,"  Class:                             %s\n",5);\n  printf(pcVar8,pcVar7);\n  uVar1 = (filedata->file_header).e_ident[5];\n  if (uVar1 == '\x01') {\n    pcVar7 = "2\'s complement, little endian";\nLAB_0003c46b:\n    puVar12 = (undefined1 *)dcgettext(0,pcVar7,5);\n  }\n  else {\n    if (uVar1 == '\0') {\n      pcVar7 = "none";\n      goto LAB_0003c46b;\n    }\n    if (uVar1 == '\x02') {\n      pcVar7 = "2\'s complement, big endian";\n      goto LAB_0003c46b;\n    }\n    puVar12 = buff_17386;\n    pcVar7 = (char *)dcgettext(0,"<unknown: %x>",5);\n    snprintf(buff_17386,0x20,pcVar7,uVar1);\n  }\n  pcVar8 = (char *)dcgettext(0,"  Data:                              %s\n",5);\n  pcVar7 = "(current)";\n  printf(pcVar8,puVar12);\n  bVar21 = (filedata->file_header).e_ident[6];\n  if ((bVar21 != 1) && (pcVar7 = "", bVar21 != 0)) {\n    pcVar7 = (char *)dcgettext(0,"<unknown: %lx>",5);\n    bVar21 = (filedata->file_header).e_ident[6];\n  }\n  pcVar8 = (char *)dcgettext(0,"  Version:                           %d %s\n",5);\n  printf(pcVar8,(uint)bVar21,pcVar7);\n  pcVar7 = get_osabi_name((Filedata *)&(filedata->file_header).e_machine,\n                          (uint)(filedata->file_header).e_ident[7]);\n  pcVar8 = (char *)dcgettext(0,"  OS/ABI:                            %s\n",5);\n  printf(pcVar8,pcVar7);\n  bVar21 = (filedata->file_header).e_ident[8];\n  pcVar7 = (char *)dcgettext(0,"  ABI Version:                       %d\n",5);\n  printf(pcVar7,(uint)bVar21);\n  pcVar7 = get_file_type((uint)(filedata->file_header).e_type);\n  pcVar8 = (char *)dcgettext(0,"  Type:                              %s\n",5);\n  printf(pcVar8,pcVar7);\n  pcVar7 = get_machine_name((uint)(filedata->file_header).e_machine);\n  pcVar8 = (char *)dcgettext(0,"  Machine:                           %s\n",5);\n  printf(pcVar8,pcVar7);\n  uVar4 = (filedata->file_header).e_version;\n  pcVar8 = (char *)dcgettext(0,"  Version:                           0x%lx\n",5);\n  pcVar7 = "%lld";\n  printf(pcVar8,uVar4);\n  pcVar8 = "  Entry point address:               ";\n  pcVar9 = (char *)dcgettext(0,"  Entry point address:               ",5);\n  printf(pcVar9);\n  print_vma(CONCAT44(pcVar8,pcVar9),(print_mode)(filedata->file_header).e_entry);\n  pcVar8 = (char *)dcgettext(0,"\n  Start of program headers:          ",5);\n  printf(pcVar8);\n  printf("%lld",(int)(filedata->file_header).e_phoff,\n         *(undefined4 *)((int)&(filedata->file_header).e_phoff + 4));\n  pcVar8 = (char *)dcgettext(0," (bytes into file)\n  Start of section headers:          ",5);\n  printf(pcVar8);\n  printf("%lld",(int)(filedata->file_header).e_shoff,\n         *(undefined4 *)((int)&(filedata->file_header).e_shoff + 4));\n  pcVar8 = (char *)dcgettext(0," (bytes into file)\n",5);\n  printf(pcVar8);\n  local_38 = (Filedata *)(filedata->file_header).e_flags;\n  uVar3 = (filedata->file_header).e_machine;\n  buf_16750 = buf_16750 & 0xffffff00;\n  if (local_38 == (Filedata *)0x0) goto LAB_0003b840;\n  if (uVar3 == 0x5b) {\nLAB_0003bdf2:\n    if (((uint)local_38 & 0x10) != 0) {\n      pcVar7 = ", new calling convention";\n      pcVar8 = (char *)&buf_16750;\n      for (iVar17 = 0x19; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *pcVar8 = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x20) == 0) {\n      local_38 = (Filedata *)(filedata->file_header).e_flags;\n    }\n    else {\n      uVar19 = 0xffffffff;\n      pcVar7 = (char *)&buf_16750;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        cVar2 = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n      } while (cVar2 != '\0');\n      pcVar7 = ", gnu calling convention";\n      pcVar8 = &DAT_000b579f + ~uVar19;\n      for (iVar17 = 0x19; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *pcVar8 = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n      }\n      local_38 = (Filedata *)(filedata->file_header).e_flags;\n    }\n    goto LAB_0003b840;\n  }\n  if (0x5b < uVar3) {\n    if (uVar3 == 0xc3) {\nLAB_0003cc32:\n      switch((uint)local_38 & 0xff) {\n      default:\n        if (uVar3 == 0x5d) {\n          puVar13 = (uint *)", Unknown ARCompact";\n          puVar23 = &buf_16750;\n          for (iVar17 = 5; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar23 = *puVar13;\n            puVar13 = puVar13 + (uint)bVar28 * -2 + 1;\n            puVar23 = puVar23 + (uint)bVar28 * -2 + 1;\n          }\n        }\n        else {\n          pcVar7 = ", Unknown ARC";\n          puVar13 = &buf_16750;\n          for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *(char *)puVar13 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n          }\n        }\n        break;\n      case 2:\n        pcVar7 = ", ARC600";\n        puVar13 = &buf_16750;\n        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *(char *)puVar13 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n        }\n        break;\n      case 3:\n        pcVar7 = ", ARC700";\n        puVar13 = &buf_16750;\n        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *(char *)puVar13 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n        }\n        break;\n      case 4:\n        pcVar7 = ", ARC601";\n        puVar13 = &buf_16750;\n        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *(char *)puVar13 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n        }\n        break;\n      case 5:\n        pcVar7 = ", ARC EM";\n        puVar13 = &buf_16750;\n        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *(char *)puVar13 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n        }\n        break;\n      case 6:\n        pcVar7 = ", ARC HS";\n        puVar13 = &buf_16750;\n        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *(char *)puVar13 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n        }\n      }\n      uVar19 = (uint)local_38 & 0xf00;\n      puVar13 = &buf_16750;\n      do {\n        puVar23 = puVar13;\n        uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;\n        uVar18 = uVar22 & 0x80808080;\n        puVar13 = puVar23 + 1;\n      } while (uVar18 == 0);\n      bVar26 = (uVar22 & 0x8080) == 0;\n      if (bVar26) {\n        uVar18 = uVar18 >> 0x10;\n      }\n      if (bVar26) {\n        puVar13 = (uint *)((int)puVar23 + 6);\n      }\n      pcVar7 = (char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)));\n      if (uVar19 == 0x200) {\n        pcVar8 = ", (ABI:v2)";\n        for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *pcVar7 = *pcVar8;\n          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        }\n        local_38 = (Filedata *)(filedata->file_header).e_flags;\n      }\n      else if (uVar19 < 0x201) {\n        if (uVar19 == 0) {\n          pcVar8 = ", (ABI:legacy)";\n          for (iVar17 = 0xf; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar7 = *pcVar8;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          }\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else {\nLAB_0003e7fe:\n          pcVar8 = ", unrecognised ARC OSABI flag";\n          for (iVar17 = 0x1e; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar7 = *pcVar8;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          }\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n      }\n      else if (uVar19 == 0x300) {\n        pcVar8 = ", v3 no-legacy-syscalls ABI";\n        for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *(undefined4 *)pcVar7 = *(undefined4 *)pcVar8;\n          pcVar8 = pcVar8 + ((uint)bVar28 * -2 + 1) * 4;\n          pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;\n        }\n        local_38 = (Filedata *)(filedata->file_header).e_flags;\n      }\n      else {\n        if (uVar19 != 0x400) goto LAB_0003e7fe;\n        pcVar8 = ", v4 ABI";\n        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *pcVar7 = *pcVar8;\n          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        }\n        local_38 = (Filedata *)(filedata->file_header).e_flags;\n      }\n    }\n    else if (uVar3 < 0xc4) {\n      if (uVar3 == 0x69) {\n        pcVar7 = (char *)dcgettext(0,": architecture variant: ",5);\n        puVar13 = &buf_16750;\n        do {\n          puVar23 = puVar13;\n          uVar18 = *puVar23 + 0xfefefeff & ~*puVar23;\n          uVar19 = uVar18 & 0x80808080;\n          puVar13 = puVar23 + 1;\n        } while (uVar19 == 0);\n        bVar26 = (uVar18 & 0x8080) == 0;\n        if (bVar26) {\n          uVar19 = uVar19 >> 0x10;\n        }\n        if (bVar26) {\n          puVar13 = (uint *)((int)puVar23 + 6);\n        }\n        pcVar8 = stpcpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar19,(byte)uVar19))),\n                        pcVar7);\n        uVar19 = ((uint)local_38 & 0xff) - 0xb;\n        iVar17 = extraout_ECX;\n        if (uVar19 < 100) {\n          iVar17 = (int)&_GLOBAL_OFFSET_TABLE_ + (&switchD_0003d36f::switchdataD_0008dec0)[uVar19];\n          switch((uint)local_38 & 0xff) {\n          case 0xb:\n            pcVar7 = "MSP430x11";\n            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            break;\n          case 0xc:\n            pcVar7 = "MSP430x12";\n            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            break;\n          case 0xd:\n            pcVar7 = "MSP430x13";\n            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            break;\n          case 0xe:\n            pcVar7 = "MSP430x14";\n            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            break;\n          case 0xf:\n            pcVar7 = "MSP430x15";\n            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            break;\n          case 0x10:\n            pcVar7 = "MSP430x16";\n            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            break;\n          default:\n            goto _L11134;\n          case 0x1f:\n            pcVar7 = "MSP430x31";\n            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            break;\n          case 0x20:\n            pcVar7 = "MSP430x32";\n            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            break;\n          case 0x21:\n            pcVar7 = "MSP430x33";\n            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            break;\n          case 0x29:\n            pcVar7 = "MSP430x41";\n            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            break;\n          case 0x2a:\n            pcVar7 = "MSP430x42";\n            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            break;\n          case 0x2b:\n            pcVar7 = "MSP430x43";\n            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            break;\n          case 0x2c:\n            pcVar7 = "MSP430x44";\n            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            break;\n          case 0x2d:\n            builtin_strncpy(pcVar8,"MSP430X",8);\n            break;\n          case 0x6e:\n            pcVar7 = "MSP430x11x1 ";\n            for (iVar17 = 0xd; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n          }\n        }\n        else {\n_L11134:\n          pcVar7 = (char *)0x0;\n          pcVar8 = (char *)dcgettext(0,": unknown",5,iVar17);\n          strcat((char *)&buf_16750,pcVar8);\n        }\n        if (((uint)local_38 & 0xffffff00) == 0) {\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else {\n          pcVar7 = (char *)dcgettext(0,": unknown extra flag bits also present",5,pcVar7);\n          strcat((char *)&buf_16750,pcVar7);\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n      }\n      else if (uVar3 < 0x6a) {\n        if (uVar3 == 0x5d) goto LAB_0003cc32;\n        if (uVar3 < 0x5d) {\n          if (((uint)local_38 & 1) != 0) {\n            pcVar7 = ", no delay";\n            pcVar8 = (char *)&buf_16750;\n            for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            local_38 = (Filedata *)(filedata->file_header).e_flags;\n          }\n        }\n        else if (uVar3 == 99) goto LAB_0003bdf2;\n      }\n      else if (uVar3 == 0x8c) {\n        if (((uint)local_38 & 1) != 0) {\n          pcVar7 = ", relocatable module";\n          puVar13 = &buf_16750;\n          for (iVar17 = 0x15; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *(char *)puVar13 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n          }\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n      }\n      else if (uVar3 < 0x8d) {\n        if (uVar3 == 0x6a) {\n          if (((uint)local_38 & 1) != 0) {\n            buf_16750 = 0x4950202c;\n            DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x43);\n          }\n          if (((uint)local_38 & 2) != 0) {\n            uVar19 = 0xffffffff;\n            pcVar7 = (char *)&buf_16750;\n            do {\n              if (uVar19 == 0) break;\n              uVar19 = uVar19 - 1;\n              cVar2 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            } while (cVar2 != '\0');\n            *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x4446202c;\n            *(undefined4 *)((int)&buf_16750 + ~uVar19 + 3) = 0x434950;\n          }\n          if (((uint)local_38 & 0x10) != 0) {\n            uVar19 = 0xffffffff;\n            pcVar7 = (char *)&buf_16750;\n            do {\n              if (uVar19 == 0) break;\n              uVar19 = uVar19 - 1;\n              cVar2 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            } while (cVar2 != '\0');\n            pcVar7 = ", code in L1";\n            pcVar8 = &DAT_000b579f + ~uVar19;\n            for (iVar17 = 0xd; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n          }\n          if (((uint)local_38 & 0x20) == 0) {\n            local_38 = (Filedata *)(filedata->file_header).e_flags;\n          }\n          else {\n            uVar19 = 0xffffffff;\n            pcVar7 = (char *)&buf_16750;\n            do {\n              if (uVar19 == 0) break;\n              uVar19 = uVar19 - 1;\n              cVar2 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            } while (cVar2 != '\0');\n            pcVar7 = ", data in L1";\n            pcVar8 = &DAT_000b579f + ~uVar19;\n            for (iVar17 = 0xd; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            local_38 = (Filedata *)(filedata->file_header).e_flags;\n          }\n        }\n      }\n      else if (uVar3 == 0xa7) {\n        uVar19 = (uint)local_38 & 0xf0000000;\n        uVar18 = (uint)local_38 & 0xf0;\n        puVar24 = &buf_16750;\n        for (iVar17 = 0x100; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *puVar24 = 0;\n          puVar24 = puVar24 + (uint)bVar28 * -2 + 1;\n        }\n        if (uVar18 == 0x20) {\nLAB_0003d15d:\n          iVar17 = snprintf((char *)&buf_16750,0x400,", %s",\n                            *(undefined4 *)(ABI_STRINGS_16718 + (uVar18 >> 4) * 4));\n        }\n        else {\n          if (uVar18 < 0x21) {\n            if ((uVar18 == 0) || (uVar18 == 0x10)) goto LAB_0003d15d;\n          }\n          else if ((uVar18 == 0x40) || ((uVar18 == 0x50 || (uVar18 == 0x30)))) goto LAB_0003d15d;\n          buf_16750 = 0x753c202c;\n          iVar17 = 0x14;\n          DAT_000b57a4 = 0x6365726e;\n          _DAT_000b57a8 = 0x696e676f;\n          DAT_000b57ac = 0x2064657a;\n          DAT_000b57b0 = 0x3e494241;\n          DAT_000b57b4 = 0;\n        }\n        if (((uint)local_38 & 0xf) < 3) {\n          iVar11 = snprintf((char *)((int)&buf_16750 + iVar17),0x400U - iVar17,", %s",\n                            *(undefined4 *)(VER_STRINGS_16719 + ((uint)local_38 & 0xf) * 4));\n          uVar22 = iVar17 + iVar11;\n        }\n        else {\n          uVar22 = iVar17 + 0x23;\n          snprintf((char *)((int)&buf_16750 + iVar17),0x400U - iVar17,\n                   ", <unrecognized ELF version number>");\n        }\n        sVar15 = 0x400 - uVar22;\n        pcVar7 = (char *)((int)&buf_16750 + uVar22);\n        if (uVar18 == 0) {\n          iVar17 = snprintf(pcVar7,sVar15,", Andes Star v1.0, N1213HC, MAC, PERF1",&buf_16750);\n          if (uVar19 == 0x10000000) {\n            snprintf((char *)(uVar22 + 0xb57c6),0x400 - (uVar22 + 0x26),", 16b",iVar17);\n            local_38 = (Filedata *)(filedata->file_header).e_flags;\n          }\n          else {\n            local_38 = (Filedata *)(filedata->file_header).e_flags;\n          }\n        }\n        else if (uVar19 == 0x20000000) {\nLAB_0003d678:\n          iVar17 = snprintf(pcVar7,sVar15,", %s",\n                            *(undefined4 *)(ARCH_STRINGS_16720 + ((uint)local_38 >> 0x1c) * 4));\n          iVar17 = iVar17 + uVar22;\n          uVar18 = (uint)local_38 & 0x100;\n          uVar16 = extraout_ECX_00;\n          if (uVar19 == 0x10000000) {\n            if (uVar18 != 0) {\n              sVar15 = 0x400 - iVar17;\n              pcVar7 = (char *)((int)&buf_16750 + iVar17);\n              iVar17 = iVar17 + 10;\n              uVar18 = snprintf(pcVar7,sVar15,", MFUSR_PC",uVar18);\n              uVar16 = extraout_ECX_20;\n            }\n            if (((uint)local_38 & 0x100000) == 0) {\n              sVar15 = 0x400 - iVar17;\n              pcVar7 = (char *)((int)&buf_16750 + iVar17);\n              iVar17 = iVar17 + 5;\n              uVar18 = snprintf(pcVar7,sVar15,", MAC",uVar18);\n              uVar16 = extraout_ECX_19;\n            }\n            if (((uint)local_38 & 0x2000) != 0) {\n              sVar15 = 0x400 - iVar17;\n              pcVar7 = (char *)((int)&buf_16750 + iVar17);\n              iVar17 = iVar17 + 5;\n              uVar18 = snprintf(pcVar7,sVar15,", DIV",uVar18);\n              uVar16 = extraout_ECX_18;\n            }\n            if (((uint)local_38 & 0x4000) != 0) {\n              sVar15 = 0x400 - iVar17;\n              pcVar7 = (char *)((int)&buf_16750 + iVar17);\n              iVar17 = iVar17 + 5;\n              uVar18 = snprintf(pcVar7,sVar15,", 16b",uVar18);\n              uVar16 = extraout_ECX_10;\n            }\n          }\n          else {\n            if (uVar18 != 0) {\n              sVar15 = 0x400 - iVar17;\n              pcVar7 = (char *)((int)&buf_16750 + iVar17);\n              if (((uint)local_38 & 0xe) == 0) {\n                iVar17 = iVar17 + 6;\n                uVar18 = snprintf(pcVar7,sVar15,", [B8]",uVar22);\n                uVar16 = extraout_ECX_01;\n              }\n              else {\n                iVar17 = iVar17 + 5;\n                uVar18 = snprintf(pcVar7,sVar15,", EX9",extraout_EDX_00);\n                uVar16 = extraout_ECX_11;\n              }\n            }\n            if (((uint)local_38 & 0x100000) != 0) {\n              sVar15 = 0x400 - iVar17;\n              pcVar7 = (char *)((int)&buf_16750 + iVar17);\n              iVar17 = iVar17 + 8;\n              uVar18 = snprintf(pcVar7,sVar15,", MAC_DX",uVar18);\n              uVar16 = extraout_ECX_09;\n            }\n            if (((uint)local_38 & 0x2000) != 0) {\n              sVar15 = 0x400 - iVar17;\n              pcVar7 = (char *)((int)&buf_16750 + iVar17);\n              iVar17 = iVar17 + 8;\n              uVar18 = snprintf(pcVar7,sVar15,", DIV_DX",uVar18);\n              uVar16 = extraout_ECX_14;\n            }\n            if (((uint)local_38 & 0x4000) != 0) {\n              sVar15 = 0x400 - iVar17;\n              pcVar7 = (char *)((int)&buf_16750 + iVar17);\n              uVar19 = (uint)local_38 & 0xffffff0e;\n              if (((uint)local_38 & 0xe) == 0) {\n                pcVar8 = ", 16b";\n                uVar19 = uVar22;\n              }\n              else {\n                pcVar8 = ", IFC";\n              }\n              iVar17 = iVar17 + 5;\n              uVar18 = snprintf(pcVar7,sVar15,pcVar8,uVar19);\n              uVar16 = extraout_ECX_02;\n            }\n          }\n          if (((uint)local_38 & 0x200) != 0) {\n            sVar15 = 0x400 - iVar17;\n            pcVar7 = (char *)((int)&buf_16750 + iVar17);\n            iVar17 = iVar17 + 7;\n            uVar18 = snprintf(pcVar7,sVar15,", PERF1",uVar18);\n            uVar16 = extraout_ECX_13;\n          }\n          if (((uint)local_38 & 0x400) != 0) {\n            sVar15 = 0x400 - iVar17;\n            pcVar7 = (char *)((int)&buf_16750 + iVar17);\n            iVar17 = iVar17 + 7;\n            snprintf(pcVar7,sVar15,", PERF2",uVar18);\n            uVar16 = extraout_ECX_12;\n          }\n          uVar19 = (uint)local_38 & 0x1000000;\n          if (((uint)local_38 & 0x800) == 0) {\n            pFVar14 = local_38;\n            if (((uint)local_38 & 0x80000) != 0) {\nLAB_0003eba3:\n              sVar15 = 0x400 - iVar17;\n              pcVar7 = (char *)((int)&buf_16750 + iVar17);\n              iVar17 = iVar17 + 8;\n              pFVar14 = (Filedata *)snprintf(pcVar7,sVar15,", FPU_DP",pFVar14);\n              goto LAB_0003ebc4;\n            }\n            if (uVar19 != 0) goto LAB_0003ebc8;\n          }\n          else {\n            sVar15 = 0x400 - iVar17;\n            pcVar7 = (char *)((int)&buf_16750 + iVar17);\n            iVar17 = iVar17 + 8;\n            pFVar14 = (Filedata *)snprintf(pcVar7,sVar15,", FPU_SP",local_38);\n            if (((uint)local_38 & 0x80000) != 0) goto LAB_0003eba3;\nLAB_0003ebc4:\n            if (uVar19 != 0) {\nLAB_0003ebc8:\n              sVar15 = 0x400 - iVar17;\n              pcVar7 = (char *)((int)&buf_16750 + iVar17);\n              iVar17 = iVar17 + 9;\n              snprintf(pcVar7,sVar15,", FPU_MAC",pFVar14);\n            }\n            sVar15 = 0x400 - iVar17;\n            pcVar7 = (char *)((int)&buf_16750 + iVar17);\n            uVar18 = (uint)local_38 >> 0x16 & 3;\n            if (uVar18 == 2) {\n              pcVar8 = ", FPU_REG:32/16";\n              uVar18 = uVar19;\n            }\n            else {\n              if (uVar18 != 3) {\n                if (uVar18 == 1) {\n                  iVar17 = iVar17 + 0xe;\n                  pFVar14 = (Filedata *)snprintf(pcVar7,sVar15,", FPU_REG:16/8",0);\n                  uVar16 = extraout_ECX_16;\n                }\n                else {\n                  iVar17 = iVar17 + 0xd;\n                  pFVar14 = (Filedata *)snprintf(pcVar7,sVar15,", FPU_REG:8/4",uVar19);\n                  uVar16 = extraout_ECX_06;\n                }\n                goto LAB_0003d76f;\n              }\n              pcVar8 = ", FPU_REG:32/32";\n              uVar18 = 3;\n            }\n            iVar17 = iVar17 + 0xf;\n            pFVar14 = (Filedata *)snprintf(pcVar7,sVar15,pcVar8,uVar18);\n            uVar16 = extraout_ECX_17;\n          }\nLAB_0003d76f:\n          if (((uint)local_38 & 0x1000) != 0) {\n            sVar15 = 0x400 - iVar17;\n            pcVar7 = (char *)((int)&buf_16750 + iVar17);\n            iVar17 = iVar17 + 7;\n            pFVar14 = (Filedata *)snprintf(pcVar7,sVar15,", AUDIO",pFVar14);\n            uVar16 = extraout_ECX_05;\n          }\n          if (((uint)local_38 & 0x8000) != 0) {\n            sVar15 = 0x400 - iVar17;\n            pcVar7 = (char *)((int)&buf_16750 + iVar17);\n            iVar17 = iVar17 + 5;\n            pFVar14 = (Filedata *)snprintf(pcVar7,sVar15,", STR",pFVar14);\n            uVar16 = extraout_ECX_08;\n          }\n          if (((uint)local_38 & 0x10000) != 0) {\n            sVar15 = 0x400 - iVar17;\n            pcVar7 = (char *)((int)&buf_16750 + iVar17);\n            iVar17 = iVar17 + 7;\n            snprintf(pcVar7,sVar15,", 16REG",pFVar14);\n            uVar16 = extraout_ECX_07;\n          }\n          if (((uint)local_38 & 0x20000) != 0) {\n            sVar15 = 0x400 - iVar17;\n            pcVar7 = (char *)((int)&buf_16750 + iVar17);\n            if (((uint)local_38 & 0xe) == 0) {\n              iVar17 = iVar17 + 7;\n              snprintf(pcVar7,sVar15,", VIDEO",uVar19);\n              uVar16 = extraout_ECX_03;\n            }\n            else {\n              iVar17 = iVar17 + 0xc;\n              snprintf(pcVar7,sVar15,", SATURATION",(uint)local_38 & 0xffffff0e);\n              uVar16 = extraout_ECX_15;\n            }\n          }\n          if (((uint)local_38 & 0x40000) != 0) {\n            sVar15 = 0x400 - iVar17;\n            pcVar7 = (char *)((int)&buf_16750 + iVar17);\n            iVar17 = iVar17 + 7;\n            snprintf(pcVar7,sVar15,", ENCRP",uVar19);\n            uVar16 = extraout_ECX_04;\n          }\n          if (((uint)local_38 & 0x200000) == 0) {\n            local_38 = (Filedata *)(filedata->file_header).e_flags;\n          }\n          else {\n            snprintf((char *)((int)&buf_16750 + iVar17),0x400 - iVar17,", L2C",uVar16);\n            local_38 = (Filedata *)(filedata->file_header).e_flags;\n          }\n        }\n        else {\n          if (uVar19 < 0x20000001) {\n            if (uVar19 == 0x10000000) goto LAB_0003d678;\n          }\n          else if ((uVar19 == 0x30000000) || (uVar19 == 0x40000000)) goto LAB_0003d678;\n          snprintf(pcVar7,sVar15,", <unrecognized architecture>");\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n      }\n      else if (uVar3 == 0xad) {\n        if (((uint)local_38 & 1) != 0) {\n          pcVar7 = ", 64-bit doubles";\n          puVar13 = &buf_16750;\n          for (iVar17 = 0x11; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *(char *)puVar13 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n          }\n        }\n        if (((uint)local_38 & 2) != 0) {\n          uVar19 = 0xffffffff;\n          puVar13 = &buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            uVar18 = *puVar13;\n            puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n          } while ((char)uVar18 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x7364202c;\n          *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 0x70;\n        }\n        if (((uint)local_38 & 4) != 0) {\n          uVar19 = 0xffffffff;\n          puVar13 = &buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            uVar18 = *puVar13;\n            puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n          } while ((char)uVar18 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x6970202c;\n          *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 100;\n        }\n        if (((uint)local_38 & 8) != 0) {\n          uVar19 = 0xffffffff;\n          puVar13 = &buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            uVar18 = *puVar13;\n            puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n          } while ((char)uVar18 != '\0');\n          pcVar7 = ", RX ABI";\n          pcVar8 = &DAT_000b579f + ~uVar19;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x40) != 0) {\n          puVar13 = &buf_16750;\n          pcVar7 = ", uses String instructions";\n          if (((uint)local_38 & 0x80) == 0) {\n            pcVar7 = ", bans String instructions";\n          }\n          do {\n            puVar23 = puVar13;\n            uVar18 = *puVar23 + 0xfefefeff & ~*puVar23;\n            uVar19 = uVar18 & 0x80808080;\n            puVar13 = puVar23 + 1;\n          } while (uVar19 == 0);\n          bVar26 = (uVar18 & 0x8080) == 0;\n          if (bVar26) {\n            uVar19 = uVar19 >> 0x10;\n          }\n          if (bVar26) {\n            puVar13 = (uint *)((int)puVar23 + 6);\n          }\n          pcVar8 = (char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar19,(byte)uVar19)));\n          *(undefined4 *)pcVar8 = *(undefined4 *)pcVar7;\n          *(undefined4 *)(pcVar8 + 4) = *(undefined4 *)(pcVar7 + 4);\n          *(undefined4 *)(pcVar8 + 8) = *(undefined4 *)(pcVar7 + 8);\n          *(undefined4 *)(pcVar8 + 0xc) = *(undefined4 *)(pcVar7 + 0xc);\n          *(undefined4 *)(pcVar8 + 0x10) = *(undefined4 *)(pcVar7 + 0x10);\n          *(undefined4 *)(pcVar8 + 0x14) = *(undefined4 *)(pcVar7 + 0x14);\n          cVar2 = pcVar7[0x1a];\n          *(undefined2 *)(pcVar8 + 0x18) = *(undefined2 *)(pcVar7 + 0x18);\n          pcVar8[0x1a] = cVar2;\n        }\n        if (((uint)local_38 & 0x100) == 0) {\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else {\n          uVar19 = 0xffffffff;\n          puVar13 = &buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            uVar18 = *puVar13;\n            puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n          } while ((char)uVar18 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x3256202c;\n          *(undefined1 *)((int)&buf_16750 + ~uVar19 + 3) = 0;\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n      }\n    }\n    else if (uVar3 == 0xfa) {\n      uVar19 = (uint)local_38 >> 8 & 0xffff;\n      if (uVar19 == 0x3200) {\n        pcVar7 = ", NFP-32xx";\n        puVar13 = &buf_16750;\n        for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *(char *)puVar13 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n        }\n        local_38 = (Filedata *)(filedata->file_header).e_flags;\n      }\n      else if (uVar19 == 0x6000) {\n        pcVar7 = ", NFP-6xxx";\n        puVar13 = &buf_16750;\n        for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *(char *)puVar13 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n        }\n        local_38 = (Filedata *)(filedata->file_header).e_flags;\n      }\n    }\n    else if (uVar3 < 0xfb) {\n      if (uVar3 == 0xdd) {\n        if (((uint)local_38 & 1) == 0) {\n          if (((uint)local_38 & 2) != 0) {\n            buf_16750 = 0x636d202c;\n            DAT_000b57a4 = 0x34326d;\n          }\n        }\n        else {\n          buf_16750 = 0x636d202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x6d);\n        }\n        if (((uint)local_38 & 4) == 0) {\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x7267202c;\n          *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 0x36;\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n      }\n      else if (uVar3 == 0xf3) {\n        if (((uint)local_38 & 1) != 0) {\n          buf_16750 = 0x5652202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x43);\n        }\n        if (((uint)local_38 & 8) != 0) {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x5652202c;\n          *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 0x45;\n        }\n        uVar19 = (uint)local_38 & 6;\n        if (uVar19 == 2) {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          pcVar7 = ", single-float ABI";\n          pcVar8 = &DAT_000b579f + ~uVar19;\n          for (iVar17 = 0x13; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else if (uVar19 < 3) {\n          if (uVar19 == 0) {\n            uVar19 = 0xffffffff;\n            pcVar7 = (char *)&buf_16750;\n            do {\n              if (uVar19 == 0) break;\n              uVar19 = uVar19 - 1;\n              cVar2 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            } while (cVar2 != '\0');\n            pcVar7 = ", soft-float ABI";\n            pcVar8 = &DAT_000b579f + ~uVar19;\n            for (iVar17 = 0x11; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            local_38 = (Filedata *)(filedata->file_header).e_flags;\n          }\n          else {\nLAB_0003e76f:\n            local_38 = (Filedata *)(filedata->file_header).e_flags;\n          }\n        }\n        else if (uVar19 == 4) {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          pcVar7 = ", double-float ABI";\n          pcVar8 = &DAT_000b579f + ~uVar19;\n          for (iVar17 = 0x13; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else {\n          if (uVar19 != 6) goto LAB_0003e76f;\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          pcVar7 = ", quad-float ABI";\n          pcVar8 = &DAT_000b579f + ~uVar19;\n          for (iVar17 = 0x11; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n      }\n      else if (uVar3 == 0xc5) {\n        uVar19 = (uint)local_38 & 0xc;\n        if (uVar19 == 8) {\n          buf_16750 = 0x3147202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x33);\n        }\n        else if (uVar19 == 0xc) {\n          buf_16750 = 0x3147202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x34);\n        }\n        else if (uVar19 == 4) {\n          buf_16750 = 0x3147202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x30);\n        }\n        if (((uint)local_38 & 1) == 0) {\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          pcVar7 = ", 64-bit doubles";\n          pcVar8 = &DAT_000b579f + ~uVar19;\n          for (iVar17 = 0x11; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n      }\n    }\n    else if (uVar3 == 0x9041) {\nLAB_0003bb50:\n      if (((uint)local_38 & 0x30000000) == 0) {\n        puVar12 = &DAT_0007ca93;\n        puVar24 = &buf_16750;\n        for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *(undefined1 *)puVar24 = *puVar12;\n          puVar12 = puVar12 + (uint)bVar28 * -2 + 1;\n          puVar24 = (undefined4 *)((int)puVar24 + (uint)bVar28 * -2 + 1);\n        }\n        local_38 = (Filedata *)(filedata->file_header).e_flags;\n      }\n    }\n    else if (uVar3 < 0x9042) {\n      if (uVar3 == 0x5441) {\n        uVar19 = (uint)local_38 & 0xff000000;\n        if (uVar19 == 0x4000000) {\n          pcVar7 = ", tomcat";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else if (uVar19 < 0x4000001) {\n          if (uVar19 == 0x1000000) {\n            buf_16750 = 0x7266202c;\n            DAT_000b57a4 = 0x303035;\n            local_38 = (Filedata *)(filedata->file_header).e_flags;\n          }\n          else if (uVar19 < 0x1000001) {\n            if (uVar19 != 0) {\nLAB_0003d4b1:\n              buf_16750 = 0x7266202c;\n              DAT_000b57a4 = 0x3f3f3f;\n              local_38 = (Filedata *)(filedata->file_header).e_flags;\n            }\n          }\n          else if (uVar19 == 0x2000000) {\n            buf_16750 = 0x7266202c;\n            DAT_000b57a4 = 0x303033;\n            local_38 = (Filedata *)(filedata->file_header).e_flags;\n          }\n          else {\n            if (uVar19 != 0x3000000) goto LAB_0003d4b1;\n            pcVar7 = ", simple";\n            pcVar8 = (char *)&buf_16750;\n            for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            local_38 = (Filedata *)(filedata->file_header).e_flags;\n          }\n        }\n        else if (uVar19 == 0x6000000) {\n          buf_16750 = 0x7266202c;\n          DAT_000b57a4 = 0x303535;\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else if (uVar19 < 0x6000001) {\n          if (uVar19 != 0x5000000) goto LAB_0003d4b1;\n          buf_16750 = 0x7266202c;\n          DAT_000b57a4 = 0x303034;\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else if (uVar19 == 0x7000000) {\n          buf_16750 = 0x7266202c;\n          DAT_000b57a4 = 0x353034;\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else {\n          if (uVar19 != 0x8000000) goto LAB_0003d4b1;\n          buf_16750 = 0x7266202c;\n          DAT_000b57a4 = 0x303534;\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n      }\n    }\n    else {\n      if (uVar3 == 0x9080) goto LAB_0003c0c0;\n      if (uVar3 == 0xf00d) {\n        uVar19 = (uint)local_38 & 0xff000000;\n        if (uVar19 == 0x2000000) {\n          pcVar7 = ", MeP C3";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n        }\n        else if (uVar19 < 0x2000001) {\n          if (uVar19 == 0) {\n            pcVar7 = ", generic MeP";\n            pcVar8 = (char *)&buf_16750;\n            for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n          }\n          else if (uVar19 == 0x1000000) {\n            pcVar7 = ", MeP C2";\n            pcVar8 = (char *)&buf_16750;\n            for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n          }\n          else {\nLAB_0003ba2e:\n            pcVar7 = (char *)dcgettext(0,", <unknown MeP cpu type>",5,&DAT_00076943);\n            strcat((char *)&buf_16750,pcVar7);\n          }\n        }\n        else if (uVar19 == 0x8000000) {\n          pcVar7 = ", MeP C5";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n        }\n        else if (uVar19 == 0x10000000) {\n          pcVar7 = ", MeP H1";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n        }\n        else {\n          if (uVar19 != 0x4000000) goto LAB_0003ba2e;\n          pcVar7 = ", MeP C4";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n        }\n        local_34 = (Filedata *)&buf_16750;\n        pEVar10 = (Elf32_Ehdr *)((uint)local_38 & 0xff0000);\n        if (pEVar10 == (Elf32_Ehdr *)0x20000) {\n          uVar19 = 0xffffffff;\n          pEVar10 = (Elf32_Ehdr *)0x0;\n          pFVar14 = local_34;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *(char *)pFVar14;\n            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n          } while (cVar2 != '\0');\n          pcVar7 = ", AVC2 coprocessor";\n          pcVar8 = &DAT_000b579f + ~uVar19;\n          for (iVar17 = 0x13; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n        }\n        else if (pEVar10 < (Elf32_Ehdr *)0x20001) {\n          if (pEVar10 != (Elf32_Ehdr *)0x0) {\n            if (pEVar10 == &Elf32_Ehdr_00010000) {\n              uVar19 = 0xffffffff;\n              pEVar10 = (Elf32_Ehdr *)0x0;\n              pFVar14 = local_34;\n              do {\n                if (uVar19 == 0) break;\n                uVar19 = uVar19 - 1;\n                cVar2 = *(char *)pFVar14;\n                pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n              } while (cVar2 != '\0');\n              pcVar7 = ", AVC coprocessor";\n              pcVar8 = &DAT_000b579f + ~uVar19;\n              for (iVar17 = 0x12; iVar17 != 0; iVar17 = iVar17 + -1) {\n                *pcVar8 = *pcVar7;\n                pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n                pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n              }\n            }\n            else {\nLAB_0003e6fc:\n              pcVar7 = (char *)dcgettext(0,"<unknown MeP copro type>",5,pEVar10);\n              pEVar10 = (Elf32_Ehdr *)strcat((char *)&buf_16750,pcVar7);\n            }\n          }\n        }\n        else if (pEVar10 == (Elf32_Ehdr *)0x30000) {\n          uVar19 = 0xffffffff;\n          pEVar10 = (Elf32_Ehdr *)0x0;\n          pFVar14 = local_34;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *(char *)pFVar14;\n            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n          } while (cVar2 != '\0');\n          pcVar7 = ", FMAX coprocessor";\n          pcVar8 = &DAT_000b579f + ~uVar19;\n          for (iVar17 = 0x13; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n        }\n        else {\n          if (pEVar10 != (Elf32_Ehdr *)0x60000) goto LAB_0003e6fc;\n          uVar19 = 0xffffffff;\n          pEVar10 = (Elf32_Ehdr *)0x0;\n          pFVar14 = local_34;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *(char *)pFVar14;\n            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n          } while (cVar2 != '\0');\n          pcVar7 = ", IVC2 coprocessor";\n          pcVar8 = &DAT_000b579f + ~uVar19;\n          for (iVar17 = 0x13; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x100) != 0) {\n          uVar19 = 0xffffffff;\n          pEVar10 = (Elf32_Ehdr *)0x0;\n          pFVar14 = local_34;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *(char *)pFVar14;\n            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n          } while (cVar2 != '\0');\n          pcVar7 = ", Built for Library";\n          puVar24 = (undefined4 *)(&DAT_000b579f + ~uVar19);\n          for (iVar17 = 5; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar24 = *(undefined4 *)pcVar7;\n            pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;\n            puVar24 = puVar24 + (uint)bVar28 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0xff) != 0) {\n          uVar19 = 0xffffffff;\n          pFVar14 = local_34;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *(char *)pFVar14;\n            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n          } while (cVar2 != '\0');\n          pEVar10 = (Elf32_Ehdr *)\n                    sprintf(&DAT_000b579f + ~uVar19,", Configuration Index: %#x",\n                            (uint)local_38 & 0xff,0);\n        }\n        if (((uint)local_38 & 0xfe00) == 0) {\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else {\n          pcVar7 = (char *)dcgettext(0,", unknown flags bits: %#x",5,pEVar10);\n          uVar19 = 0xffffffff;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *(char *)local_34;\n            local_34 = (Filedata *)((int)local_34 + (uint)bVar28 * -2 + 1);\n          } while (cVar2 != '\0');\n          sprintf(&DAT_000b579f + ~uVar19,pcVar7,(uint)local_38 & 0xfe00);\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n      }\n    }\n    goto LAB_0003b840;\n  }\n  if (uVar3 == 0x24) {\n    if (((uint)local_38 & 0xf0000000) == 0xf0000000) {\n      puVar13 = (uint *)", RH850 ABI";\n      puVar23 = &buf_16750;\n      for (iVar17 = 3; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *puVar23 = *puVar13;\n        puVar13 = puVar13 + (uint)bVar28 * -2 + 1;\n        puVar23 = puVar23 + (uint)bVar28 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x100000) != 0) {\n      uVar19 = 0xffffffff;\n      puVar13 = &buf_16750;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        uVar18 = *puVar13;\n        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n      } while ((char)uVar18 != '\0');\n      pcVar7 = ", V3 architecture";\n      pcVar8 = &DAT_000b579f + ~uVar19;\n      for (iVar17 = 0x12; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *pcVar8 = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 3) == 0) {\n      uVar19 = 0xffffffff;\n      puVar13 = &buf_16750;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        uVar18 = *puVar13;\n        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n      } while ((char)uVar18 != '\0');\n      pcVar7 = ", FPU not used";\n      pcVar8 = &DAT_000b579f + ~uVar19;\n      for (iVar17 = 0xf; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *pcVar8 = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x60) == 0) {\n      uVar19 = 0xffffffff;\n      puVar13 = &buf_16750;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        uVar18 = *puVar13;\n        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n      } while ((char)uVar18 != '\0');\n      pcVar7 = ", regmode: COMMON";\n      pcVar8 = &DAT_000b579f + ~uVar19;\n      for (iVar17 = 0x12; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *pcVar8 = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x300) == 0) {\n      uVar19 = 0xffffffff;\n      puVar13 = &buf_16750;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        uVar18 = *puVar13;\n        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n      } while ((char)uVar18 != '\0');\n      pcVar7 = ", r4 not used";\n      pcVar8 = &DAT_000b579f + ~uVar19;\n      for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *pcVar8 = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0xc00) == 0) {\n      uVar19 = 0xffffffff;\n      puVar13 = &buf_16750;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        uVar18 = *puVar13;\n        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n      } while ((char)uVar18 != '\0');\n      pcVar7 = ", r30 not used";\n      pcVar8 = &DAT_000b579f + ~uVar19;\n      for (iVar17 = 0xf; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *pcVar8 = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x3000) == 0) {\n      uVar19 = 0xffffffff;\n      puVar13 = &buf_16750;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        uVar18 = *puVar13;\n        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n      } while ((char)uVar18 != '\0');\n      pcVar7 = ", r5 not used";\n      pcVar8 = &DAT_000b579f + ~uVar19;\n      for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *pcVar8 = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0xc000) == 0) {\n      uVar19 = 0xffffffff;\n      puVar13 = &buf_16750;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        uVar18 = *puVar13;\n        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n      } while ((char)uVar18 != '\0');\n      pcVar7 = ", r2 not used";\n      pcVar8 = &DAT_000b579f + ~uVar19;\n      for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *pcVar8 = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n      }\n    }\n    uVar19 = (uint)local_38 & 0xffff;\n    if (uVar19 == 0) {\n      local_38 = (Filedata *)(filedata->file_header).e_flags;\n    }\n    else {\n      do {\n        uVar18 = -uVar19 & uVar19;\n        puVar13 = &buf_16750;\n        if (uVar18 == 0x200) {\n          do {\n            puVar23 = puVar13;\n            uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;\n            uVar18 = uVar22 & 0x80808080;\n            puVar13 = puVar23 + 1;\n          } while (uVar18 == 0);\n          bVar26 = (uVar22 & 0x8080) == 0;\n          if (bVar26) {\n            uVar18 = uVar18 >> 0x10;\n          }\n          if (bVar26) {\n            puVar13 = (uint *)((int)puVar23 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))),\n                          ", r4 free",10);\n        }\n        else if (uVar18 < 0x201) {\n          if (uVar18 == 0x20) {\n            do {\n              puVar23 = puVar13;\n              uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;\n              uVar18 = uVar22 & 0x80808080;\n              puVar13 = puVar23 + 1;\n            } while (uVar18 == 0);\n            bVar26 = (uVar22 & 0x8080) == 0;\n            if (bVar26) {\n              uVar18 = uVar18 >> 0x10;\n            }\n            if (bVar26) {\n              puVar13 = (uint *)((int)puVar23 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))),\n                            ", regmode:22",0xd);\n          }\n          else if (uVar18 < 0x21) {\n            if (uVar18 == 1) {\n              do {\n                puVar23 = puVar13;\n                uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;\n                uVar18 = uVar22 & 0x80808080;\n                puVar13 = puVar23 + 1;\n              } while (uVar18 == 0);\n              bVar26 = (uVar22 & 0x8080) == 0;\n              if (bVar26) {\n                uVar18 = uVar18 >> 0x10;\n              }\n              if (bVar26) {\n                puVar13 = (uint *)((int)puVar23 + 6);\n              }\n              builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))\n                                      ),", double precision FPU",0x17);\n            }\n            else if (uVar18 == 2) {\n              do {\n                puVar23 = puVar13;\n                uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;\n                uVar18 = uVar22 & 0x80808080;\n                puVar13 = puVar23 + 1;\n              } while (uVar18 == 0);\n              bVar26 = (uVar22 & 0x8080) == 0;\n              if (bVar26) {\n                uVar18 = uVar18 >> 0x10;\n              }\n              if (bVar26) {\n                puVar13 = (uint *)((int)puVar23 + 6);\n              }\n              builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))\n                                      ),", single precision FPU",0x17);\n            }\n          }\n          else if (uVar18 == 0x40) {\n            do {\n              puVar23 = puVar13;\n              uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;\n              uVar18 = uVar22 & 0x80808080;\n              puVar13 = puVar23 + 1;\n            } while (uVar18 == 0);\n            bVar26 = (uVar22 & 0x8080) == 0;\n            if (bVar26) {\n              uVar18 = uVar18 >> 0x10;\n            }\n            if (bVar26) {\n              puVar13 = (uint *)((int)puVar23 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))),\n                            ", regmode:23",0xd);\n          }\n          else if (uVar18 == 0x100) {\n            do {\n              puVar23 = puVar13;\n              uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;\n              uVar18 = uVar22 & 0x80808080;\n              puVar13 = puVar23 + 1;\n            } while (uVar18 == 0);\n            bVar26 = (uVar22 & 0x8080) == 0;\n            if (bVar26) {\n              uVar18 = uVar18 >> 0x10;\n            }\n            if (bVar26) {\n              puVar13 = (uint *)((int)puVar23 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))),\n                            ", r4 fixed",0xb);\n          }\n        }\n        else if (uVar18 == 0x1000) {\n          do {\n            puVar23 = puVar13;\n            uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;\n            uVar18 = uVar22 & 0x80808080;\n            puVar13 = puVar23 + 1;\n          } while (uVar18 == 0);\n          bVar26 = (uVar22 & 0x8080) == 0;\n          if (bVar26) {\n            uVar18 = uVar18 >> 0x10;\n          }\n          if (bVar26) {\n            puVar13 = (uint *)((int)puVar23 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))),\n                          ", r5 fixed",0xb);\n        }\n        else if (uVar18 < 0x1001) {\n          if (uVar18 == 0x400) {\n            do {\n              puVar23 = puVar13;\n              uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;\n              uVar18 = uVar22 & 0x80808080;\n              puVar13 = puVar23 + 1;\n            } while (uVar18 == 0);\n            bVar26 = (uVar22 & 0x8080) == 0;\n            if (bVar26) {\n              uVar18 = uVar18 >> 0x10;\n            }\n            if (bVar26) {\n              puVar13 = (uint *)((int)puVar23 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))),\n                            ", r30 fixed",0xc);\n          }\n          else if (uVar18 == 0x800) {\n            do {\n              puVar23 = puVar13;\n              uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;\n              uVar18 = uVar22 & 0x80808080;\n              puVar13 = puVar23 + 1;\n            } while (uVar18 == 0);\n            bVar26 = (uVar22 & 0x8080) == 0;\n            if (bVar26) {\n              uVar18 = uVar18 >> 0x10;\n            }\n            if (bVar26) {\n              puVar13 = (uint *)((int)puVar23 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))),\n                            ", r30 free",0xb);\n          }\n        }\n        else if (uVar18 == 0x4000) {\n          do {\n            puVar23 = puVar13;\n            uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;\n            uVar18 = uVar22 & 0x80808080;\n            puVar13 = puVar23 + 1;\n          } while (uVar18 == 0);\n          bVar26 = (uVar22 & 0x8080) == 0;\n          if (bVar26) {\n            uVar18 = uVar18 >> 0x10;\n          }\n          if (bVar26) {\n            puVar13 = (uint *)((int)puVar23 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))),\n                          ", r2 fixed",0xb);\n        }\n        else if (uVar18 == 0x8000) {\n          do {\n            puVar23 = puVar13;\n            uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;\n            uVar18 = uVar22 & 0x80808080;\n            puVar13 = puVar23 + 1;\n          } while (uVar18 == 0);\n          bVar26 = (uVar22 & 0x8080) == 0;\n          if (bVar26) {\n            uVar18 = uVar18 >> 0x10;\n          }\n          if (bVar26) {\n            puVar13 = (uint *)((int)puVar23 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))),\n                          ", r2 free",10);\n        }\n        else if (uVar18 == 0x2000) {\n          do {\n            puVar23 = puVar13;\n            uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;\n            uVar18 = uVar22 & 0x80808080;\n            puVar13 = puVar23 + 1;\n          } while (uVar18 == 0);\n          bVar26 = (uVar22 & 0x8080) == 0;\n          if (bVar26) {\n            uVar18 = uVar18 >> 0x10;\n          }\n          if (bVar26) {\n            puVar13 = (uint *)((int)puVar23 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))),\n                          ", r5 free",10);\n        }\n        uVar19 = uVar19 & uVar19 - 1;\n      } while (uVar19 != 0);\n      local_38 = (Filedata *)(filedata->file_header).e_flags;\n    }\n    goto LAB_0003b840;\n  }\n  if (0x24 < uVar3) {\n    if (uVar3 == 0x32) {\n      if (((uint)local_38 & 0x10) == 0) {\n        buf_16750 = 0x3233202c;\n      }\n      else {\n        buf_16750 = 0x3436202c;\n      }\n      _DAT_000b57a8 = _DAT_000b57a8 & 0xffffff00;\n      DAT_000b57a4 = 0x7469622d;\n      if (((uint)local_38 & 0x20) != 0) {\n        uVar19 = 0xffffffff;\n        pcVar7 = (char *)&buf_16750;\n        do {\n          if (uVar19 == 0) break;\n          uVar19 = uVar19 - 1;\n          cVar2 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        } while (cVar2 != '\0');\n        pcVar7 = ", reduced fp model";\n        pcVar8 = &DAT_000b579f + ~uVar19;\n        for (iVar17 = 0x13; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *pcVar8 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n        }\n      }\n      if (((uint)local_38 & 0x80) == 0) {\n        if (((uint)local_38 & 0x40) != 0) {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          pcVar7 = ", constant gp";\n          pcVar8 = &DAT_000b579f + ~uVar19;\n          for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n        }\n      }\n      else {\n        uVar19 = 0xffffffff;\n        pcVar7 = (char *)&buf_16750;\n        do {\n          if (uVar19 == 0) break;\n          uVar19 = uVar19 - 1;\n          cVar2 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        } while (cVar2 != '\0');\n        pcVar7 = ", no function descriptors, constant gp";\n        pcVar8 = &DAT_000b579f + ~uVar19;\n        for (iVar17 = 0x27; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *pcVar8 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n        }\n      }\n      if (((uint)local_38 & 0x100) != 0) {\n        uVar19 = 0xffffffff;\n        pcVar7 = (char *)&buf_16750;\n        do {\n          if (uVar19 == 0) break;\n          uVar19 = uVar19 - 1;\n          cVar2 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        } while (cVar2 != '\0');\n        pcVar7 = ", absolute";\n        pcVar8 = &DAT_000b579f + ~uVar19;\n        for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *pcVar8 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n        }\n      }\n      if ((filedata->file_header).e_ident[7] == '\r') {\n        if (((uint)local_38 & 4) != 0) {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          pcVar7 = ", vms_linkages";\n          pcVar8 = &DAT_000b579f + ~uVar19;\n          for (iVar17 = 0xf; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n        }\n        uVar19 = (uint)local_38 & 3;\n        if (uVar19 == 2) {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x7265202c;\n          *(undefined4 *)((int)&buf_16750 + ~uVar19 + 3) = 0x726f72;\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else if (uVar19 == 3) {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x6261202c;\n          *(undefined4 *)((int)&buf_16750 + ~uVar19 + 3) = 0x74726f;\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else if (uVar19 == 1) {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          pcVar7 = ", warning";\n          pcVar8 = &DAT_000b579f + ~uVar19;\n          for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else {\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n      }\n      else {\n        local_38 = (Filedata *)(filedata->file_header).e_flags;\n      }\n    }\n    else if (uVar3 < 0x33) {\n      if (uVar3 == 0x2a) {\n        switch((uint)local_38 & 0x1f) {\n        default:\n          pcVar7 = (char *)dcgettext(0,", unknown ISA",5,&DAT_00076943);\n          strcat((char *)&buf_16750,pcVar7);\n          break;\n        case 1:\n          buf_16750 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x31);\n          break;\n        case 2:\n          buf_16750 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x32);\n          break;\n        case 3:\n          buf_16750 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x33);\n          break;\n        case 4:\n          pcVar7 = ", sh-dsp";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          break;\n        case 5:\n          pcVar7 = ", sh3-dsp";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          break;\n        case 6:\n          pcVar7 = ", sh4al-dsp";\n          puVar24 = &buf_16750;\n          for (iVar17 = 3; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar24 = *(undefined4 *)pcVar7;\n            pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;\n            puVar24 = puVar24 + (uint)bVar28 * -2 + 1;\n          }\n          break;\n        case 8:\n          pcVar7 = ", sh3e";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          break;\n        case 9:\n          buf_16750 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x34);\n          break;\n        case 10:\n          buf_16750 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x35);\n          break;\n        case 0xb:\n          pcVar7 = ", sh2e";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          break;\n        case 0xc:\n          pcVar7 = ", sh4a";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          break;\n        case 0xd:\n          pcVar7 = ", sh2a";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          break;\n        case 0x10:\n          pcVar7 = ", sh4-nofpu";\n          puVar24 = &buf_16750;\n          for (iVar17 = 3; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar24 = *(undefined4 *)pcVar7;\n            pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;\n            puVar24 = puVar24 + (uint)bVar28 * -2 + 1;\n          }\n          break;\n        case 0x11:\n          pcVar7 = ", sh4a-nofpu";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 0xd; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          break;\n        case 0x12:\n          pcVar7 = ", sh4-nommu-nofpu";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 0x12; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          break;\n        case 0x13:\n          pcVar7 = ", sh2a-nofpu";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 0xd; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          break;\n        case 0x14:\n          pcVar7 = ", sh3-nommu";\n          puVar24 = &buf_16750;\n          for (iVar17 = 3; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar24 = *(undefined4 *)pcVar7;\n            pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;\n            puVar24 = puVar24 + (uint)bVar28 * -2 + 1;\n          }\n          break;\n        case 0x15:\n          pcVar7 = ", sh2a-nofpu-or-sh4-nommu-nofpu";\n          puVar24 = &buf_16750;\n          for (iVar17 = 8; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar24 = *(undefined4 *)pcVar7;\n            pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;\n            puVar24 = puVar24 + (uint)bVar28 * -2 + 1;\n          }\n          break;\n        case 0x16:\n          pcVar7 = ", sh2a-nofpu-or-sh3-nommu";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 0x1a; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          break;\n        case 0x17:\n          pcVar7 = ", sh2a-or-sh4";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          break;\n        case 0x18:\n          pcVar7 = ", sh2a-or-sh3e";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 0xf; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n        }\n        local_34 = (Filedata *)&buf_16750;\n        if (((uint)local_38 & 0x100) != 0) {\n          uVar19 = 0xffffffff;\n          pFVar14 = local_34;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *(char *)pFVar14;\n            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n          } while (cVar2 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x6970202c;\n          *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 99;\n        }\n        if (((uint)local_38 & 0x8000) == 0) {\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else {\n          uVar19 = 0xffffffff;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *(char *)local_34;\n            local_34 = (Filedata *)((int)local_34 + (uint)bVar28 * -2 + 1);\n          } while (cVar2 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x6466202c;\n          *(undefined4 *)((int)&buf_16750 + ~uVar19 + 3) = 0x636970;\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n      }\n      else if (uVar3 == 0x2b) {\n        if (((uint)local_38 & 0x100) != 0) {\n          buf_16750 = 0x3876202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x2b);\n        }\n        if (((uint)local_38 & 0x200) != 0) {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          pcVar7 = ", ultrasparcI";\n          pcVar8 = &DAT_000b579f + ~uVar19;\n          for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x800) != 0) {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          pcVar7 = ", ultrasparcIII";\n          puVar24 = (undefined4 *)(&DAT_000b579f + ~uVar19);\n          for (iVar17 = 4; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar24 = *(undefined4 *)pcVar7;\n            pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;\n            puVar24 = puVar24 + (uint)bVar28 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x400) != 0) {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x6168202c;\n          *(undefined4 *)((int)&buf_16750 + ~uVar19 + 3) = 0x31726c;\n        }\n        if (((uint)local_38 & 0x800000) != 0) {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          pcVar7 = ", ledata";\n          pcVar8 = &DAT_000b579f + ~uVar19;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n        }\n        uVar19 = (uint)local_38 & 3;\n        if (uVar19 == 0) {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x7374202c;\n          *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 0x6f;\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else if (uVar19 == 1) {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x7370202c;\n          *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 0x6f;\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else if (uVar19 == 2) {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x6d72202c;\n          *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 0x6f;\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else {\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n      }\n      else if (uVar3 == 0x28) {\n        uVar19 = (uint)local_38 & 0xff000000;\n        if (((uint)local_38 & 1) == 0) {\n          local_38 = (Filedata *)((uint)local_38 & 0xffffff);\n          pcVar7 = (char *)&buf_16750;\n        }\n        else {\n          pcVar7 = &DAT_000b57b8;\n          pcVar8 = ", relocatable executable";\n          pcVar9 = (char *)&buf_16750;\n          for (iVar17 = 0x19; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar9 = *pcVar8;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            pcVar9 = pcVar9 + (uint)bVar28 * -2 + 1;\n          }\n          local_38 = (Filedata *)((uint)local_38 & 0xfffffe);\n        }\n        local_34 = (Filedata *)&buf_16750;\n        if (((uint)local_38 & 0x20) != 0) {\n          pcVar8 = ", position independent";\n          for (iVar17 = 0x17; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar7 = *pcVar8;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          }\n          local_38 = (Filedata *)((uint)local_38 & 0xffffffdf);\n          uVar18 = 0xffffffff;\n          pFVar14 = local_34;\n          do {\n            if (uVar18 == 0) break;\n            uVar18 = uVar18 - 1;\n            uVar22 = *(uint *)pFVar14;\n            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n          } while ((char)uVar22 != '\0');\n          pcVar7 = &DAT_000b579f + ~uVar18;\n        }\n        if (uVar19 == 0x2000000) {\n          bVar26 = false;\n          pcVar8 = ", Version2 EABI";\n          for (iVar17 = 4; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *(undefined4 *)pcVar7 = *(undefined4 *)pcVar8;\n            pcVar8 = pcVar8 + ((uint)bVar28 * -2 + 1) * 4;\n            pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;\n          }\n          if (local_38 != (Filedata *)0x0) {\n            do {\n              uVar19 = -(int)local_38 & (uint)local_38;\n              local_38 = (Filedata *)((uint)local_38 & ~uVar19);\n              if (uVar19 == 8) {\n                uVar19 = 0xffffffff;\n                pFVar14 = local_34;\n                do {\n                  if (uVar19 == 0) break;\n                  uVar19 = uVar19 - 1;\n                  uVar18 = *(uint *)pFVar14;\n                  pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n                } while ((char)uVar18 != '\0');\n                pcVar7 = ", dynamic symbols use segment index";\n                puVar24 = (undefined4 *)(&DAT_000b579f + ~uVar19);\n                for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n                  *puVar24 = *(undefined4 *)pcVar7;\n                  pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;\n                  puVar24 = puVar24 + (uint)bVar28 * -2 + 1;\n                }\n              }\n              else if (uVar19 == 0x10) {\n                uVar19 = 0xffffffff;\n                pFVar14 = local_34;\n                do {\n                  if (uVar19 == 0) break;\n                  uVar19 = uVar19 - 1;\n                  uVar18 = *(uint *)pFVar14;\n                  pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n                } while ((char)uVar18 != '\0');\n                pcVar7 = ", mapping symbols precede others";\n                pcVar8 = &DAT_000b579f + ~uVar19;\n                for (iVar17 = 0x21; iVar17 != 0; iVar17 = iVar17 + -1) {\n                  *pcVar8 = *pcVar7;\n                  pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n                  pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n                }\n              }\n              else if (uVar19 == 4) {\n                uVar19 = 0xffffffff;\n                pFVar14 = local_34;\n                do {\n                  if (uVar19 == 0) break;\n                  uVar19 = uVar19 - 1;\n                  uVar18 = *(uint *)pFVar14;\n                  pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n                } while ((char)uVar18 != '\0');\n                pcVar7 = ", sorted symbol tables";\n                pcVar8 = &DAT_000b579f + ~uVar19;\n                for (iVar17 = 0x17; iVar17 != 0; iVar17 = iVar17 + -1) {\n                  *pcVar8 = *pcVar7;\n                  pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n                  pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n                }\n              }\n              else {\n                bVar26 = true;\n              }\n            } while (local_38 != (Filedata *)0x0);\n            goto LAB_0003d8e9;\n          }\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else if (uVar19 < 0x2000001) {\n          if (uVar19 == 0) {\n            bVar26 = false;\n            pcVar8 = ", GNU EABI";\n            for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar7 = *pcVar8;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            }\n            if (local_38 != (Filedata *)0x0) {\n              do {\n                uVar19 = -(int)local_38 & (uint)local_38;\n                local_38 = (Filedata *)((uint)local_38 & ~uVar19);\n                if (uVar19 == 0x40) {\n                  uVar19 = 0xffffffff;\n                  pFVar14 = local_34;\n                  do {\n                    if (uVar19 == 0) break;\n                    uVar19 = uVar19 - 1;\n                    uVar18 = *(uint *)pFVar14;\n                    pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n                  } while ((char)uVar18 != '\0');\n                  pcVar7 = ", 8 bit structure alignment";\n                  puVar24 = (undefined4 *)(&DAT_000b579f + ~uVar19);\n                  for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {\n                    *puVar24 = *(undefined4 *)pcVar7;\n                    pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;\n                    puVar24 = puVar24 + (uint)bVar28 * -2 + 1;\n                  }\n                }\n                else if (uVar19 < 0x41) {\n                  if (uVar19 == 8) {\n                    uVar19 = 0xffffffff;\n                    pFVar14 = local_34;\n                    do {\n                      if (uVar19 == 0) break;\n                      uVar19 = uVar19 - 1;\n                      uVar18 = *(uint *)pFVar14;\n                      pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n                    } while ((char)uVar18 != '\0');\n                    pcVar7 = ", uses APCS/26";\n                    pcVar8 = &DAT_000b579f + ~uVar19;\n                    for (iVar17 = 0xf; iVar17 != 0; iVar17 = iVar17 + -1) {\n                      *pcVar8 = *pcVar7;\n                      pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n                      pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n                    }\n                  }\n                  else if (uVar19 < 9) {\n                    if (uVar19 == 4) {\n                      uVar19 = 0xffffffff;\n                      pFVar14 = local_34;\n                      do {\n                        if (uVar19 == 0) break;\n                        uVar19 = uVar19 - 1;\n                        uVar18 = *(uint *)pFVar14;\n                        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n                      } while ((char)uVar18 != '\0');\n                      pcVar7 = ", interworking enabled";\n                      pcVar8 = &DAT_000b579f + ~uVar19;\n                      for (iVar17 = 0x17; iVar17 != 0; iVar17 = iVar17 + -1) {\n                        *pcVar8 = *pcVar7;\n                        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n                        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n                      }\n                    }\n                    else {\nLAB_0003edd8:\n                      bVar26 = true;\n                    }\n                  }\n                  else if (uVar19 == 0x10) {\n                    uVar19 = 0xffffffff;\n                    pFVar14 = local_34;\n                    do {\n                      if (uVar19 == 0) break;\n                      uVar19 = uVar19 - 1;\n                      uVar18 = *(uint *)pFVar14;\n                      pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n                    } while ((char)uVar18 != '\0');\n                    pcVar7 = ", uses APCS/float";\n                    pcVar8 = &DAT_000b579f + ~uVar19;\n                    for (iVar17 = 0x12; iVar17 != 0; iVar17 = iVar17 + -1) {\n                      *pcVar8 = *pcVar7;\n                      pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n                      pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n                    }\n                  }\n                  else {\n                    if (uVar19 != 0x20) goto LAB_0003edd8;\n                    uVar19 = 0xffffffff;\n                    pFVar14 = local_34;\n                    do {\n                      if (uVar19 == 0) break;\n                      uVar19 = uVar19 - 1;\n                      uVar18 = *(uint *)pFVar14;\n                      pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n                    } while ((char)uVar18 != '\0');\n                    pcVar7 = ", position independent";\n                    pcVar8 = &DAT_000b579f + ~uVar19;\n                    for (iVar17 = 0x17; iVar17 != 0; iVar17 = iVar17 + -1) {\n                      *pcVar8 = *pcVar7;\n                      pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n                      pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n                    }\n                  }\n                }\n                else if (uVar19 == 0x200) {\n                  uVar19 = 0xffffffff;\n                  pFVar14 = local_34;\n                  do {\n                    if (uVar19 == 0) break;\n                    uVar19 = uVar19 - 1;\n                    uVar18 = *(uint *)pFVar14;\n                    pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n                  } while ((char)uVar18 != '\0');\n                  pcVar7 = ", software FP";\n                  pcVar8 = &DAT_000b579f + ~uVar19;\n                  for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {\n                    *pcVar8 = *pcVar7;\n                    pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n                    pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n                  }\n                }\n                else if (uVar19 < 0x201) {\n                  if (uVar19 == 0x80) {\n                    uVar19 = 0xffffffff;\n                    pFVar14 = local_34;\n                    do {\n                      if (uVar19 == 0) break;\n                      uVar19 = uVar19 - 1;\n                      uVar18 = *(uint *)pFVar14;\n                      pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n                    } while ((char)uVar18 != '\0');\n                    pcVar7 = ", uses new ABI";\n                    pcVar8 = &DAT_000b579f + ~uVar19;\n                    for (iVar17 = 0xf; iVar17 != 0; iVar17 = iVar17 + -1) {\n                      *pcVar8 = *pcVar7;\n                      pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n                      pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n                    }\n                  }\n                  else {\n                    if (uVar19 != 0x100) goto LAB_0003edd8;\n                    uVar19 = 0xffffffff;\n                    pFVar14 = local_34;\n                    do {\n                      if (uVar19 == 0) break;\n                      uVar19 = uVar19 - 1;\n                      uVar18 = *(uint *)pFVar14;\n                      pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n                    } while ((char)uVar18 != '\0');\n                    pcVar7 = ", uses old ABI";\n                    pcVar8 = &DAT_000b579f + ~uVar19;\n                    for (iVar17 = 0xf; iVar17 != 0; iVar17 = iVar17 + -1) {\n                      *pcVar8 = *pcVar7;\n                      pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n                      pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n                    }\n                  }\n                }\n                else if (uVar19 == 0x400) {\n                  uVar19 = 0xffffffff;\n                  pFVar14 = local_34;\n                  do {\n                    if (uVar19 == 0) break;\n                    uVar19 = uVar19 - 1;\n                    uVar18 = *(uint *)pFVar14;\n                    pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n                  } while ((char)uVar18 != '\0');\n                  *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x4656202c;\n                  *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 0x50;\n                }\n                else {\n                  if (uVar19 != 0x800) goto LAB_0003edd8;\n                  uVar19 = 0xffffffff;\n                  pFVar14 = local_34;\n                  do {\n                    if (uVar19 == 0) break;\n                    uVar19 = uVar19 - 1;\n                    uVar18 = *(uint *)pFVar14;\n                    pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n                  } while ((char)uVar18 != '\0');\n                  pcVar7 = ", Maverick FP";\n                  pcVar8 = &DAT_000b579f + ~uVar19;\n                  for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {\n                    *pcVar8 = *pcVar7;\n                    pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n                    pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n                  }\n                }\n              } while (local_38 != (Filedata *)0x0);\n              goto LAB_0003d8e9;\n            }\n            local_38 = (Filedata *)(filedata->file_header).e_flags;\n          }\n          else if (uVar19 == 0x1000000) {\n            bVar26 = false;\n            pcVar8 = ", Version1 EABI";\n            for (iVar17 = 4; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *(undefined4 *)pcVar7 = *(undefined4 *)pcVar8;\n              pcVar8 = pcVar8 + ((uint)bVar28 * -2 + 1) * 4;\n              pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;\n            }\n            if (local_38 != (Filedata *)0x0) {\n              do {\n                uVar19 = -(int)local_38 & (uint)local_38;\n                local_38 = (Filedata *)((uint)local_38 & ~uVar19);\n                if (uVar19 == 4) {\n                  uVar19 = 0xffffffff;\n                  pFVar14 = local_34;\n                  do {\n                    if (uVar19 == 0) break;\n                    uVar19 = uVar19 - 1;\n                    uVar18 = *(uint *)pFVar14;\n                    pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n                  } while ((char)uVar18 != '\0');\n                  pcVar7 = ", sorted symbol tables";\n                  pcVar8 = &DAT_000b579f + ~uVar19;\n                  for (iVar17 = 0x17; iVar17 != 0; iVar17 = iVar17 + -1) {\n                    *pcVar8 = *pcVar7;\n                    pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n                    pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n                  }\n                }\n                else {\n                  bVar26 = true;\n                }\n              } while (local_38 != (Filedata *)0x0);\n              goto LAB_0003d8e9;\n            }\n            local_38 = (Filedata *)(filedata->file_header).e_flags;\n          }\n          else {\nLAB_0003c1eb:\n            pcVar8 = ", <unrecognized EABI>";\n            for (iVar17 = 0x16; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar7 = *pcVar8;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            }\n            if (local_38 == (Filedata *)0x0) {\n              local_38 = (Filedata *)(filedata->file_header).e_flags;\n            }\n            else {\nLAB_0003d8f4:\n              pcVar7 = (char *)dcgettext(0,", <unknown>",5);\n              strcat((char *)&buf_16750,pcVar7);\n              local_38 = (Filedata *)(filedata->file_header).e_flags;\n            }\n          }\n        }\n        else if (uVar19 == 0x4000000) {\n          pcVar8 = ", Version4 EABI";\n          for (iVar17 = 4; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *(undefined4 *)pcVar7 = *(undefined4 *)pcVar8;\n            pcVar8 = pcVar8 + ((uint)bVar28 * -2 + 1) * 4;\n            pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;\n          }\n          bVar26 = false;\n          if (local_38 == (Filedata *)0x0) {\n            local_38 = (Filedata *)(filedata->file_header).e_flags;\n          }\n          else {\n            do {\n              uVar19 = -(int)local_38 & (uint)local_38;\n              local_38 = (Filedata *)((uint)local_38 & ~uVar19);\n              pFVar14 = local_34;\n              if (uVar19 == 0x400000) {\n                do {\n                  puVar13 = (uint *)pFVar14;\n                  uVar18 = *puVar13 + 0xfefefeff & ~*puVar13;\n                  uVar19 = uVar18 & 0x80808080;\n                  pFVar14 = (Filedata *)(puVar13 + 1);\n                } while (uVar19 == 0);\n                bVar27 = (uVar18 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar19 = uVar19 >> 0x10;\n                }\n                puVar23 = puVar13 + 1;\n                if (bVar27) {\n                  puVar23 = (uint *)((int)puVar13 + 6);\n                }\n                builtin_strncpy((char *)((int)puVar23 +\n                                        (-3 - (uint)CARRY1((byte)uVar19,(byte)uVar19))),", LE8",6);\n              }\n              else if (uVar19 == 0x800000) {\n                do {\n                  puVar13 = (uint *)pFVar14;\n                  uVar18 = *puVar13 + 0xfefefeff & ~*puVar13;\n                  uVar19 = uVar18 & 0x80808080;\n                  pFVar14 = (Filedata *)(puVar13 + 1);\n                } while (uVar19 == 0);\n                bVar27 = (uVar18 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar19 = uVar19 >> 0x10;\n                }\n                puVar23 = puVar13 + 1;\n                if (bVar27) {\n                  puVar23 = (uint *)((int)puVar13 + 6);\n                }\n                builtin_strncpy((char *)((int)puVar23 +\n                                        (-3 - (uint)CARRY1((byte)uVar19,(byte)uVar19))),", BE8",6);\n              }\n              else {\n                bVar26 = true;\n              }\n            } while (local_38 != (Filedata *)0x0);\nLAB_0003d8e9:\n            if (bVar26) goto LAB_0003d8f4;\n            local_38 = (Filedata *)(filedata->file_header).e_flags;\n          }\n        }\n        else if (uVar19 == 0x5000000) {\n          bVar26 = false;\n          pcVar8 = ", Version5 EABI";\n          for (iVar17 = 4; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *(undefined4 *)pcVar7 = *(undefined4 *)pcVar8;\n            pcVar8 = pcVar8 + ((uint)bVar28 * -2 + 1) * 4;\n            pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;\n          }\n          if (local_38 != (Filedata *)0x0) {\n            do {\n              uVar19 = -(int)local_38 & (uint)local_38;\n              local_38 = (Filedata *)((uint)local_38 & ~uVar19);\n              if (uVar19 == 0x400) {\n                uVar19 = 0xffffffff;\n                pFVar14 = local_34;\n                do {\n                  if (uVar19 == 0) break;\n                  uVar19 = uVar19 - 1;\n                  uVar18 = *(uint *)pFVar14;\n                  pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n                } while ((char)uVar18 != '\0');\n                pcVar7 = ", hard-float ABI";\n                pcVar8 = &DAT_000b579f + ~uVar19;\n                for (iVar17 = 0x11; iVar17 != 0; iVar17 = iVar17 + -1) {\n                  *pcVar8 = *pcVar7;\n                  pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n                  pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n                }\n              }\n              else if (uVar19 < 0x401) {\n                if (uVar19 == 0x200) {\n                  uVar19 = 0xffffffff;\n                  pFVar14 = local_34;\n                  do {\n                    if (uVar19 == 0) break;\n                    uVar19 = uVar19 - 1;\n                    uVar18 = *(uint *)pFVar14;\n                    pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n                  } while ((char)uVar18 != '\0');\n                  pcVar7 = ", soft-float ABI";\n                  pcVar8 = &DAT_000b579f + ~uVar19;\n                  for (iVar17 = 0x11; iVar17 != 0; iVar17 = iVar17 + -1) {\n                    *pcVar8 = *pcVar7;\n                    pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n                    pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n                  }\n                }\n                else {\nLAB_0003ef43:\n                  bVar26 = true;\n                }\n              }\n              else if (uVar19 == 0x400000) {\n                uVar19 = 0xffffffff;\n                pFVar14 = local_34;\n                do {\n                  if (uVar19 == 0) break;\n                  uVar19 = uVar19 - 1;\n                  uVar18 = *(uint *)pFVar14;\n                  pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n                } while ((char)uVar18 != '\0');\n                *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x454c202c;\n                *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 0x38;\n              }\n              else {\n                if (uVar19 != 0x800000) goto LAB_0003ef43;\n                uVar19 = 0xffffffff;\n                pFVar14 = local_34;\n                do {\n                  if (uVar19 == 0) break;\n                  uVar19 = uVar19 - 1;\n                  uVar18 = *(uint *)pFVar14;\n                  pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n                } while ((char)uVar18 != '\0');\n                *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x4542202c;\n                *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 0x38;\n              }\n            } while (local_38 != (Filedata *)0x0);\n            goto LAB_0003d8e9;\n          }\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else {\n          if (uVar19 != 0x3000000) goto LAB_0003c1eb;\n          pcVar8 = ", Version3 EABI";\n          for (iVar17 = 4; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *(undefined4 *)pcVar7 = *(undefined4 *)pcVar8;\n            pcVar8 = pcVar8 + ((uint)bVar28 * -2 + 1) * 4;\n            pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;\n          }\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n      }\n    }\n    else if (uVar3 == 0x53) {\n      switch((uint)local_38 & 0x7f) {\n      default:\n        pcVar7 = ", avr:<unknown>";\n        puVar24 = &buf_16750;\n        for (iVar17 = 4; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *puVar24 = *(undefined4 *)pcVar7;\n          pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;\n          puVar24 = puVar24 + (uint)bVar28 * -2 + 1;\n        }\n        break;\n      case 1:\n        buf_16750 = 0x7661202c;\n        DAT_000b57a4 = 0x313a72;\n        break;\n      case 2:\n        buf_16750 = 0x7661202c;\n        DAT_000b57a4 = 0x323a72;\n        break;\n      case 3:\n        buf_16750 = 0x7661202c;\n        DAT_000b57a4 = 0x333a72;\n        break;\n      case 4:\n        buf_16750 = 0x7661202c;\n        DAT_000b57a4 = 0x343a72;\n        break;\n      case 5:\n        buf_16750 = 0x7661202c;\n        DAT_000b57a4 = 0x353a72;\n        break;\n      case 6:\n        buf_16750 = 0x7661202c;\n        DAT_000b57a4 = 0x363a72;\n        break;\n      case 0x19:\n        pcVar7 = ", avr:25";\n        pcVar8 = (char *)&buf_16750;\n        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *pcVar8 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n        }\n        break;\n      case 0x1f:\n        pcVar7 = ", avr:31";\n        pcVar8 = (char *)&buf_16750;\n        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *pcVar8 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n        }\n        break;\n      case 0x23:\n        pcVar7 = ", avr:35";\n        pcVar8 = (char *)&buf_16750;\n        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *pcVar8 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n        }\n        break;\n      case 0x33:\n        pcVar7 = ", avr:51";\n        pcVar8 = (char *)&buf_16750;\n        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *pcVar8 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n        }\n        break;\n      case 100:\n        pcVar7 = ", avr:100";\n        pcVar8 = (char *)&buf_16750;\n        for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *pcVar8 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n        }\n        break;\n      case 0x65:\n        pcVar7 = ", avr:101";\n        pcVar8 = (char *)&buf_16750;\n        for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *pcVar8 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n        }\n        break;\n      case 0x66:\n        pcVar7 = ", avr:102";\n        pcVar8 = (char *)&buf_16750;\n        for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *pcVar8 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n        }\n        break;\n      case 0x67:\n        pcVar7 = ", avr:103";\n        pcVar8 = (char *)&buf_16750;\n        for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *pcVar8 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n        }\n        break;\n      case 0x68:\n        pcVar7 = ", avr:104";\n        pcVar8 = (char *)&buf_16750;\n        for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *pcVar8 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n        }\n        break;\n      case 0x69:\n        pcVar7 = ", avr:105";\n        pcVar8 = (char *)&buf_16750;\n        for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *pcVar8 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n        }\n        break;\n      case 0x6a:\n        pcVar7 = ", avr:106";\n        pcVar8 = (char *)&buf_16750;\n        for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *pcVar8 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n        }\n        break;\n      case 0x6b:\n        pcVar7 = ", avr:107";\n        pcVar8 = (char *)&buf_16750;\n        for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *pcVar8 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n        }\n      }\n      local_34 = (Filedata *)&buf_16750;\n      if (((uint)local_38 & 0x80) == 0) {\n        local_38 = (Filedata *)(filedata->file_header).e_flags;\n      }\n      else {\n        iVar17 = -1;\n        do {\n          if (iVar17 == 0) break;\n          iVar17 = iVar17 + -1;\n          cVar2 = *(char *)local_34;\n          local_34 = (Filedata *)((int)local_34 + (uint)bVar28 * -2 + 1);\n        } while (cVar2 != '\0');\n        strncat((char *)&buf_16750,", link-relax",iVar17 + 0x401);\n        local_38 = (Filedata *)(filedata->file_header).e_flags;\n      }\n    }\n    else if (uVar3 < 0x54) {\n      if (uVar3 == 0x4b) {\n        if (((uint)local_38 & 1) != 0) {\n          pcVar7 = ", non-PIC";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x100) != 0) {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          pcVar7 = ", D-Float";\n          pcVar8 = &DAT_000b579f + ~uVar19;\n          for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x200) == 0) {\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          pcVar7 = ", G-Float";\n          pcVar8 = &DAT_000b579f + ~uVar19;\n          for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n      }\n    }\n    else if (uVar3 == 0x57) {\nLAB_0003c0c0:\n      uVar19 = (uint)local_38 & 0xf0000000;\n      if (uVar19 == 0x20000000) {\n        pcVar7 = ", v850e1";\n        pcVar8 = (char *)&buf_16750;\n        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *pcVar8 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n        }\n        local_38 = (Filedata *)(filedata->file_header).e_flags;\n      }\n      else if (uVar19 < 0x20000001) {\n        if (uVar19 == 0) {\n          pcVar7 = ", v850";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else if (uVar19 == 0x10000000) {\n          buf_16750 = 0x3876202c;\n          DAT_000b57a4 = 0x653035;\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else {\nLAB_0003c0ff:\n          pcVar7 = (char *)dcgettext(0,", unknown v850 architecture variant",5,&buf_16750);\n          strcat((char *)&buf_16750,pcVar7);\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n      }\n      else if (uVar19 == 0x40000000) {\n        puVar12 = &DAT_0007ca6f;\n        puVar24 = &buf_16750;\n        for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *(undefined1 *)puVar24 = *puVar12;\n          puVar12 = puVar12 + (uint)bVar28 * -2 + 1;\n          puVar24 = (undefined4 *)((int)puVar24 + (uint)bVar28 * -2 + 1);\n        }\n        local_38 = (Filedata *)(filedata->file_header).e_flags;\n      }\n      else if (uVar19 == 0x60000000) {\n        puVar12 = &DAT_0007ca64;\n        puVar24 = &buf_16750;\n        for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *(undefined1 *)puVar24 = *puVar12;\n          puVar12 = puVar12 + (uint)bVar28 * -2 + 1;\n          puVar24 = (undefined4 *)((int)puVar24 + (uint)bVar28 * -2 + 1);\n        }\n        local_38 = (Filedata *)(filedata->file_header).e_flags;\n      }\n      else {\n        if (uVar19 != 0x30000000) goto LAB_0003c0ff;\n        pcVar7 = ", v850e2";\n        pcVar8 = (char *)&buf_16750;\n        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *pcVar8 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n        }\n        local_38 = (Filedata *)(filedata->file_header).e_flags;\n      }\n    }\n    else if (uVar3 == 0x58) goto LAB_0003bb50;\n    goto LAB_0003b840;\n  }\n  if (uVar3 == 0xf) {\n    uVar19 = (uint)local_38 & 0xffff;\n    if (uVar19 == 0x210) {\n      pcVar7 = ", PA-RISC 1.1";\n      puVar13 = &buf_16750;\n      for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *(char *)puVar13 = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n      }\n    }\n    else if (uVar19 == 0x214) {\n      pcVar7 = ", PA-RISC 2.0";\n      puVar13 = &buf_16750;\n      for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *(char *)puVar13 = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n      }\n    }\n    else if (uVar19 == 0x20b) {\n      pcVar7 = ", PA-RISC 1.0";\n      puVar13 = &buf_16750;\n      for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *(char *)puVar13 = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n      }\n    }\n    if (((uint)local_38 & 0x10000) != 0) {\n      uVar19 = 0xffffffff;\n      puVar13 = &buf_16750;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        uVar18 = *puVar13;\n        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n      } while ((char)uVar18 != '\0');\n      pcVar7 = ", trapnil";\n      pcVar8 = &DAT_000b579f + ~uVar19;\n      for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *pcVar8 = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x20000) != 0) {\n      uVar19 = 0xffffffff;\n      puVar13 = &buf_16750;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        uVar18 = *puVar13;\n        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n      } while ((char)uVar18 != '\0');\n      *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x7865202c;\n      *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 0x74;\n    }\n    if (((uint)local_38 & 0x40000) != 0) {\n      uVar19 = 0xffffffff;\n      puVar13 = &buf_16750;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        uVar18 = *puVar13;\n        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n      } while ((char)uVar18 != '\0');\n      *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x736c202c;\n      *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 0x62;\n    }\n    if (((uint)local_38 & 0x80000) != 0) {\n      uVar19 = 0xffffffff;\n      puVar13 = &buf_16750;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        uVar18 = *puVar13;\n        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n      } while ((char)uVar18 != '\0');\n      pcVar7 = ", wide";\n      pcVar8 = &DAT_000b579f + ~uVar19;\n      for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *pcVar8 = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x100000) != 0) {\n      uVar19 = 0xffffffff;\n      puVar13 = &buf_16750;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        uVar18 = *puVar13;\n        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n      } while ((char)uVar18 != '\0');\n      pcVar7 = ", no kabp";\n      pcVar8 = &DAT_000b579f + ~uVar19;\n      for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *pcVar8 = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x400000) == 0) {\n      local_38 = (Filedata *)(filedata->file_header).e_flags;\n    }\n    else {\n      uVar19 = 0xffffffff;\n      puVar13 = &buf_16750;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        uVar18 = *puVar13;\n        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n      } while ((char)uVar18 != '\0');\n      pcVar7 = ", lazyswap";\n      pcVar8 = &DAT_000b579f + ~uVar19;\n      for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *pcVar8 = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n      }\n      local_38 = (Filedata *)(filedata->file_header).e_flags;\n    }\n    goto LAB_0003b840;\n  }\n  if (0xf < uVar3) {\n    if (uVar3 == 0x15) {\n      if (((uint)local_38 & 3) != 0) {\n        abi[6] = (char)((uint)local_38 & 3) + '0';\n        builtin_strncpy(abi,", abiv",6);\n        abi[7] = '\0';\n        strcpy((char *)&buf_16750,abi);\n        local_38 = (Filedata *)(filedata->file_header).e_flags;\n      }\n    }\n    else if (uVar3 == 0x16) {\n      if (((uint)local_38 & 1) != 0) {\n        pcVar7 = ", highgprs";\n        pcVar8 = (char *)&buf_16750;\n        for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *pcVar8 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n        }\n        local_38 = (Filedata *)(filedata->file_header).e_flags;\n      }\n    }\n    else if (uVar3 == 0x14) {\n      if ((int)local_38 < 0) {\n        buf_16750 = 0x6d65202c;\n        DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x62);\n      }\n      if (((uint)local_38 & 0x10000) != 0) {\n        pcVar7 = (char *)0x0;\n        pcVar8 = (char *)dcgettext(0,", relocatable",5,&buf_16750);\n        strcat((char *)&buf_16750,pcVar8);\n      }\n      if (((uint)local_38 & 0x8000) == 0) {\n        local_38 = (Filedata *)(filedata->file_header).e_flags;\n      }\n      else {\n        pcVar7 = (char *)dcgettext(0,", relocatable-lib",5,pcVar7);\n        strcat((char *)&buf_16750,pcVar7);\n        local_38 = (Filedata *)(filedata->file_header).e_flags;\n      }\n    }\n    goto LAB_0003b840;\n  }\n  if ((uVar3 == 8) || (uVar3 == 10)) {\n    pFVar14 = (Filedata *)&buf_16750;\n    local_34 = (Filedata *)&buf_16750;\n    pFVar25 = filedata;\n    if (((uint)local_38 & 1) != 0) {\n      pcVar7 = ", noreorder";\n      pFVar25 = pFVar14;\n      for (iVar17 = 3; iVar17 != 0; iVar17 = iVar17 + -1) {\n        pFVar25->file_name = *(char **)pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -8 + 4;\n        pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -8 + 4);\n      }\n    }\n    pFVar20 = local_38;\n    if (((uint)local_38 & 2) != 0) {\n      uVar19 = 0xffffffff;\n      pFVar25 = pFVar14;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        ppcVar5 = &pFVar25->file_name;\n        pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -2 + 1);\n      } while (*(char *)ppcVar5 != '\0');\n      pFVar20 = (Filedata *)~uVar19;\n      *(undefined4 *)((int)&pFVar20[0x1907].num_dump_sects + 3) = 0x6970202c;\n      *(undefined2 *)((int)&pFVar20[0x1908].file_name + 3) = 99;\n      pFVar25 = local_34;\n    }\n    if (((uint)local_38 & 4) != 0) {\n      uVar19 = 0xffffffff;\n      pFVar25 = pFVar14;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        ppcVar5 = &pFVar25->file_name;\n        pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -2 + 1);\n      } while (*(char *)ppcVar5 != '\0');\n      pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);\n      pcVar7 = ", cpic";\n      pFVar25 = pFVar20;\n      for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *(char *)&pFVar25->file_name = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -2 + 1);\n      }\n    }\n    if (((uint)local_38 & 0x10) != 0) {\n      uVar19 = 0xffffffff;\n      pFVar25 = pFVar14;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        ppcVar5 = &pFVar25->file_name;\n        pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -2 + 1);\n      } while (*(char *)ppcVar5 != '\0');\n      pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);\n      pcVar7 = ", ugen_reserved";\n      pFVar25 = pFVar20;\n      for (iVar17 = 4; iVar17 != 0; iVar17 = iVar17 + -1) {\n        pFVar25->file_name = *(char **)pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -8 + 4;\n        pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -8 + 4);\n      }\n    }\n    if (((uint)local_38 & 0x20) != 0) {\n      uVar19 = 0xffffffff;\n      pFVar25 = pFVar14;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        ppcVar5 = &pFVar25->file_name;\n        pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -2 + 1);\n      } while (*(char *)ppcVar5 != '\0');\n      pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);\n      pcVar7 = ", abi2";\n      pFVar25 = pFVar20;\n      for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *(char *)&pFVar25->file_name = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -2 + 1);\n      }\n    }\n    if (((uint)local_38 & 0x80) != 0) {\n      uVar19 = 0xffffffff;\n      pFVar25 = pFVar14;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        ppcVar5 = &pFVar25->file_name;\n        pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -2 + 1);\n      } while (*(char *)ppcVar5 != '\0');\n      pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);\n      pcVar7 = ", odk first";\n      pFVar25 = pFVar20;\n      for (iVar17 = 3; iVar17 != 0; iVar17 = iVar17 + -1) {\n        pFVar25->file_name = *(char **)pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -8 + 4;\n        pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -8 + 4);\n      }\n    }\n    if (((uint)local_38 & 0x100) != 0) {\n      uVar19 = 0xffffffff;\n      pFVar25 = pFVar14;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        ppcVar5 = &pFVar25->file_name;\n        pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -2 + 1);\n      } while (*(char *)ppcVar5 != '\0');\n      pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);\n      pcVar7 = ", 32bitmode";\n      pFVar25 = pFVar20;\n      for (iVar17 = 3; iVar17 != 0; iVar17 = iVar17 + -1) {\n        pFVar25->file_name = *(char **)pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -8 + 4;\n        pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -8 + 4);\n      }\n    }\n    if (((uint)local_38 & 0x400) != 0) {\n      uVar19 = 0xffffffff;\n      pFVar25 = pFVar14;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        ppcVar5 = &pFVar25->file_name;\n        pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -2 + 1);\n      } while (*(char *)ppcVar5 != '\0');\n      pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);\n      pcVar7 = ", nan2008";\n      pFVar25 = pFVar20;\n      for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *(char *)&pFVar25->file_name = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -2 + 1);\n      }\n    }\n    if (((uint)local_38 & 0x200) != 0) {\n      uVar19 = 0xffffffff;\n      pFVar25 = pFVar14;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        ppcVar5 = &pFVar25->file_name;\n        pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -2 + 1);\n      } while (*(char *)ppcVar5 != '\0');\n      pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);\n      pcVar7 = ", fp64";\n      pFVar25 = pFVar20;\n      for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *(char *)&pFVar25->file_name = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -2 + 1);\n      }\n    }\n    uVar19 = (uint)local_38 & 0xff0000;\n    if (uVar19 == 0x8c0000) {\n      uVar19 = 0xffffffff;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        ppcVar5 = &pFVar14->file_name;\n        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n      } while (*(char *)ppcVar5 != '\0');\n      pFVar14 = (Filedata *)&buf_16750;\n      pFVar20 = (Filedata *)~uVar19;\n      *(undefined4 *)((int)&pFVar20[0x1907].num_dump_sects + 3) = 0x6c78202c;\n      *(undefined2 *)((int)&pFVar20[0x1908].file_name + 3) = 0x72;\n    }\n    else if (uVar19 < 0x8c0001) {\n      if (uVar19 == 0x850000) {\n        uVar19 = 0xffffffff;\n        do {\n          if (uVar19 == 0) break;\n          uVar19 = uVar19 - 1;\n          ppcVar5 = &pFVar14->file_name;\n          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n        } while (*(char *)ppcVar5 != '\0');\n        pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);\n        pcVar7 = ", 4650";\n        pFVar14 = pFVar20;\n        for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *(char *)&pFVar14->file_name = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n        }\n      }\n      else if (uVar19 < 0x850001) {\n        if (uVar19 == 0x810000) {\n          uVar19 = 0xffffffff;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            ppcVar5 = &pFVar14->file_name;\n            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n          } while (*(char *)ppcVar5 != '\0');\n          pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);\n          pcVar7 = ", 3900";\n          pFVar14 = pFVar20;\n          for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *(char *)&pFVar14->file_name = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n          }\n        }\n        else if (uVar19 < 0x810001) {\n          pFVar14 = pFVar25;\n          if (uVar19 != 0) goto LAB_0003d280;\n        }\n        else if (uVar19 == 0x820000) {\n          uVar19 = 0xffffffff;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            ppcVar5 = &pFVar14->file_name;\n            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n          } while (*(char *)ppcVar5 != '\0');\n          pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);\n          pcVar7 = ", 4010";\n          pFVar14 = pFVar20;\n          for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *(char *)&pFVar14->file_name = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n          }\n        }\n        else {\n          if (uVar19 != 0x830000) goto LAB_0003d280;\n          uVar19 = 0xffffffff;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            ppcVar5 = &pFVar14->file_name;\n            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n          } while (*(char *)ppcVar5 != '\0');\n          pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);\n          pcVar7 = ", 4100";\n          pFVar14 = pFVar20;\n          for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *(char *)&pFVar14->file_name = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n          }\n        }\n      }\n      else if (uVar19 == 0x880000) {\n        uVar19 = 0xffffffff;\n        do {\n          if (uVar19 == 0) break;\n          uVar19 = uVar19 - 1;\n          ppcVar5 = &pFVar14->file_name;\n          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n        } while (*(char *)ppcVar5 != '\0');\n        pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);\n        pcVar7 = ", 4111";\n        pFVar14 = pFVar20;\n        for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *(char *)&pFVar14->file_name = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n        }\n      }\n      else if (uVar19 < 0x880001) {\n        if (uVar19 != 0x870000) goto LAB_0003d280;\n        uVar19 = 0xffffffff;\n        do {\n          if (uVar19 == 0) break;\n          uVar19 = uVar19 - 1;\n          ppcVar5 = &pFVar14->file_name;\n          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n        } while (*(char *)ppcVar5 != '\0');\n        pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);\n        pcVar7 = ", 4120";\n        pFVar14 = pFVar20;\n        for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *(char *)&pFVar14->file_name = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n        }\n      }\n      else if (uVar19 == 0x8a0000) {\n        uVar19 = 0xffffffff;\n        pFVar25 = pFVar14;\n        do {\n          if (uVar19 == 0) break;\n          uVar19 = uVar19 - 1;\n          ppcVar5 = &pFVar25->file_name;\n          pFVar25 = (Filedata *)((int)pFVar25 + (uint)bVar28 * -2 + 1);\n        } while (*(char *)ppcVar5 != '\0');\n        pFVar20 = (Filedata *)~uVar19;\n        *(undefined4 *)((int)&pFVar20[0x1907].num_dump_sects + 3) = 0x6273202c;\n        *(undefined2 *)((int)&pFVar20[0x1908].file_name + 3) = 0x31;\n      }\n      else {\n        if (uVar19 != 0x8b0000) goto LAB_0003d280;\n        uVar19 = 0xffffffff;\n        do {\n          if (uVar19 == 0) break;\n          uVar19 = uVar19 - 1;\n          ppcVar5 = &pFVar14->file_name;\n          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n        } while (*(char *)ppcVar5 != '\0');\n        pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);\n        pcVar7 = ", octeon";\n        pFVar14 = pFVar20;\n        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *(char *)&pFVar14->file_name = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n        }\n      }\n    }\n    else if (uVar19 == 0x930000) {\n      uVar19 = 0xffffffff;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        ppcVar5 = &pFVar14->file_name;\n        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n      } while (*(char *)ppcVar5 != '\0');\n      pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);\n      pcVar7 = ", interaptiv-mr2";\n      pFVar14 = pFVar20;\n      for (iVar17 = 0x11; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *(char *)&pFVar14->file_name = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n      }\n    }\n    else if (uVar19 < 0x930001) {\n      if (uVar19 == 0x8e0000) {\n        uVar19 = 0xffffffff;\n        do {\n          if (uVar19 == 0) break;\n          uVar19 = uVar19 - 1;\n          ppcVar5 = &pFVar14->file_name;\n          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n        } while (*(char *)ppcVar5 != '\0');\n        pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);\n        pcVar7 = ", octeon3";\n        pFVar14 = pFVar20;\n        for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *(char *)&pFVar14->file_name = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n        }\n      }\n      else if (uVar19 < 0x8e0001) {\n        if (uVar19 == 0x8d0000) {\n          uVar19 = 0xffffffff;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            ppcVar5 = &pFVar14->file_name;\n            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n          } while (*(char *)ppcVar5 != '\0');\n          pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);\n          pcVar7 = ", octeon2";\n          pFVar14 = pFVar20;\n          for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *(char *)&pFVar14->file_name = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n          }\n        }\n        else {\nLAB_0003d280:\n          pFVar14 = (Filedata *)0x0;\n          pcVar7 = (char *)dcgettext(0,", unknown CPU",5,pcVar7);\n          strcat((char *)&buf_16750,pcVar7);\n          pFVar20 = extraout_EDX;\n        }\n      }\n      else if (uVar19 == 0x910000) {\n        uVar19 = 0xffffffff;\n        do {\n          if (uVar19 == 0) break;\n          uVar19 = uVar19 - 1;\n          ppcVar5 = &pFVar14->file_name;\n          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n        } while (*(char *)ppcVar5 != '\0');\n        pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);\n        pcVar7 = ", 5400";\n        pFVar14 = pFVar20;\n        for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *(char *)&pFVar14->file_name = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n        }\n      }\n      else {\n        if (uVar19 != 0x920000) goto LAB_0003d280;\n        uVar19 = 0xffffffff;\n        do {\n          if (uVar19 == 0) break;\n          uVar19 = uVar19 - 1;\n          ppcVar5 = &pFVar14->file_name;\n          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n        } while (*(char *)ppcVar5 != '\0');\n        pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);\n        pcVar7 = ", 5900";\n        pFVar14 = pFVar20;\n        for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *(char *)&pFVar14->file_name = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n        }\n      }\n    }\n    else if (uVar19 == 0xa00000) {\n      uVar19 = 0xffffffff;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        ppcVar5 = &pFVar14->file_name;\n        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n      } while (*(char *)ppcVar5 != '\0');\n      pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);\n      pcVar7 = ", loongson-2e";\n      pFVar14 = pFVar20;\n      for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *(char *)&pFVar14->file_name = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n      }\n    }\n    else if (uVar19 < 0xa00001) {\n      if (uVar19 == 0x980000) {\n        uVar19 = 0xffffffff;\n        do {\n          if (uVar19 == 0) break;\n          uVar19 = uVar19 - 1;\n          ppcVar5 = &pFVar14->file_name;\n          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n        } while (*(char *)ppcVar5 != '\0');\n        pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);\n        pcVar7 = ", 5500";\n        pFVar14 = pFVar20;\n        for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *(char *)&pFVar14->file_name = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n        }\n      }\n      else {\n        if (uVar19 != 0x990000) goto LAB_0003d280;\n        uVar19 = 0xffffffff;\n        do {\n          if (uVar19 == 0) break;\n          uVar19 = uVar19 - 1;\n          ppcVar5 = &pFVar14->file_name;\n          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n        } while (*(char *)ppcVar5 != '\0');\n        pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);\n        pcVar7 = ", 9000";\n        pFVar14 = pFVar20;\n        for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *(char *)&pFVar14->file_name = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n        }\n      }\n    }\n    else if (uVar19 == 0xa10000) {\n      uVar19 = 0xffffffff;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        ppcVar5 = &pFVar14->file_name;\n        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n      } while (*(char *)ppcVar5 != '\0');\n      pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);\n      pcVar7 = ", loongson-2f";\n      pFVar14 = pFVar20;\n      for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *(char *)&pFVar14->file_name = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n      }\n    }\n    else {\n      if (uVar19 != 0xa20000) goto LAB_0003d280;\n      uVar19 = 0xffffffff;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        ppcVar5 = &pFVar14->file_name;\n        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n      } while (*(char *)ppcVar5 != '\0');\n      pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);\n      pcVar7 = ", loongson-3a";\n      pFVar14 = pFVar20;\n      for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *(char *)&pFVar14->file_name = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n      }\n    }\n    local_34 = (Filedata *)&buf_16750;\n    uVar19 = (uint)local_38 & 0xf000;\n    if (uVar19 == 0x2000) {\n      uVar19 = 0xffffffff;\n      pFVar14 = local_34;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        cVar2 = *(char *)pFVar14;\n        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n      } while (cVar2 != '\0');\n      pFVar20 = (Filedata *)~uVar19;\n      *(undefined4 *)((int)&pFVar20[0x1907].num_dump_sects + 3) = 0x366f202c;\n      *(undefined2 *)((int)&pFVar20[0x1908].file_name + 3) = 0x34;\n    }\n    else if (uVar19 < 0x2001) {\n      if (uVar19 != 0) {\n        if (uVar19 == 0x1000) {\n          uVar19 = 0xffffffff;\n          pFVar14 = local_34;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *(char *)pFVar14;\n            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n          } while (cVar2 != '\0');\n          pFVar20 = (Filedata *)~uVar19;\n          *(undefined4 *)((int)&pFVar20[0x1907].num_dump_sects + 3) = 0x336f202c;\n          *(undefined2 *)((int)&pFVar20[0x1908].file_name + 3) = 0x32;\n        }\n        else {\nLAB_0003e7da:\n          pcVar7 = (char *)dcgettext(0,", unknown ABI",5,pFVar14);\n          strcat((char *)&buf_16750,pcVar7);\n          pFVar20 = extraout_EDX_01;\n        }\n      }\n    }\n    else if (uVar19 == 0x3000) {\n      uVar19 = 0xffffffff;\n      pFVar14 = local_34;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        cVar2 = *(char *)pFVar14;\n        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n      } while (cVar2 != '\0');\n      pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);\n      pcVar7 = ", eabi32";\n      pFVar14 = pFVar20;\n      for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *(char *)&pFVar14->file_name = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n      }\n    }\n    else {\n      if (uVar19 != 0x4000) goto LAB_0003e7da;\n      uVar19 = 0xffffffff;\n      pFVar14 = local_34;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        cVar2 = *(char *)pFVar14;\n        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n      } while (cVar2 != '\0');\n      pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);\n      pcVar7 = ", eabi64";\n      pFVar14 = pFVar20;\n      for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *(char *)&pFVar14->file_name = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n      }\n    }\n    if (((uint)local_38 & 0x8000000) != 0) {\n      uVar19 = 0xffffffff;\n      pFVar14 = local_34;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        cVar2 = *(char *)pFVar14;\n        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n      } while (cVar2 != '\0');\n      pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);\n      pcVar7 = ", mdmx";\n      pFVar14 = pFVar20;\n      for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *(char *)&pFVar14->file_name = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n      }\n    }\n    if (((uint)local_38 & 0x4000000) != 0) {\n      uVar19 = 0xffffffff;\n      pFVar14 = local_34;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        cVar2 = *(char *)pFVar14;\n        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n      } while (cVar2 != '\0');\n      pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);\n      pcVar7 = ", mips16";\n      pFVar14 = pFVar20;\n      for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *(char *)&pFVar14->file_name = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n      }\n    }\n    if (((uint)local_38 & 0x2000000) != 0) {\n      uVar19 = 0xffffffff;\n      pFVar14 = local_34;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        cVar2 = *(char *)pFVar14;\n        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n      } while (cVar2 != '\0');\n      pFVar20 = (Filedata *)(&DAT_000b579f + ~uVar19);\n      pcVar7 = ", micromips";\n      pFVar14 = pFVar20;\n      for (iVar17 = 3; iVar17 != 0; iVar17 = iVar17 + -1) {\n        pFVar14->file_name = *(char **)pcVar7;\n        pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;\n        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -8 + 4);\n      }\n    }\n    uVar19 = (uint)local_38 & 0xf0000000;\n    if (uVar19 == 0x50000000) {\n      uVar19 = 0xffffffff;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        cVar2 = *(char *)local_34;\n        local_34 = (Filedata *)((int)local_34 + (uint)bVar28 * -2 + 1);\n      } while (cVar2 != '\0');\n      pcVar7 = ", mips32";\n      pcVar8 = &DAT_000b579f + ~uVar19;\n      for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *pcVar8 = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n      }\n      local_38 = (Filedata *)(filedata->file_header).e_flags;\n    }\n    else if (uVar19 < 0x50000001) {\n      if (uVar19 == 0x20000000) {\n        uVar19 = 0xffffffff;\n        do {\n          if (uVar19 == 0) break;\n          uVar19 = uVar19 - 1;\n          cVar2 = *(char *)local_34;\n          local_34 = (Filedata *)((int)local_34 + (uint)bVar28 * -2 + 1);\n        } while (cVar2 != '\0');\n        *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x696d202c;\n        *(undefined4 *)((int)&buf_16750 + ~uVar19 + 3) = 0x337370;\n        local_38 = (Filedata *)(filedata->file_header).e_flags;\n      }\n      else if (uVar19 < 0x20000001) {\n        if (uVar19 == 0) {\n          uVar19 = 0xffffffff;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *(char *)local_34;\n            local_34 = (Filedata *)((int)local_34 + (uint)bVar28 * -2 + 1);\n          } while (cVar2 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x696d202c;\n          *(undefined4 *)((int)&buf_16750 + ~uVar19 + 3) = 0x317370;\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else if (uVar19 == 0x10000000) {\n          uVar19 = 0xffffffff;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *(char *)local_34;\n            local_34 = (Filedata *)((int)local_34 + (uint)bVar28 * -2 + 1);\n          } while (cVar2 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x696d202c;\n          *(undefined4 *)((int)&buf_16750 + ~uVar19 + 3) = 0x327370;\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else {\nLAB_0003e94f:\n          pcVar7 = (char *)dcgettext(0,", unknown ISA",5,pFVar20);\n          strcat((char *)&buf_16750,pcVar7);\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n      }\n      else if (uVar19 == 0x30000000) {\n        uVar19 = 0xffffffff;\n        do {\n          if (uVar19 == 0) break;\n          uVar19 = uVar19 - 1;\n          cVar2 = *(char *)local_34;\n          local_34 = (Filedata *)((int)local_34 + (uint)bVar28 * -2 + 1);\n        } while (cVar2 != '\0');\n        *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x696d202c;\n        *(undefined4 *)((int)&buf_16750 + ~uVar19 + 3) = 0x347370;\n        local_38 = (Filedata *)(filedata->file_header).e_flags;\n      }\n      else {\n        if (uVar19 != 0x40000000) goto LAB_0003e94f;\n        uVar19 = 0xffffffff;\n        do {\n          if (uVar19 == 0) break;\n          uVar19 = uVar19 - 1;\n          cVar2 = *(char *)local_34;\n          local_34 = (Filedata *)((int)local_34 + (uint)bVar28 * -2 + 1);\n        } while (cVar2 != '\0');\n        *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x696d202c;\n        *(undefined4 *)((int)&buf_16750 + ~uVar19 + 3) = 0x357370;\n        local_38 = (Filedata *)(filedata->file_header).e_flags;\n      }\n    }\n    else if (uVar19 == 0x80000000) {\n      uVar19 = 0xffffffff;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        cVar2 = *(char *)local_34;\n        local_34 = (Filedata *)((int)local_34 + (uint)bVar28 * -2 + 1);\n      } while (cVar2 != '\0');\n      pcVar7 = ", mips64r2";\n      pcVar8 = &DAT_000b579f + ~uVar19;\n      for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *pcVar8 = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n      }\n      local_38 = (Filedata *)(filedata->file_header).e_flags;\n    }\n    else if (uVar19 < 0x80000001) {\n      if (uVar19 == 0x60000000) {\n        uVar19 = 0xffffffff;\n        do {\n          if (uVar19 == 0) break;\n          uVar19 = uVar19 - 1;\n          cVar2 = *(char *)local_34;\n          local_34 = (Filedata *)((int)local_34 + (uint)bVar28 * -2 + 1);\n        } while (cVar2 != '\0');\n        pcVar7 = ", mips64";\n        pcVar8 = &DAT_000b579f + ~uVar19;\n        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *pcVar8 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n        }\n        local_38 = (Filedata *)(filedata->file_header).e_flags;\n      }\n      else {\n        if (uVar19 != 0x70000000) goto LAB_0003e94f;\n        uVar19 = 0xffffffff;\n        do {\n          if (uVar19 == 0) break;\n          uVar19 = uVar19 - 1;\n          cVar2 = *(char *)local_34;\n          local_34 = (Filedata *)((int)local_34 + (uint)bVar28 * -2 + 1);\n        } while (cVar2 != '\0');\n        pcVar7 = ", mips32r2";\n        pcVar8 = &DAT_000b579f + ~uVar19;\n        for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *pcVar8 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n        }\n        local_38 = (Filedata *)(filedata->file_header).e_flags;\n      }\n    }\n    else if (uVar19 == 0x90000000) {\n      uVar19 = 0xffffffff;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        cVar2 = *(char *)local_34;\n        local_34 = (Filedata *)((int)local_34 + (uint)bVar28 * -2 + 1);\n      } while (cVar2 != '\0');\n      pcVar7 = ", mips32r6";\n      pcVar8 = &DAT_000b579f + ~uVar19;\n      for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *pcVar8 = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n      }\n      local_38 = (Filedata *)(filedata->file_header).e_flags;\n    }\n    else {\n      if (uVar19 != 0xa0000000) goto LAB_0003e94f;\n      uVar19 = 0xffffffff;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        cVar2 = *(char *)local_34;\n        local_34 = (Filedata *)((int)local_34 + (uint)bVar28 * -2 + 1);\n      } while (cVar2 != '\0');\n      pcVar7 = ", mips64r6";\n      pcVar8 = &DAT_000b579f + ~uVar19;\n      for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *pcVar8 = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n      }\n      local_38 = (Filedata *)(filedata->file_header).e_flags;\n    }\n    goto LAB_0003b840;\n  }\n  if (uVar3 != 4) goto LAB_0003b840;\n  uVar19 = (uint)local_38 & 0x3818000;\n  if (uVar19 == 0x1000000) {\n    pcVar7 = ", m68000";\n    pcVar8 = (char *)&buf_16750;\n    for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n      *pcVar8 = *pcVar7;\n      pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n      pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n    }\n    local_38 = (Filedata *)(filedata->file_header).e_flags;\n    goto LAB_0003b840;\n  }\n  if (uVar19 == 0x810000) {\n    buf_16750 = 0x7063202c;\n    DAT_000b57a4 = 0x323375;\n    local_38 = (Filedata *)(filedata->file_header).e_flags;\n    goto LAB_0003b840;\n  }\n  if (uVar19 == 0x2000000) {\n    pcVar7 = ", fido_a";\n    pcVar8 = (char *)&buf_16750;\n    for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n      *pcVar8 = *pcVar7;\n      pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n      pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n    }\n    local_38 = (Filedata *)(filedata->file_header).e_flags;\n    goto LAB_0003b840;\n  }\n  pcVar7 = (char *)dcgettext(0,"unknown",5);\n  local_3c = (char *)dcgettext(0,"unknown mac",5);\n  switch((uint)local_38 & 0xf) {\n  default:\n    uVar19 = 0xffffffff;\n    pcVar8 = (char *)&buf_16750;\n    do {\n      if (uVar19 == 0) break;\n      uVar19 = uVar19 - 1;\n      cVar2 = *pcVar8;\n      pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n    } while (cVar2 != '\0');\n    pcVar8 = ", cf, isa ";\n    pcVar9 = &DAT_000b579f + ~uVar19;\n    for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n      *pcVar9 = *pcVar8;\n      pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n      pcVar9 = pcVar9 + (uint)bVar28 * -2 + 1;\n    }\n    strcpy(&DAT_000b57a9 + ~uVar19,pcVar7);\n    goto LAB_0003c31a;\n  case 1:\n    local_40 = ", nodiv";\n    pcVar7 = "A";\n    goto LAB_0003c39b;\n  case 2:\n    pcVar7 = "A";\n    break;\n  case 3:\n    pcVar7 = "A+";\n    break;\n  case 4:\n    pcVar7 = "B";\n    local_40 = ", nousp";\n    goto LAB_0003c39b;\n  case 5:\n    pcVar7 = "B";\n    break;\n  case 6:\n    pcVar7 = "C";\n    break;\n  case 7:\n    local_40 = ", nodiv";\n    pcVar7 = "C";\nLAB_0003c39b:\n    uVar19 = 0xffffffff;\n    pcVar8 = (char *)&buf_16750;\n    do {\n      if (uVar19 == 0) break;\n      uVar19 = uVar19 - 1;\n      cVar2 = *pcVar8;\n      pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n    } while (cVar2 != '\0');\n    cVar2 = *pcVar7;\n    uVar19 = ~uVar19;\n    pcVar7 = ", cf, isa ";\n    pcVar8 = &DAT_000b579f + uVar19;\n    for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n      *pcVar8 = *pcVar7;\n      pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n      pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n    }\n    (&DAT_000b57a9)[uVar19] = cVar2;\n    uVar16 = *(undefined4 *)local_40;\n    *(undefined4 *)((int)&DAT_000b57ac + uVar19 + 2) = *(undefined4 *)(local_40 + 4);\n    *(undefined4 *)(&DAT_000b57aa + uVar19) = uVar16;\n    goto LAB_0003c31a;\n  }\n  uVar19 = 0xffffffff;\n  pcVar8 = (char *)&buf_16750;\n  do {\n    if (uVar19 == 0) break;\n    uVar19 = uVar19 - 1;\n    cVar2 = *pcVar8;\n    pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n  } while (cVar2 != '\0');\n  pcVar8 = ", cf, isa ";\n  pcVar9 = &DAT_000b579f + ~uVar19;\n  for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n    *pcVar9 = *pcVar8;\n    pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n    pcVar9 = pcVar9 + (uint)bVar28 * -2 + 1;\n  }\n  strcpy(&DAT_000b57a9 + ~uVar19,pcVar7);\nLAB_0003c31a:\n  local_34 = (Filedata *)&buf_16750;\n  if (((uint)local_38 & 0x40) != 0) {\n    uVar19 = 0xffffffff;\n    pFVar14 = local_34;\n    do {\n      if (uVar19 == 0) break;\n      uVar19 = uVar19 - 1;\n      cVar2 = *(char *)pFVar14;\n      pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n    } while (cVar2 != '\0');\n    *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x6c66202c;\n    *(undefined4 *)((int)&buf_16750 + ~uVar19 + 3) = 0x74616f;\n  }\n  uVar19 = (uint)local_38 & 0x30;\n  if (uVar19 == 0x10) {\n    local_3c = "mac";\nLAB_0003c354:\n    uVar19 = 0xffffffff;\n    do {\n      if (uVar19 == 0) break;\n      uVar19 = uVar19 - 1;\n      cVar2 = *(char *)local_34;\n      local_34 = (Filedata *)((int)local_34 + (uint)bVar28 * -2 + 1);\n    } while (cVar2 != '\0');\n    *(undefined2 *)(&DAT_000b579f + ~uVar19) = 0x202c;\n    strcpy((char *)((int)&buf_16750 + ~uVar19 + 1),local_3c);\n    local_38 = (Filedata *)(filedata->file_header).e_flags;\n  }\n  else {\n    if (0x10 < uVar19) {\n      if (uVar19 == 0x20) {\n        local_3c = "emac";\n      }\n      else {\n        if (uVar19 != 0x30) goto LAB_0003e4f5;\n        local_3c = "emac_b";\n      }\n      goto LAB_0003c354;\n    }\n    if (uVar19 == 0) {\n      local_38 = (Filedata *)(filedata->file_header).e_flags;\n    }\n    else {\nLAB_0003e4f5:\n      if (local_3c != (char *)0x0) goto LAB_0003c354;\n      local_38 = (Filedata *)(filedata->file_header).e_flags;\n    }\n  }\nLAB_0003b840:\n  pcVar7 = (char *)dcgettext(0,"  Flags:                             0x%lx%s\n",5);\n  printf(pcVar7,local_38,&buf_16750);\n  uVar19 = (filedata->file_header).e_ehsize;\n  pcVar7 = (char *)dcgettext(0,"  Size of this header:               %ld (bytes)\n",5);\n  printf(pcVar7,uVar19);\n  uVar19 = (filedata->file_header).e_phentsize;\n  pcVar7 = (char *)dcgettext(0,"  Size of program headers:           %ld (bytes)\n",5);\n  printf(pcVar7,uVar19);\n  uVar19 = (filedata->file_header).e_phnum;\n  pcVar7 = (char *)dcgettext(0,"  Number of program headers:         %ld",5);\n  printf(pcVar7,uVar19);\n  if (((filedata->section_headers != (Elf_Internal_Shdr *)0x0) &&\n      ((filedata->file_header).e_phnum == 0xffff)) &&\n     (uVar19 = filedata->section_headers->sh_info, uVar19 != 0)) {\n    printf(" (%ld)",uVar19);\n  }\n  puVar6 = PTR_stdout_000b3fd8;\n  putc(10,*(FILE **)PTR_stdout_000b3fd8);\n  uVar19 = (filedata->file_header).e_shentsize;\n  pcVar7 = (char *)dcgettext(0,"  Size of section headers:           %ld (bytes)\n",5);\n  printf(pcVar7,uVar19);\n  uVar19 = (filedata->file_header).e_shnum;\n  pcVar7 = (char *)dcgettext(0,"  Number of section headers:         %ld",5);\n  printf(pcVar7,uVar19);\n  if ((filedata->section_headers != (Elf_Internal_Shdr *)0x0) &&\n     ((filedata->file_header).e_shnum == 0)) {\n    printf(" (%ld)",(int)filedata->section_headers->sh_size);\n  }\n  putc(10,*(FILE **)puVar6);\n  uVar19 = (filedata->file_header).e_shstrndx;\n  pcVar7 = (char *)dcgettext(0,"  Section header string table index: %ld",5);\n  printf(pcVar7,uVar19);\n  if (filedata->section_headers == (Elf_Internal_Shdr *)0x0) {\n    uVar19 = (filedata->file_header).e_shstrndx;\nLAB_0003b994:\n    if ((uVar19 != 0) && ((filedata->file_header).e_shnum <= uVar19)) {\n      pcVar7 = (char *)dcgettext(0," <corrupt: out of range>",5);\n      printf(pcVar7);\n    }\n  }\n  else {\n    uVar19 = (filedata->file_header).e_shstrndx;\n    if (uVar19 != 0xffff) goto LAB_0003b994;\n    printf(" (%u)",filedata->section_headers->sh_link);\n  }\n  putc(10,*(FILE **)puVar6);\nLAB_0003b371:\n  __ptr = filedata->section_headers;\n  if (__ptr == (Elf_Internal_Shdr *)0x0) {\n    return 1;\n  }\n  if (((filedata->file_header).e_phnum == 0xffff) && (__ptr->sh_info != 0)) {\n    (filedata->file_header).e_phnum = __ptr->sh_info;\n  }\n  uVar19 = (filedata->file_header).e_shnum;\n  if (uVar19 == 0) {\n    uVar19 = (uint)__ptr->sh_size;\n    (filedata->file_header).e_shnum = uVar19;\n  }\n  uVar18 = (filedata->file_header).e_shstrndx;\n  if (uVar18 == 0xffff) {\n    uVar18 = __ptr->sh_link;\n    (filedata->file_header).e_shstrndx = uVar18;\n  }\n  if (uVar19 <= uVar18) {\n    (filedata->file_header).e_shstrndx = 0;\n  }\n  free(__ptr);\n  filedata->section_headers = (Elf_Internal_Shdr *)0x0;\n  return 1;\n}\n\n" comment comment (function_definition "bfd_boolean __regparm3 process_file_header(Filedata *filedata)\n\n{\n  uchar uVar1;\n  char cVar2;\n  ushort uVar3;\n  Elf_Internal_Shdr *__ptr;\n  ulong uVar4;\n  char **ppcVar5;\n  undefined *puVar6;\n  char *pcVar7;\n  char *pcVar8;\n  char *pcVar9;\n  Elf32_Ehdr *pEVar10;\n  int iVar11;\n  undefined1 *puVar12;\n  uint *puVar13;\n  Filedata *pFVar14;\n  size_t sVar15;\n  int extraout_ECX;\n  undefined4 extraout_ECX_00;\n  undefined4 extraout_ECX_01;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  undefined4 uVar16;\n  int iVar17;\n  undefined4 extraout_ECX_04;\n  undefined4 extraout_ECX_05;\n  undefined4 extraout_ECX_06;\n  undefined4 extraout_ECX_07;\n  undefined4 extraout_ECX_08;\n  undefined4 extraout_ECX_09;\n  undefined4 extraout_ECX_10;\n  undefined4 extraout_ECX_11;\n  undefined4 extraout_ECX_12;\n  undefined4 extraout_ECX_13;\n  undefined4 extraout_ECX_14;\n  undefined4 extraout_ECX_15;\n  undefined4 extraout_ECX_16;\n  undefined4 extraout_ECX_17;\n  undefined4 extraout_ECX_18;\n  undefined4 extraout_ECX_19;\n  undefined4 extraout_ECX_20;\n  uint uVar18;\n  uint uVar19;\n  Filedata *pFVar20;\n  Filedata *extraout_EDX;\n  undefined4 extraout_EDX_00;\n  Filedata *extraout_EDX_01;\n  byte bVar21;\n  uint uVar22;\n  uint *puVar23;\n  undefined4 *puVar24;\n  Filedata *pFVar25;\n  bool bVar26;\n  bool bVar27;\n  byte bVar28;\n  char *local_40;\n  char *local_3c;\n  Filedata *local_38;\n  Filedata *local_34;\n  Elf_Internal_Ehdr *local_30;\n  char abi [8];\n  \n  bVar28 = 0;\n  if (*(int *)(filedata->file_header).e_ident != 0x464c457f) {\n    pcVar7 = (char *)dcgettext(0,"Not an ELF file - it has the wrong magic bytes at the start\n",5);\n    error(pcVar7);\n    return 0;\n  }\n  init_dwarf_regnames((uint)(filedata->file_header).e_machine);\n  if (do_header == 0) goto LAB_0003b371;\n  pcVar7 = (char *)dcgettext(0,"ELF Header:\n",5);\n  printf(pcVar7);\n  pcVar7 = (char *)dcgettext(0,"  Magic:   ",5);\n  printf(pcVar7);\n  local_30 = &filedata->file_header;\n  do {\n    printf("%2.2x ",(uint)local_30->e_ident[0]);\n    local_30 = (Elf_Internal_Ehdr *)(local_30->e_ident + 1);\n  } while ((Elf_Internal_Ehdr *)&(filedata->file_header).e_entry != local_30);\n  putchar(10);\n  uVar1 = (filedata->file_header).e_ident[4];\n  pcVar7 = "ELF32";\n  if (uVar1 != '\x01') {\n    if (uVar1 == '\0') {\n      pcVar7 = (char *)dcgettext(0,&DAT_00076afd,5);\n    }\n    else {\n      pcVar7 = "ELF64";\n      if (uVar1 != '\x02') {\n        pcVar7 = (char *)dcgettext(0,"<unknown: %x>",5);\n        snprintf(buff_17378,0x20,pcVar7,uVar1);\n        pcVar7 = buff_17378;\n      }\n    }\n  }\n  pcVar8 = (char *)dcgettext(0,"  Class:                             %s\n",5);\n  printf(pcVar8,pcVar7);\n  uVar1 = (filedata->file_header).e_ident[5];\n  if (uVar1 == '\x01') {\n    pcVar7 = "2\'s complement, little endian";\nLAB_0003c46b:\n    puVar12 = (undefined1 *)dcgettext(0,pcVar7,5);\n  }\n  else {\n    if (uVar1 == '\0') {\n      pcVar7 = "none";\n      goto LAB_0003c46b;\n    }\n    if (uVar1 == '\x02') {\n      pcVar7 = "2\'s complement, big endian";\n      goto LAB_0003c46b;\n    }\n    puVar12 = buff_17386;\n    pcVar7 = (char *)dcgettext(0,"<unknown: %x>",5);\n    snprintf(buff_17386,0x20,pcVar7,uVar1);\n  }\n  pcVar8 = (char *)dcgettext(0,"  Data:                              %s\n",5);\n  pcVar7 = "(current)";\n  printf(pcVar8,puVar12);\n  bVar21 = (filedata->file_header).e_ident[6];\n  if ((bVar21 != 1) && (pcVar7 = "", bVar21 != 0)) {\n    pcVar7 = (char *)dcgettext(0,"<unknown: %lx>",5);\n    bVar21 = (filedata->file_header).e_ident[6];\n  }\n  pcVar8 = (char *)dcgettext(0,"  Version:                           %d %s\n",5);\n  printf(pcVar8,(uint)bVar21,pcVar7);\n  pcVar7 = get_osabi_name((Filedata *)&(filedata->file_header).e_machine,\n                          (uint)(filedata->file_header).e_ident[7]);\n  pcVar8 = (char *)dcgettext(0,"  OS/ABI:                            %s\n",5);\n  printf(pcVar8,pcVar7);\n  bVar21 = (filedata->file_header).e_ident[8];\n  pcVar7 = (char *)dcgettext(0,"  ABI Version:                       %d\n",5);\n  printf(pcVar7,(uint)bVar21);\n  pcVar7 = get_file_type((uint)(filedata->file_header).e_type);\n  pcVar8 = (char *)dcgettext(0,"  Type:                              %s\n",5);\n  printf(pcVar8,pcVar7);\n  pcVar7 = get_machine_name((uint)(filedata->file_header).e_machine);\n  pcVar8 = (char *)dcgettext(0,"  Machine:                           %s\n",5);\n  printf(pcVar8,pcVar7);\n  uVar4 = (filedata->file_header).e_version;\n  pcVar8 = (char *)dcgettext(0,"  Version:                           0x%lx\n",5);\n  pcVar7 = "%lld";\n  printf(pcVar8,uVar4);\n  pcVar8 = "  Entry point address:               ";\n  pcVar9 = (char *)dcgettext(0,"  Entry point address:               ",5);\n  printf(pcVar9);\n  print_vma(CONCAT44(pcVar8,pcVar9),(print_mode)(filedata->file_header).e_entry);\n  pcVar8 = (char *)dcgettext(0,"\n  Start of program headers:          ",5);\n  printf(pcVar8);\n  printf("%lld",(int)(filedata->file_header).e_phoff,\n         *(undefined4 *)((int)&(filedata->file_header).e_phoff + 4));\n  pcVar8 = (char *)dcgettext(0," (bytes into file)\n  Start of section headers:          ",5);\n  printf(pcVar8);\n  printf("%lld",(int)(filedata->file_header).e_shoff,\n         *(undefined4 *)((int)&(filedata->file_header).e_shoff + 4));\n  pcVar8 = (char *)dcgettext(0," (bytes into file)\n",5);\n  printf(pcVar8);\n  local_38 = (Filedata *)(filedata->file_header).e_flags;\n  uVar3 = (filedata->file_header).e_machine;\n  buf_16750 = buf_16750 & 0xffffff00;\n  if (local_38 == (Filedata *)0x0) goto LAB_0003b840;\n  if (uVar3 == 0x5b) {\nLAB_0003bdf2:\n    if (((uint)local_38 & 0x10) != 0) {\n      pcVar7 = ", new calling convention";\n      pcVar8 = (char *)&buf_16750;\n      for (iVar17 = 0x19; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *pcVar8 = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x20) == 0) {\n      local_38 = (Filedata *)(filedata->file_header).e_flags;\n    }\n    else {\n      uVar19 = 0xffffffff;\n      pcVar7 = (char *)&buf_16750;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        cVar2 = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n      } while (cVar2 != '\0');\n      pcVar7 = ", gnu calling convention";\n      pcVar8 = &DAT_000b579f + ~uVar19;\n      for (iVar17 = 0x19; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *pcVar8 = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n      }\n      local_38 = (Filedata *)(filedata->file_header).e_flags;\n    }\n    goto LAB_0003b840;\n  }\n  if (0x5b < uVar3) {\n    if (uVar3 == 0xc3) {\nLAB_0003cc32:\n      switch((uint)local_38 & 0xff) {\n      default:\n        if (uVar3 == 0x5d) {\n          puVar13 = (uint *)", Unknown ARCompact";\n          puVar23 = &buf_16750;\n          for (iVar17 = 5; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar23 = *puVar13;\n            puVar13 = puVar13 + (uint)bVar28 * -2 + 1;\n            puVar23 = puVar23 + (uint)bVar28 * -2 + 1;\n          }\n        }\n        else {\n          pcVar7 = ", Unknown ARC";\n          puVar13 = &buf_16750;\n          for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *(char *)puVar13 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n          }\n        }\n        break;\n      case 2:\n        pcVar7 = ", ARC600";\n        puVar13 = &buf_16750;\n        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *(char *)puVar13 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n        }\n        break;\n      case 3:\n        pcVar7 = ", ARC700";\n        puVar13 = &buf_16750;\n        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *(char *)puVar13 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n        }\n        break;\n      case 4:\n        pcVar7 = ", ARC601";\n        puVar13 = &buf_16750;\n        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *(char *)puVar13 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n        }\n        break;\n      case 5:\n        pcVar7 = ", ARC EM";\n        puVar13 = &buf_16750;\n        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *(char *)puVar13 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n        }\n        break;\n      case 6:\n        pcVar7 = ", ARC HS";\n        puVar13 = &buf_16750;\n        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *(char *)puVar13 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n        }\n      }\n      uVar19 = (uint)local_38 & 0xf00;\n      puVar13 = &buf_16750;\n      do {\n        puVar23 = puVar13;\n        uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;\n        uVar18 = uVar22 & 0x80808080;\n        puVar13 = puVar23 + 1;\n      } while (uVar18 == 0);\n      bVar26 = (uVar22 & 0x8080) == 0;\n      if (bVar26) {\n        uVar18 = uVar18 >> 0x10;\n      }\n      if (bVar26) {\n        puVar13 = (uint *)((int)puVar23 + 6);\n      }\n      pcVar7 = (char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18)));\n      if (uVar19 == 0x200) {\n        pcVar8 = ", (ABI:v2)";\n        for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *pcVar7 = *pcVar8;\n          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        }\n        local_38 = (Filedata *)(filedata->file_header).e_flags;\n      }\n      else if (uVar19 < 0x201) {\n        if (uVar19 == 0) {\n          pcVar8 = ", (ABI:legacy)";\n          for (iVar17 = 0xf; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar7 = *pcVar8;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          }\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else {\nLAB_0003e7fe:\n          pcVar8 = ", unrecognised ARC OSABI flag";\n          for (iVar17 = 0x1e; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar7 = *pcVar8;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          }\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n      }\n      else if (uVar19 == 0x300) {\n        pcVar8 = ", v3 no-legacy-syscalls ABI";\n        for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *(undefined4 *)pcVar7 = *(undefined4 *)pcVar8;\n          pcVar8 = pcVar8 + ((uint)bVar28 * -2 + 1) * 4;\n          pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;\n        }\n        local_38 = (Filedata *)(filedata->file_header).e_flags;\n      }\n      else {\n        if (uVar19 != 0x400) goto LAB_0003e7fe;\n        pcVar8 = ", v4 ABI";\n        for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *pcVar7 = *pcVar8;\n          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        }\n        local_38 = (Filedata *)(filedata->file_header).e_flags;\n      }\n    }\n    else if (uVar3 < 0xc4) {\n      if (uVar3 == 0x69) {\n        pcVar7 = (char *)dcgettext(0,": architecture variant: ",5);\n        puVar13 = &buf_16750;\n        do {\n          puVar23 = puVar13;\n          uVar18 = *puVar23 + 0xfefefeff & ~*puVar23;\n          uVar19 = uVar18 & 0x80808080;\n          puVar13 = puVar23 + 1;\n        } while (uVar19 == 0);\n        bVar26 = (uVar18 & 0x8080) == 0;\n        if (bVar26) {\n          uVar19 = uVar19 >> 0x10;\n        }\n        if (bVar26) {\n          puVar13 = (uint *)((int)puVar23 + 6);\n        }\n        pcVar8 = stpcpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar19,(byte)uVar19))),\n                        pcVar7);\n        uVar19 = ((uint)local_38 & 0xff) - 0xb;\n        iVar17 = extraout_ECX;\n        if (uVar19 < 100) {\n          iVar17 = (int)&_GLOBAL_OFFSET_TABLE_ + (&switchD_0003d36f::switchdataD_0008dec0)[uVar19];\n          switch((uint)local_38 & 0xff) {\n          case 0xb:\n            pcVar7 = "MSP430x11";\n            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            break;\n          case 0xc:\n            pcVar7 = "MSP430x12";\n            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            break;\n          case 0xd:\n            pcVar7 = "MSP430x13";\n            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            break;\n          case 0xe:\n            pcVar7 = "MSP430x14";\n            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            break;\n          case 0xf:\n            pcVar7 = "MSP430x15";\n            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            break;\n          case 0x10:\n            pcVar7 = "MSP430x16";\n            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            break;\n          default:\n            goto _L11134;\n          case 0x1f:\n            pcVar7 = "MSP430x31";\n            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            break;\n          case 0x20:\n            pcVar7 = "MSP430x32";\n            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            break;\n          case 0x21:\n            pcVar7 = "MSP430x33";\n            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            break;\n          case 0x29:\n            pcVar7 = "MSP430x41";\n            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            break;\n          case 0x2a:\n            pcVar7 = "MSP430x42";\n            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            break;\n          case 0x2b:\n            pcVar7 = "MSP430x43";\n            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            break;\n          case 0x2c:\n            pcVar7 = "MSP430x44";\n            for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            break;\n          case 0x2d:\n            builtin_strncpy(pcVar8,"MSP430X",8);\n            break;\n          case 0x6e:\n            pcVar7 = "MSP430x11x1 ";\n            for (iVar17 = 0xd; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n          }\n        }\n        else {\n_L11134:\n          pcVar7 = (char *)0x0;\n          pcVar8 = (char *)dcgettext(0,": unknown",5,iVar17);\n          strcat((char *)&buf_16750,pcVar8);\n        }\n        if (((uint)local_38 & 0xffffff00) == 0) {\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else {\n          pcVar7 = (char *)dcgettext(0,": unknown extra flag bits also present",5,pcVar7);\n          strcat((char *)&buf_16750,pcVar7);\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n      }\n      else if (uVar3 < 0x6a) {\n        if (uVar3 == 0x5d) goto LAB_0003cc32;\n        if (uVar3 < 0x5d) {\n          if (((uint)local_38 & 1) != 0) {\n            pcVar7 = ", no delay";\n            pcVar8 = (char *)&buf_16750;\n            for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            local_38 = (Filedata *)(filedata->file_header).e_flags;\n          }\n        }\n        else if (uVar3 == 99) goto LAB_0003bdf2;\n      }\n      else if (uVar3 == 0x8c) {\n        if (((uint)local_38 & 1) != 0) {\n          pcVar7 = ", relocatable module";\n          puVar13 = &buf_16750;\n          for (iVar17 = 0x15; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *(char *)puVar13 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n          }\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n      }\n      else if (uVar3 < 0x8d) {\n        if (uVar3 == 0x6a) {\n          if (((uint)local_38 & 1) != 0) {\n            buf_16750 = 0x4950202c;\n            DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x43);\n          }\n          if (((uint)local_38 & 2) != 0) {\n            uVar19 = 0xffffffff;\n            pcVar7 = (char *)&buf_16750;\n            do {\n              if (uVar19 == 0) break;\n              uVar19 = uVar19 - 1;\n              cVar2 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            } while (cVar2 != '\0');\n            *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x4446202c;\n            *(undefined4 *)((int)&buf_16750 + ~uVar19 + 3) = 0x434950;\n          }\n          if (((uint)local_38 & 0x10) != 0) {\n            uVar19 = 0xffffffff;\n            pcVar7 = (char *)&buf_16750;\n            do {\n              if (uVar19 == 0) break;\n              uVar19 = uVar19 - 1;\n              cVar2 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            } while (cVar2 != '\0');\n            pcVar7 = ", code in L1";\n            pcVar8 = &DAT_000b579f + ~uVar19;\n            for (iVar17 = 0xd; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n          }\n          if (((uint)local_38 & 0x20) == 0) {\n            local_38 = (Filedata *)(filedata->file_header).e_flags;\n          }\n          else {\n            uVar19 = 0xffffffff;\n            pcVar7 = (char *)&buf_16750;\n            do {\n              if (uVar19 == 0) break;\n              uVar19 = uVar19 - 1;\n              cVar2 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            } while (cVar2 != '\0');\n            pcVar7 = ", data in L1";\n            pcVar8 = &DAT_000b579f + ~uVar19;\n            for (iVar17 = 0xd; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            local_38 = (Filedata *)(filedata->file_header).e_flags;\n          }\n        }\n      }\n      else if (uVar3 == 0xa7) {\n        uVar19 = (uint)local_38 & 0xf0000000;\n        uVar18 = (uint)local_38 & 0xf0;\n        puVar24 = &buf_16750;\n        for (iVar17 = 0x100; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *puVar24 = 0;\n          puVar24 = puVar24 + (uint)bVar28 * -2 + 1;\n        }\n        if (uVar18 == 0x20) {\nLAB_0003d15d:\n          iVar17 = snprintf((char *)&buf_16750,0x400,", %s",\n                            *(undefined4 *)(ABI_STRINGS_16718 + (uVar18 >> 4) * 4));\n        }\n        else {\n          if (uVar18 < 0x21) {\n            if ((uVar18 == 0) || (uVar18 == 0x10)) goto LAB_0003d15d;\n          }\n          else if ((uVar18 == 0x40) || ((uVar18 == 0x50 || (uVar18 == 0x30)))) goto LAB_0003d15d;\n          buf_16750 = 0x753c202c;\n          iVar17 = 0x14;\n          DAT_000b57a4 = 0x6365726e;\n          _DAT_000b57a8 = 0x696e676f;\n          DAT_000b57ac = 0x2064657a;\n          DAT_000b57b0 = 0x3e494241;\n          DAT_000b57b4 = 0;\n        }\n        if (((uint)local_38 & 0xf) < 3) {\n          iVar11 = snprintf((char *)((int)&buf_16750 + iVar17),0x400U - iVar17,", %s",\n                            *(undefined4 *)(VER_STRINGS_16719 + ((uint)local_38 & 0xf) * 4));\n          uVar22 = iVar17 + iVar11;\n        }\n        else {\n          uVar22 = iVar17 + 0x23;\n          snprintf((char *)((int)&buf_16750 + iVar17),0x400U - iVar17,\n                   ", <unrecognized ELF version number>");\n        }\n        sVar15 = 0x400 - uVar22;\n        pcVar7 = (char *)((int)&buf_16750 + uVar22);\n        if (uVar18 == 0) {\n          iVar17 = snprintf(pcVar7,sVar15,", Andes Star v1.0, N1213HC, MAC, PERF1",&buf_16750);\n          if (uVar19 == 0x10000000) {\n            snprintf((char *)(uVar22 + 0xb57c6),0x400 - (uVar22 + 0x26),", 16b",iVar17);\n            local_38 = (Filedata *)(filedata->file_header).e_flags;\n          }\n          else {\n            local_38 = (Filedata *)(filedata->file_header).e_flags;\n          }\n        }\n        else if (uVar19 == 0x20000000) {\nLAB_0003d678:\n          iVar17 = snprintf(pcVar7,sVar15,", %s",\n                            *(undefined4 *)(ARCH_STRINGS_16720 + ((uint)local_38 >> 0x1c) * 4));\n          iVar17 = iVar17 + uVar22;\n          uVar18 = (uint)local_38 & 0x100;\n          uVar16 = extraout_ECX_00;\n          if (uVar19 == 0x10000000) {\n            if (uVar18 != 0) {\n              sVar15 = 0x400 - iVar17;\n              pcVar7 = (char *)((int)&buf_16750 + iVar17);\n              iVar17 = iVar17 + 10;\n              uVar18 = snprintf(pcVar7,sVar15,", MFUSR_PC",uVar18);\n              uVar16 = extraout_ECX_20;\n            }\n            if (((uint)local_38 & 0x100000) == 0) {\n              sVar15 = 0x400 - iVar17;\n              pcVar7 = (char *)((int)&buf_16750 + iVar17);\n              iVar17 = iVar17 + 5;\n              uVar18 = snprintf(pcVar7,sVar15,", MAC",uVar18);\n              uVar16 = extraout_ECX_19;\n            }\n            if (((uint)local_38 & 0x2000) != 0) {\n              sVar15 = 0x400 - iVar17;\n              pcVar7 = (char *)((int)&buf_16750 + iVar17);\n              iVar17 = iVar17 + 5;\n              uVar18 = snprintf(pcVar7,sVar15,", DIV",uVar18);\n              uVar16 = extraout_ECX_18;\n            }\n            if (((uint)local_38 & 0x4000) != 0) {\n              sVar15 = 0x400 - iVar17;\n              pcVar7 = (char *)((int)&buf_16750 + iVar17);\n              iVar17 = iVar17 + 5;\n              uVar18 = snprintf(pcVar7,sVar15,", 16b",uVar18);\n              uVar16 = extraout_ECX_10;\n            }\n          }\n          else {\n            if (uVar18 != 0) {\n              sVar15 = 0x400 - iVar17;\n              pcVar7 = (char *)((int)&buf_16750 + iVar17);\n              if (((uint)local_38 & 0xe) == 0) {\n                iVar17 = iVar17 + 6;\n                uVar18 = snprintf(pcVar7,sVar15,", [B8]",uVar22);\n                uVar16 = extraout_ECX_01;\n              }\n              else {\n                iVar17 = iVar17 + 5;\n                uVar18 = snprintf(pcVar7,sVar15,", EX9",extraout_EDX_00);\n                uVar16 = extraout_ECX_11;\n              }\n            }\n            if (((uint)local_38 & 0x100000) != 0) {\n              sVar15 = 0x400 - iVar17;\n              pcVar7 = (char *)((int)&buf_16750 + iVar17);\n              iVar17 = iVar17 + 8;\n              uVar18 = snprintf(pcVar7,sVar15,", MAC_DX",uVar18);\n              uVar16 = extraout_ECX_09;\n            }\n            if (((uint)local_38 & 0x2000) != 0) {\n              sVar15 = 0x400 - iVar17;\n              pcVar7 = (char *)((int)&buf_16750 + iVar17);\n              iVar17 = iVar17 + 8;\n              uVar18 = snprintf(pcVar7,sVar15,", DIV_DX",uVar18);\n              uVar16 = extraout_ECX_14;\n            }\n            if (((uint)local_38 & 0x4000) != 0) {\n              sVar15 = 0x400 - iVar17;\n              pcVar7 = (char *)((int)&buf_16750 + iVar17);\n              uVar19 = (uint)local_38 & 0xffffff0e;\n              if (((uint)local_38 & 0xe) == 0) {\n                pcVar8 = ", 16b";\n                uVar19 = uVar22;\n              }\n              else {\n                pcVar8 = ", IFC";\n              }\n              iVar17 = iVar17 + 5;\n              uVar18 = snprintf(pcVar7,sVar15,pcVar8,uVar19);\n              uVar16 = extraout_ECX_02;\n            }\n          }\n          if (((uint)local_38 & 0x200) != 0) {\n            sVar15 = 0x400 - iVar17;\n            pcVar7 = (char *)((int)&buf_16750 + iVar17);\n            iVar17 = iVar17 + 7;\n            uVar18 = snprintf(pcVar7,sVar15,", PERF1",uVar18);\n            uVar16 = extraout_ECX_13;\n          }\n          if (((uint)local_38 & 0x400) != 0) {\n            sVar15 = 0x400 - iVar17;\n            pcVar7 = (char *)((int)&buf_16750 + iVar17);\n            iVar17 = iVar17 + 7;\n            snprintf(pcVar7,sVar15,", PERF2",uVar18);\n            uVar16 = extraout_ECX_12;\n          }\n          uVar19 = (uint)local_38 & 0x1000000;\n          if (((uint)local_38 & 0x800) == 0) {\n            pFVar14 = local_38;\n            if (((uint)local_38 & 0x80000) != 0) {\nLAB_0003eba3:\n              sVar15 = 0x400 - iVar17;\n              pcVar7 = (char *)((int)&buf_16750 + iVar17);\n              iVar17 = iVar17 + 8;\n              pFVar14 = (Filedata *)snprintf(pcVar7,sVar15,", FPU_DP",pFVar14);\n              goto LAB_0003ebc4;\n            }\n            if (uVar19 != 0) goto LAB_0003ebc8;\n          }\n          else {\n            sVar15 = 0x400 - iVar17;\n            pcVar7 = (char *)((int)&buf_16750 + iVar17);\n            iVar17 = iVar17 + 8;\n            pFVar14 = (Filedata *)snprintf(pcVar7,sVar15,", FPU_SP",local_38);\n            if (((uint)local_38 & 0x80000) != 0) goto LAB_0003eba3;\nLAB_0003ebc4:\n            if (uVar19 != 0) {\nLAB_0003ebc8:\n              sVar15 = 0x400 - iVar17;\n              pcVar7 = (char *)((int)&buf_16750 + iVar17);\n              iVar17 = iVar17 + 9;\n              snprintf(pcVar7,sVar15,", FPU_MAC",pFVar14);\n            }\n            sVar15 = 0x400 - iVar17;\n            pcVar7 = (char *)((int)&buf_16750 + iVar17);\n            uVar18 = (uint)local_38 >> 0x16 & 3;\n            if (uVar18 == 2) {\n              pcVar8 = ", FPU_REG:32/16";\n              uVar18 = uVar19;\n            }\n            else {\n              if (uVar18 != 3) {\n                if (uVar18 == 1) {\n                  iVar17 = iVar17 + 0xe;\n                  pFVar14 = (Filedata *)snprintf(pcVar7,sVar15,", FPU_REG:16/8",0);\n                  uVar16 = extraout_ECX_16;\n                }\n                else {\n                  iVar17 = iVar17 + 0xd;\n                  pFVar14 = (Filedata *)snprintf(pcVar7,sVar15,", FPU_REG:8/4",uVar19);\n                  uVar16 = extraout_ECX_06;\n                }\n                goto LAB_0003d76f;\n              }\n              pcVar8 = ", FPU_REG:32/32";\n              uVar18 = 3;\n            }\n            iVar17 = iVar17 + 0xf;\n            pFVar14 = (Filedata *)snprintf(pcVar7,sVar15,pcVar8,uVar18);\n            uVar16 = extraout_ECX_17;\n          }\nLAB_0003d76f:\n          if (((uint)local_38 & 0x1000) != 0) {\n            sVar15 = 0x400 - iVar17;\n            pcVar7 = (char *)((int)&buf_16750 + iVar17);\n            iVar17 = iVar17 + 7;\n            pFVar14 = (Filedata *)snprintf(pcVar7,sVar15,", AUDIO",pFVar14);\n            uVar16 = extraout_ECX_05;\n          }\n          if (((uint)local_38 & 0x8000) != 0) {\n            sVar15 = 0x400 - iVar17;\n            pcVar7 = (char *)((int)&buf_16750 + iVar17);\n            iVar17 = iVar17 + 5;\n            pFVar14 = (Filedata *)snprintf(pcVar7,sVar15,", STR",pFVar14);\n            uVar16 = extraout_ECX_08;\n          }\n          if (((uint)local_38 & 0x10000) != 0) {\n            sVar15 = 0x400 - iVar17;\n            pcVar7 = (char *)((int)&buf_16750 + iVar17);\n            iVar17 = iVar17 + 7;\n            snprintf(pcVar7,sVar15,", 16REG",pFVar14);\n            uVar16 = extraout_ECX_07;\n          }\n          if (((uint)local_38 & 0x20000) != 0) {\n            sVar15 = 0x400 - iVar17;\n            pcVar7 = (char *)((int)&buf_16750 + iVar17);\n            if (((uint)local_38 & 0xe) == 0) {\n              iVar17 = iVar17 + 7;\n              snprintf(pcVar7,sVar15,", VIDEO",uVar19);\n              uVar16 = extraout_ECX_03;\n            }\n            else {\n              iVar17 = iVar17 + 0xc;\n              snprintf(pcVar7,sVar15,", SATURATION",(uint)local_38 & 0xffffff0e);\n              uVar16 = extraout_ECX_15;\n            }\n          }\n          if (((uint)local_38 & 0x40000) != 0) {\n            sVar15 = 0x400 - iVar17;\n            pcVar7 = (char *)((int)&buf_16750 + iVar17);\n            iVar17 = iVar17 + 7;\n            snprintf(pcVar7,sVar15,", ENCRP",uVar19);\n            uVar16 = extraout_ECX_04;\n          }\n          if (((uint)local_38 & 0x200000) == 0) {\n            local_38 = (Filedata *)(filedata->file_header).e_flags;\n          }\n          else {\n            snprintf((char *)((int)&buf_16750 + iVar17),0x400 - iVar17,", L2C",uVar16);\n            local_38 = (Filedata *)(filedata->file_header).e_flags;\n          }\n        }\n        else {\n          if (uVar19 < 0x20000001) {\n            if (uVar19 == 0x10000000) goto LAB_0003d678;\n          }\n          else if ((uVar19 == 0x30000000) || (uVar19 == 0x40000000)) goto LAB_0003d678;\n          snprintf(pcVar7,sVar15,", <unrecognized architecture>");\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n      }\n      else if (uVar3 == 0xad) {\n        if (((uint)local_38 & 1) != 0) {\n          pcVar7 = ", 64-bit doubles";\n          puVar13 = &buf_16750;\n          for (iVar17 = 0x11; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *(char *)puVar13 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n          }\n        }\n        if (((uint)local_38 & 2) != 0) {\n          uVar19 = 0xffffffff;\n          puVar13 = &buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            uVar18 = *puVar13;\n            puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n          } while ((char)uVar18 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x7364202c;\n          *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 0x70;\n        }\n        if (((uint)local_38 & 4) != 0) {\n          uVar19 = 0xffffffff;\n          puVar13 = &buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            uVar18 = *puVar13;\n            puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n          } while ((char)uVar18 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x6970202c;\n          *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 100;\n        }\n        if (((uint)local_38 & 8) != 0) {\n          uVar19 = 0xffffffff;\n          puVar13 = &buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            uVar18 = *puVar13;\n            puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n          } while ((char)uVar18 != '\0');\n          pcVar7 = ", RX ABI";\n          pcVar8 = &DAT_000b579f + ~uVar19;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x40) != 0) {\n          puVar13 = &buf_16750;\n          pcVar7 = ", uses String instructions";\n          if (((uint)local_38 & 0x80) == 0) {\n            pcVar7 = ", bans String instructions";\n          }\n          do {\n            puVar23 = puVar13;\n            uVar18 = *puVar23 + 0xfefefeff & ~*puVar23;\n            uVar19 = uVar18 & 0x80808080;\n            puVar13 = puVar23 + 1;\n          } while (uVar19 == 0);\n          bVar26 = (uVar18 & 0x8080) == 0;\n          if (bVar26) {\n            uVar19 = uVar19 >> 0x10;\n          }\n          if (bVar26) {\n            puVar13 = (uint *)((int)puVar23 + 6);\n          }\n          pcVar8 = (char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar19,(byte)uVar19)));\n          *(undefined4 *)pcVar8 = *(undefined4 *)pcVar7;\n          *(undefined4 *)(pcVar8 + 4) = *(undefined4 *)(pcVar7 + 4);\n          *(undefined4 *)(pcVar8 + 8) = *(undefined4 *)(pcVar7 + 8);\n          *(undefined4 *)(pcVar8 + 0xc) = *(undefined4 *)(pcVar7 + 0xc);\n          *(undefined4 *)(pcVar8 + 0x10) = *(undefined4 *)(pcVar7 + 0x10);\n          *(undefined4 *)(pcVar8 + 0x14) = *(undefined4 *)(pcVar7 + 0x14);\n          cVar2 = pcVar7[0x1a];\n          *(undefined2 *)(pcVar8 + 0x18) = *(undefined2 *)(pcVar7 + 0x18);\n          pcVar8[0x1a] = cVar2;\n        }\n        if (((uint)local_38 & 0x100) == 0) {\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else {\n          uVar19 = 0xffffffff;\n          puVar13 = &buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            uVar18 = *puVar13;\n            puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n          } while ((char)uVar18 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x3256202c;\n          *(undefined1 *)((int)&buf_16750 + ~uVar19 + 3) = 0;\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n      }\n    }\n    else if (uVar3 == 0xfa) {\n      uVar19 = (uint)local_38 >> 8 & 0xffff;\n      if (uVar19 == 0x3200) {\n        pcVar7 = ", NFP-32xx";\n        puVar13 = &buf_16750;\n        for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *(char *)puVar13 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n        }\n        local_38 = (Filedata *)(filedata->file_header).e_flags;\n      }\n      else if (uVar19 == 0x6000) {\n        pcVar7 = ", NFP-6xxx";\n        puVar13 = &buf_16750;\n        for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *(char *)puVar13 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n        }\n        local_38 = (Filedata *)(filedata->file_header).e_flags;\n      }\n    }\n    else if (uVar3 < 0xfb) {\n      if (uVar3 == 0xdd) {\n        if (((uint)local_38 & 1) == 0) {\n          if (((uint)local_38 & 2) != 0) {\n            buf_16750 = 0x636d202c;\n            DAT_000b57a4 = 0x34326d;\n          }\n        }\n        else {\n          buf_16750 = 0x636d202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x6d);\n        }\n        if (((uint)local_38 & 4) == 0) {\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x7267202c;\n          *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 0x36;\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n      }\n      else if (uVar3 == 0xf3) {\n        if (((uint)local_38 & 1) != 0) {\n          buf_16750 = 0x5652202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x43);\n        }\n        if (((uint)local_38 & 8) != 0) {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x5652202c;\n          *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 0x45;\n        }\n        uVar19 = (uint)local_38 & 6;\n        if (uVar19 == 2) {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          pcVar7 = ", single-float ABI";\n          pcVar8 = &DAT_000b579f + ~uVar19;\n          for (iVar17 = 0x13; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else if (uVar19 < 3) {\n          if (uVar19 == 0) {\n            uVar19 = 0xffffffff;\n            pcVar7 = (char *)&buf_16750;\n            do {\n              if (uVar19 == 0) break;\n              uVar19 = uVar19 - 1;\n              cVar2 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            } while (cVar2 != '\0');\n            pcVar7 = ", soft-float ABI";\n            pcVar8 = &DAT_000b579f + ~uVar19;\n            for (iVar17 = 0x11; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            local_38 = (Filedata *)(filedata->file_header).e_flags;\n          }\n          else {\nLAB_0003e76f:\n            local_38 = (Filedata *)(filedata->file_header).e_flags;\n          }\n        }\n        else if (uVar19 == 4) {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          pcVar7 = ", double-float ABI";\n          pcVar8 = &DAT_000b579f + ~uVar19;\n          for (iVar17 = 0x13; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else {\n          if (uVar19 != 6) goto LAB_0003e76f;\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          pcVar7 = ", quad-float ABI";\n          pcVar8 = &DAT_000b579f + ~uVar19;\n          for (iVar17 = 0x11; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n      }\n      else if (uVar3 == 0xc5) {\n        uVar19 = (uint)local_38 & 0xc;\n        if (uVar19 == 8) {\n          buf_16750 = 0x3147202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x33);\n        }\n        else if (uVar19 == 0xc) {\n          buf_16750 = 0x3147202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x34);\n        }\n        else if (uVar19 == 4) {\n          buf_16750 = 0x3147202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x30);\n        }\n        if (((uint)local_38 & 1) == 0) {\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          pcVar7 = ", 64-bit doubles";\n          pcVar8 = &DAT_000b579f + ~uVar19;\n          for (iVar17 = 0x11; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n      }\n    }\n    else if (uVar3 == 0x9041) {\nLAB_0003bb50:\n      if (((uint)local_38 & 0x30000000) == 0) {\n        puVar12 = &DAT_0007ca93;\n        puVar24 = &buf_16750;\n        for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *(undefined1 *)puVar24 = *puVar12;\n          puVar12 = puVar12 + (uint)bVar28 * -2 + 1;\n          puVar24 = (undefined4 *)((int)puVar24 + (uint)bVar28 * -2 + 1);\n        }\n        local_38 = (Filedata *)(filedata->file_header).e_flags;\n      }\n    }\n    else if (uVar3 < 0x9042) {\n      if (uVar3 == 0x5441) {\n        uVar19 = (uint)local_38 & 0xff000000;\n        if (uVar19 == 0x4000000) {\n          pcVar7 = ", tomcat";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else if (uVar19 < 0x4000001) {\n          if (uVar19 == 0x1000000) {\n            buf_16750 = 0x7266202c;\n            DAT_000b57a4 = 0x303035;\n            local_38 = (Filedata *)(filedata->file_header).e_flags;\n          }\n          else if (uVar19 < 0x1000001) {\n            if (uVar19 != 0) {\nLAB_0003d4b1:\n              buf_16750 = 0x7266202c;\n              DAT_000b57a4 = 0x3f3f3f;\n              local_38 = (Filedata *)(filedata->file_header).e_flags;\n            }\n          }\n          else if (uVar19 == 0x2000000) {\n            buf_16750 = 0x7266202c;\n            DAT_000b57a4 = 0x303033;\n            local_38 = (Filedata *)(filedata->file_header).e_flags;\n          }\n          else {\n            if (uVar19 != 0x3000000) goto LAB_0003d4b1;\n            pcVar7 = ", simple";\n            pcVar8 = (char *)&buf_16750;\n            for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n            local_38 = (Filedata *)(filedata->file_header).e_flags;\n          }\n        }\n        else if (uVar19 == 0x6000000) {\n          buf_16750 = 0x7266202c;\n          DAT_000b57a4 = 0x303535;\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else if (uVar19 < 0x6000001) {\n          if (uVar19 != 0x5000000) goto LAB_0003d4b1;\n          buf_16750 = 0x7266202c;\n          DAT_000b57a4 = 0x303034;\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else if (uVar19 == 0x7000000) {\n          buf_16750 = 0x7266202c;\n          DAT_000b57a4 = 0x353034;\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else {\n          if (uVar19 != 0x8000000) goto LAB_0003d4b1;\n          buf_16750 = 0x7266202c;\n          DAT_000b57a4 = 0x303534;\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n      }\n    }\n    else {\n      if (uVar3 == 0x9080) goto LAB_0003c0c0;\n      if (uVar3 == 0xf00d) {\n        uVar19 = (uint)local_38 & 0xff000000;\n        if (uVar19 == 0x2000000) {\n          pcVar7 = ", MeP C3";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n        }\n        else if (uVar19 < 0x2000001) {\n          if (uVar19 == 0) {\n            pcVar7 = ", generic MeP";\n            pcVar8 = (char *)&buf_16750;\n            for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n          }\n          else if (uVar19 == 0x1000000) {\n            pcVar7 = ", MeP C2";\n            pcVar8 = (char *)&buf_16750;\n            for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar8 = *pcVar7;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            }\n          }\n          else {\nLAB_0003ba2e:\n            pcVar7 = (char *)dcgettext(0,", <unknown MeP cpu type>",5,&DAT_00076943);\n            strcat((char *)&buf_16750,pcVar7);\n          }\n        }\n        else if (uVar19 == 0x8000000) {\n          pcVar7 = ", MeP C5";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n        }\n        else if (uVar19 == 0x10000000) {\n          pcVar7 = ", MeP H1";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n        }\n        else {\n          if (uVar19 != 0x4000000) goto LAB_0003ba2e;\n          pcVar7 = ", MeP C4";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n        }\n        local_34 = (Filedata *)&buf_16750;\n        pEVar10 = (Elf32_Ehdr *)((uint)local_38 & 0xff0000);\n        if (pEVar10 == (Elf32_Ehdr *)0x20000) {\n          uVar19 = 0xffffffff;\n          pEVar10 = (Elf32_Ehdr *)0x0;\n          pFVar14 = local_34;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *(char *)pFVar14;\n            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n          } while (cVar2 != '\0');\n          pcVar7 = ", AVC2 coprocessor";\n          pcVar8 = &DAT_000b579f + ~uVar19;\n          for (iVar17 = 0x13; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n        }\n        else if (pEVar10 < (Elf32_Ehdr *)0x20001) {\n          if (pEVar10 != (Elf32_Ehdr *)0x0) {\n            if (pEVar10 == &Elf32_Ehdr_00010000) {\n              uVar19 = 0xffffffff;\n              pEVar10 = (Elf32_Ehdr *)0x0;\n              pFVar14 = local_34;\n              do {\n                if (uVar19 == 0) break;\n                uVar19 = uVar19 - 1;\n                cVar2 = *(char *)pFVar14;\n                pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n              } while (cVar2 != '\0');\n              pcVar7 = ", AVC coprocessor";\n              pcVar8 = &DAT_000b579f + ~uVar19;\n              for (iVar17 = 0x12; iVar17 != 0; iVar17 = iVar17 + -1) {\n                *pcVar8 = *pcVar7;\n                pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n                pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n              }\n            }\n            else {\nLAB_0003e6fc:\n              pcVar7 = (char *)dcgettext(0,"<unknown MeP copro type>",5,pEVar10);\n              pEVar10 = (Elf32_Ehdr *)strcat((char *)&buf_16750,pcVar7);\n            }\n          }\n        }\n        else if (pEVar10 == (Elf32_Ehdr *)0x30000) {\n          uVar19 = 0xffffffff;\n          pEVar10 = (Elf32_Ehdr *)0x0;\n          pFVar14 = local_34;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *(char *)pFVar14;\n            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n          } while (cVar2 != '\0');\n          pcVar7 = ", FMAX coprocessor";\n          pcVar8 = &DAT_000b579f + ~uVar19;\n          for (iVar17 = 0x13; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n        }\n        else {\n          if (pEVar10 != (Elf32_Ehdr *)0x60000) goto LAB_0003e6fc;\n          uVar19 = 0xffffffff;\n          pEVar10 = (Elf32_Ehdr *)0x0;\n          pFVar14 = local_34;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *(char *)pFVar14;\n            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n          } while (cVar2 != '\0');\n          pcVar7 = ", IVC2 coprocessor";\n          pcVar8 = &DAT_000b579f + ~uVar19;\n          for (iVar17 = 0x13; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x100) != 0) {\n          uVar19 = 0xffffffff;\n          pEVar10 = (Elf32_Ehdr *)0x0;\n          pFVar14 = local_34;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *(char *)pFVar14;\n            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n          } while (cVar2 != '\0');\n          pcVar7 = ", Built for Library";\n          puVar24 = (undefined4 *)(&DAT_000b579f + ~uVar19);\n          for (iVar17 = 5; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar24 = *(undefined4 *)pcVar7;\n            pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;\n            puVar24 = puVar24 + (uint)bVar28 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0xff) != 0) {\n          uVar19 = 0xffffffff;\n          pFVar14 = local_34;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *(char *)pFVar14;\n            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n          } while (cVar2 != '\0');\n          pEVar10 = (Elf32_Ehdr *)\n                    sprintf(&DAT_000b579f + ~uVar19,", Configuration Index: %#x",\n                            (uint)local_38 & 0xff,0);\n        }\n        if (((uint)local_38 & 0xfe00) == 0) {\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else {\n          pcVar7 = (char *)dcgettext(0,", unknown flags bits: %#x",5,pEVar10);\n          uVar19 = 0xffffffff;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *(char *)local_34;\n            local_34 = (Filedata *)((int)local_34 + (uint)bVar28 * -2 + 1);\n          } while (cVar2 != '\0');\n          sprintf(&DAT_000b579f + ~uVar19,pcVar7,(uint)local_38 & 0xfe00);\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n      }\n    }\n    goto LAB_0003b840;\n  }\n  if (uVar3 == 0x24) {\n    if (((uint)local_38 & 0xf0000000) == 0xf0000000) {\n      puVar13 = (uint *)", RH850 ABI";\n      puVar23 = &buf_16750;\n      for (iVar17 = 3; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *puVar23 = *puVar13;\n        puVar13 = puVar13 + (uint)bVar28 * -2 + 1;\n        puVar23 = puVar23 + (uint)bVar28 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x100000) != 0) {\n      uVar19 = 0xffffffff;\n      puVar13 = &buf_16750;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        uVar18 = *puVar13;\n        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n      } while ((char)uVar18 != '\0');\n      pcVar7 = ", V3 architecture";\n      pcVar8 = &DAT_000b579f + ~uVar19;\n      for (iVar17 = 0x12; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *pcVar8 = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 3) == 0) {\n      uVar19 = 0xffffffff;\n      puVar13 = &buf_16750;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        uVar18 = *puVar13;\n        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n      } while ((char)uVar18 != '\0');\n      pcVar7 = ", FPU not used";\n      pcVar8 = &DAT_000b579f + ~uVar19;\n      for (iVar17 = 0xf; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *pcVar8 = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x60) == 0) {\n      uVar19 = 0xffffffff;\n      puVar13 = &buf_16750;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        uVar18 = *puVar13;\n        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n      } while ((char)uVar18 != '\0');\n      pcVar7 = ", regmode: COMMON";\n      pcVar8 = &DAT_000b579f + ~uVar19;\n      for (iVar17 = 0x12; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *pcVar8 = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x300) == 0) {\n      uVar19 = 0xffffffff;\n      puVar13 = &buf_16750;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        uVar18 = *puVar13;\n        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n      } while ((char)uVar18 != '\0');\n      pcVar7 = ", r4 not used";\n      pcVar8 = &DAT_000b579f + ~uVar19;\n      for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *pcVar8 = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0xc00) == 0) {\n      uVar19 = 0xffffffff;\n      puVar13 = &buf_16750;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        uVar18 = *puVar13;\n        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n      } while ((char)uVar18 != '\0');\n      pcVar7 = ", r30 not used";\n      pcVar8 = &DAT_000b579f + ~uVar19;\n      for (iVar17 = 0xf; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *pcVar8 = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x3000) == 0) {\n      uVar19 = 0xffffffff;\n      puVar13 = &buf_16750;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        uVar18 = *puVar13;\n        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n      } while ((char)uVar18 != '\0');\n      pcVar7 = ", r5 not used";\n      pcVar8 = &DAT_000b579f + ~uVar19;\n      for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *pcVar8 = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0xc000) == 0) {\n      uVar19 = 0xffffffff;\n      puVar13 = &buf_16750;\n      do {\n        if (uVar19 == 0) break;\n        uVar19 = uVar19 - 1;\n        uVar18 = *puVar13;\n        puVar13 = (uint *)((int)puVar13 + (uint)bVar28 * -2 + 1);\n      } while ((char)uVar18 != '\0');\n      pcVar7 = ", r2 not used";\n      pcVar8 = &DAT_000b579f + ~uVar19;\n      for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {\n        *pcVar8 = *pcVar7;\n        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n      }\n    }\n    uVar19 = (uint)local_38 & 0xffff;\n    if (uVar19 == 0) {\n      local_38 = (Filedata *)(filedata->file_header).e_flags;\n    }\n    else {\n      do {\n        uVar18 = -uVar19 & uVar19;\n        puVar13 = &buf_16750;\n        if (uVar18 == 0x200) {\n          do {\n            puVar23 = puVar13;\n            uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;\n            uVar18 = uVar22 & 0x80808080;\n            puVar13 = puVar23 + 1;\n          } while (uVar18 == 0);\n          bVar26 = (uVar22 & 0x8080) == 0;\n          if (bVar26) {\n            uVar18 = uVar18 >> 0x10;\n          }\n          if (bVar26) {\n            puVar13 = (uint *)((int)puVar23 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))),\n                          ", r4 free",10);\n        }\n        else if (uVar18 < 0x201) {\n          if (uVar18 == 0x20) {\n            do {\n              puVar23 = puVar13;\n              uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;\n              uVar18 = uVar22 & 0x80808080;\n              puVar13 = puVar23 + 1;\n            } while (uVar18 == 0);\n            bVar26 = (uVar22 & 0x8080) == 0;\n            if (bVar26) {\n              uVar18 = uVar18 >> 0x10;\n            }\n            if (bVar26) {\n              puVar13 = (uint *)((int)puVar23 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))),\n                            ", regmode:22",0xd);\n          }\n          else if (uVar18 < 0x21) {\n            if (uVar18 == 1) {\n              do {\n                puVar23 = puVar13;\n                uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;\n                uVar18 = uVar22 & 0x80808080;\n                puVar13 = puVar23 + 1;\n              } while (uVar18 == 0);\n              bVar26 = (uVar22 & 0x8080) == 0;\n              if (bVar26) {\n                uVar18 = uVar18 >> 0x10;\n              }\n              if (bVar26) {\n                puVar13 = (uint *)((int)puVar23 + 6);\n              }\n              builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))\n                                      ),", double precision FPU",0x17);\n            }\n            else if (uVar18 == 2) {\n              do {\n                puVar23 = puVar13;\n                uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;\n                uVar18 = uVar22 & 0x80808080;\n                puVar13 = puVar23 + 1;\n              } while (uVar18 == 0);\n              bVar26 = (uVar22 & 0x8080) == 0;\n              if (bVar26) {\n                uVar18 = uVar18 >> 0x10;\n              }\n              if (bVar26) {\n                puVar13 = (uint *)((int)puVar23 + 6);\n              }\n              builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))\n                                      ),", single precision FPU",0x17);\n            }\n          }\n          else if (uVar18 == 0x40) {\n            do {\n              puVar23 = puVar13;\n              uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;\n              uVar18 = uVar22 & 0x80808080;\n              puVar13 = puVar23 + 1;\n            } while (uVar18 == 0);\n            bVar26 = (uVar22 & 0x8080) == 0;\n            if (bVar26) {\n              uVar18 = uVar18 >> 0x10;\n            }\n            if (bVar26) {\n              puVar13 = (uint *)((int)puVar23 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))),\n                            ", regmode:23",0xd);\n          }\n          else if (uVar18 == 0x100) {\n            do {\n              puVar23 = puVar13;\n              uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;\n              uVar18 = uVar22 & 0x80808080;\n              puVar13 = puVar23 + 1;\n            } while (uVar18 == 0);\n            bVar26 = (uVar22 & 0x8080) == 0;\n            if (bVar26) {\n              uVar18 = uVar18 >> 0x10;\n            }\n            if (bVar26) {\n              puVar13 = (uint *)((int)puVar23 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))),\n                            ", r4 fixed",0xb);\n          }\n        }\n        else if (uVar18 == 0x1000) {\n          do {\n            puVar23 = puVar13;\n            uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;\n            uVar18 = uVar22 & 0x80808080;\n            puVar13 = puVar23 + 1;\n          } while (uVar18 == 0);\n          bVar26 = (uVar22 & 0x8080) == 0;\n          if (bVar26) {\n            uVar18 = uVar18 >> 0x10;\n          }\n          if (bVar26) {\n            puVar13 = (uint *)((int)puVar23 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))),\n                          ", r5 fixed",0xb);\n        }\n        else if (uVar18 < 0x1001) {\n          if (uVar18 == 0x400) {\n            do {\n              puVar23 = puVar13;\n              uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;\n              uVar18 = uVar22 & 0x80808080;\n              puVar13 = puVar23 + 1;\n            } while (uVar18 == 0);\n            bVar26 = (uVar22 & 0x8080) == 0;\n            if (bVar26) {\n              uVar18 = uVar18 >> 0x10;\n            }\n            if (bVar26) {\n              puVar13 = (uint *)((int)puVar23 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))),\n                            ", r30 fixed",0xc);\n          }\n          else if (uVar18 == 0x800) {\n            do {\n              puVar23 = puVar13;\n              uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;\n              uVar18 = uVar22 & 0x80808080;\n              puVar13 = puVar23 + 1;\n            } while (uVar18 == 0);\n            bVar26 = (uVar22 & 0x8080) == 0;\n            if (bVar26) {\n              uVar18 = uVar18 >> 0x10;\n            }\n            if (bVar26) {\n              puVar13 = (uint *)((int)puVar23 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))),\n                            ", r30 free",0xb);\n          }\n        }\n        else if (uVar18 == 0x4000) {\n          do {\n            puVar23 = puVar13;\n            uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;\n            uVar18 = uVar22 & 0x80808080;\n            puVar13 = puVar23 + 1;\n          } while (uVar18 == 0);\n          bVar26 = (uVar22 & 0x8080) == 0;\n          if (bVar26) {\n            uVar18 = uVar18 >> 0x10;\n          }\n          if (bVar26) {\n            puVar13 = (uint *)((int)puVar23 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))),\n                          ", r2 fixed",0xb);\n        }\n        else if (uVar18 == 0x8000) {\n          do {\n            puVar23 = puVar13;\n            uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;\n            uVar18 = uVar22 & 0x80808080;\n            puVar13 = puVar23 + 1;\n          } while (uVar18 == 0);\n          bVar26 = (uVar22 & 0x8080) == 0;\n          if (bVar26) {\n            uVar18 = uVar18 >> 0x10;\n          }\n          if (bVar26) {\n            puVar13 = (uint *)((int)puVar23 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))),\n                          ", r2 free",10);\n        }\n        else if (uVar18 == 0x2000) {\n          do {\n            puVar23 = puVar13;\n            uVar22 = *puVar23 + 0xfefefeff & ~*puVar23;\n            uVar18 = uVar22 & 0x80808080;\n            puVar13 = puVar23 + 1;\n          } while (uVar18 == 0);\n          bVar26 = (uVar22 & 0x8080) == 0;\n          if (bVar26) {\n            uVar18 = uVar18 >> 0x10;\n          }\n          if (bVar26) {\n            puVar13 = (uint *)((int)puVar23 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar13 + (-3 - (uint)CARRY1((byte)uVar18,(byte)uVar18))),\n                          ", r5 free",10);\n        }\n        uVar19 = uVar19 & uVar19 - 1;\n      } while (uVar19 != 0);\n      local_38 = (Filedata *)(filedata->file_header).e_flags;\n    }\n    goto LAB_0003b840;\n  }\n  if (0x24 < uVar3) {\n    if (uVar3 == 0x32) {\n      if (((uint)local_38 & 0x10) == 0) {\n        buf_16750 = 0x3233202c;\n      }\n      else {\n        buf_16750 = 0x3436202c;\n      }\n      _DAT_000b57a8 = _DAT_000b57a8 & 0xffffff00;\n      DAT_000b57a4 = 0x7469622d;\n      if (((uint)local_38 & 0x20) != 0) {\n        uVar19 = 0xffffffff;\n        pcVar7 = (char *)&buf_16750;\n        do {\n          if (uVar19 == 0) break;\n          uVar19 = uVar19 - 1;\n          cVar2 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        } while (cVar2 != '\0');\n        pcVar7 = ", reduced fp model";\n        pcVar8 = &DAT_000b579f + ~uVar19;\n        for (iVar17 = 0x13; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *pcVar8 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n        }\n      }\n      if (((uint)local_38 & 0x80) == 0) {\n        if (((uint)local_38 & 0x40) != 0) {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          pcVar7 = ", constant gp";\n          pcVar8 = &DAT_000b579f + ~uVar19;\n          for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n        }\n      }\n      else {\n        uVar19 = 0xffffffff;\n        pcVar7 = (char *)&buf_16750;\n        do {\n          if (uVar19 == 0) break;\n          uVar19 = uVar19 - 1;\n          cVar2 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        } while (cVar2 != '\0');\n        pcVar7 = ", no function descriptors, constant gp";\n        pcVar8 = &DAT_000b579f + ~uVar19;\n        for (iVar17 = 0x27; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *pcVar8 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n        }\n      }\n      if (((uint)local_38 & 0x100) != 0) {\n        uVar19 = 0xffffffff;\n        pcVar7 = (char *)&buf_16750;\n        do {\n          if (uVar19 == 0) break;\n          uVar19 = uVar19 - 1;\n          cVar2 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n        } while (cVar2 != '\0');\n        pcVar7 = ", absolute";\n        pcVar8 = &DAT_000b579f + ~uVar19;\n        for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {\n          *pcVar8 = *pcVar7;\n          pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n        }\n      }\n      if ((filedata->file_header).e_ident[7] == '\r') {\n        if (((uint)local_38 & 4) != 0) {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          pcVar7 = ", vms_linkages";\n          pcVar8 = &DAT_000b579f + ~uVar19;\n          for (iVar17 = 0xf; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n        }\n        uVar19 = (uint)local_38 & 3;\n        if (uVar19 == 2) {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x7265202c;\n          *(undefined4 *)((int)&buf_16750 + ~uVar19 + 3) = 0x726f72;\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else if (uVar19 == 3) {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x6261202c;\n          *(undefined4 *)((int)&buf_16750 + ~uVar19 + 3) = 0x74726f;\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else if (uVar19 == 1) {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          pcVar7 = ", warning";\n          pcVar8 = &DAT_000b579f + ~uVar19;\n          for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else {\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n      }\n      else {\n        local_38 = (Filedata *)(filedata->file_header).e_flags;\n      }\n    }\n    else if (uVar3 < 0x33) {\n      if (uVar3 == 0x2a) {\n        switch((uint)local_38 & 0x1f) {\n        default:\n          pcVar7 = (char *)dcgettext(0,", unknown ISA",5,&DAT_00076943);\n          strcat((char *)&buf_16750,pcVar7);\n          break;\n        case 1:\n          buf_16750 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x31);\n          break;\n        case 2:\n          buf_16750 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x32);\n          break;\n        case 3:\n          buf_16750 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x33);\n          break;\n        case 4:\n          pcVar7 = ", sh-dsp";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          break;\n        case 5:\n          pcVar7 = ", sh3-dsp";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 10; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          break;\n        case 6:\n          pcVar7 = ", sh4al-dsp";\n          puVar24 = &buf_16750;\n          for (iVar17 = 3; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar24 = *(undefined4 *)pcVar7;\n            pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;\n            puVar24 = puVar24 + (uint)bVar28 * -2 + 1;\n          }\n          break;\n        case 8:\n          pcVar7 = ", sh3e";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          break;\n        case 9:\n          buf_16750 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x34);\n          break;\n        case 10:\n          buf_16750 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x35);\n          break;\n        case 0xb:\n          pcVar7 = ", sh2e";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          break;\n        case 0xc:\n          pcVar7 = ", sh4a";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          break;\n        case 0xd:\n          pcVar7 = ", sh2a";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          break;\n        case 0x10:\n          pcVar7 = ", sh4-nofpu";\n          puVar24 = &buf_16750;\n          for (iVar17 = 3; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar24 = *(undefined4 *)pcVar7;\n            pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;\n            puVar24 = puVar24 + (uint)bVar28 * -2 + 1;\n          }\n          break;\n        case 0x11:\n          pcVar7 = ", sh4a-nofpu";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 0xd; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          break;\n        case 0x12:\n          pcVar7 = ", sh4-nommu-nofpu";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 0x12; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          break;\n        case 0x13:\n          pcVar7 = ", sh2a-nofpu";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 0xd; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          break;\n        case 0x14:\n          pcVar7 = ", sh3-nommu";\n          puVar24 = &buf_16750;\n          for (iVar17 = 3; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar24 = *(undefined4 *)pcVar7;\n            pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;\n            puVar24 = puVar24 + (uint)bVar28 * -2 + 1;\n          }\n          break;\n        case 0x15:\n          pcVar7 = ", sh2a-nofpu-or-sh4-nommu-nofpu";\n          puVar24 = &buf_16750;\n          for (iVar17 = 8; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar24 = *(undefined4 *)pcVar7;\n            pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;\n            puVar24 = puVar24 + (uint)bVar28 * -2 + 1;\n          }\n          break;\n        case 0x16:\n          pcVar7 = ", sh2a-nofpu-or-sh3-nommu";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 0x1a; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          break;\n        case 0x17:\n          pcVar7 = ", sh2a-or-sh4";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n          break;\n        case 0x18:\n          pcVar7 = ", sh2a-or-sh3e";\n          pcVar8 = (char *)&buf_16750;\n          for (iVar17 = 0xf; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n        }\n        local_34 = (Filedata *)&buf_16750;\n        if (((uint)local_38 & 0x100) != 0) {\n          uVar19 = 0xffffffff;\n          pFVar14 = local_34;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *(char *)pFVar14;\n            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n          } while (cVar2 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x6970202c;\n          *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 99;\n        }\n        if (((uint)local_38 & 0x8000) == 0) {\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else {\n          uVar19 = 0xffffffff;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *(char *)local_34;\n            local_34 = (Filedata *)((int)local_34 + (uint)bVar28 * -2 + 1);\n          } while (cVar2 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x6466202c;\n          *(undefined4 *)((int)&buf_16750 + ~uVar19 + 3) = 0x636970;\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n      }\n      else if (uVar3 == 0x2b) {\n        if (((uint)local_38 & 0x100) != 0) {\n          buf_16750 = 0x3876202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x2b);\n        }\n        if (((uint)local_38 & 0x200) != 0) {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          pcVar7 = ", ultrasparcI";\n          pcVar8 = &DAT_000b579f + ~uVar19;\n          for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x800) != 0) {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          pcVar7 = ", ultrasparcIII";\n          puVar24 = (undefined4 *)(&DAT_000b579f + ~uVar19);\n          for (iVar17 = 4; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *puVar24 = *(undefined4 *)pcVar7;\n            pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;\n            puVar24 = puVar24 + (uint)bVar28 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x400) != 0) {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x6168202c;\n          *(undefined4 *)((int)&buf_16750 + ~uVar19 + 3) = 0x31726c;\n        }\n        if (((uint)local_38 & 0x800000) != 0) {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          pcVar7 = ", ledata";\n          pcVar8 = &DAT_000b579f + ~uVar19;\n          for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar8 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n          }\n        }\n        uVar19 = (uint)local_38 & 3;\n        if (uVar19 == 0) {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x7374202c;\n          *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 0x6f;\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else if (uVar19 == 1) {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x7370202c;\n          *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 0x6f;\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else if (uVar19 == 2) {\n          uVar19 = 0xffffffff;\n          pcVar7 = (char *)&buf_16750;\n          do {\n            if (uVar19 == 0) break;\n            uVar19 = uVar19 - 1;\n            cVar2 = *pcVar7;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          } while (cVar2 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x6d72202c;\n          *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 0x6f;\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else {\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n      }\n      else if (uVar3 == 0x28) {\n        uVar19 = (uint)local_38 & 0xff000000;\n        if (((uint)local_38 & 1) == 0) {\n          local_38 = (Filedata *)((uint)local_38 & 0xffffff);\n          pcVar7 = (char *)&buf_16750;\n        }\n        else {\n          pcVar7 = &DAT_000b57b8;\n          pcVar8 = ", relocatable executable";\n          pcVar9 = (char *)&buf_16750;\n          for (iVar17 = 0x19; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar9 = *pcVar8;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            pcVar9 = pcVar9 + (uint)bVar28 * -2 + 1;\n          }\n          local_38 = (Filedata *)((uint)local_38 & 0xfffffe);\n        }\n        local_34 = (Filedata *)&buf_16750;\n        if (((uint)local_38 & 0x20) != 0) {\n          pcVar8 = ", position independent";\n          for (iVar17 = 0x17; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *pcVar7 = *pcVar8;\n            pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n            pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n          }\n          local_38 = (Filedata *)((uint)local_38 & 0xffffffdf);\n          uVar18 = 0xffffffff;\n          pFVar14 = local_34;\n          do {\n            if (uVar18 == 0) break;\n            uVar18 = uVar18 - 1;\n            uVar22 = *(uint *)pFVar14;\n            pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n          } while ((char)uVar22 != '\0');\n          pcVar7 = &DAT_000b579f + ~uVar18;\n        }\n        if (uVar19 == 0x2000000) {\n          bVar26 = false;\n          pcVar8 = ", Version2 EABI";\n          for (iVar17 = 4; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *(undefined4 *)pcVar7 = *(undefined4 *)pcVar8;\n            pcVar8 = pcVar8 + ((uint)bVar28 * -2 + 1) * 4;\n            pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;\n          }\n          if (local_38 != (Filedata *)0x0) {\n            do {\n              uVar19 = -(int)local_38 & (uint)local_38;\n              local_38 = (Filedata *)((uint)local_38 & ~uVar19);\n              if (uVar19 == 8) {\n                uVar19 = 0xffffffff;\n                pFVar14 = local_34;\n                do {\n                  if (uVar19 == 0) break;\n                  uVar19 = uVar19 - 1;\n                  uVar18 = *(uint *)pFVar14;\n                  pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n                } while ((char)uVar18 != '\0');\n                pcVar7 = ", dynamic symbols use segment index";\n                puVar24 = (undefined4 *)(&DAT_000b579f + ~uVar19);\n                for (iVar17 = 9; iVar17 != 0; iVar17 = iVar17 + -1) {\n                  *puVar24 = *(undefined4 *)pcVar7;\n                  pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;\n                  puVar24 = puVar24 + (uint)bVar28 * -2 + 1;\n                }\n              }\n              else if (uVar19 == 0x10) {\n                uVar19 = 0xffffffff;\n                pFVar14 = local_34;\n                do {\n                  if (uVar19 == 0) break;\n                  uVar19 = uVar19 - 1;\n                  uVar18 = *(uint *)pFVar14;\n                  pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n                } while ((char)uVar18 != '\0');\n                pcVar7 = ", mapping symbols precede others";\n                pcVar8 = &DAT_000b579f + ~uVar19;\n                for (iVar17 = 0x21; iVar17 != 0; iVar17 = iVar17 + -1) {\n                  *pcVar8 = *pcVar7;\n                  pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n                  pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n                }\n              }\n              else if (uVar19 == 4) {\n                uVar19 = 0xffffffff;\n                pFVar14 = local_34;\n                do {\n                  if (uVar19 == 0) break;\n                  uVar19 = uVar19 - 1;\n                  uVar18 = *(uint *)pFVar14;\n                  pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n                } while ((char)uVar18 != '\0');\n                pcVar7 = ", sorted symbol tables";\n                pcVar8 = &DAT_000b579f + ~uVar19;\n                for (iVar17 = 0x17; iVar17 != 0; iVar17 = iVar17 + -1) {\n                  *pcVar8 = *pcVar7;\n                  pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n                  pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n                }\n              }\n              else {\n                bVar26 = true;\n              }\n            } while (local_38 != (Filedata *)0x0);\n            goto LAB_0003d8e9;\n          }\n          local_38 = (Filedata *)(filedata->file_header).e_flags;\n        }\n        else if (uVar19 < 0x2000001) {\n          if (uVar19 == 0) {\n            bVar26 = false;\n            pcVar8 = ", GNU EABI";\n            for (iVar17 = 0xb; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar7 = *pcVar8;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            }\n            if (local_38 != (Filedata *)0x0) {\n              do {\n                uVar19 = -(int)local_38 & (uint)local_38;\n                local_38 = (Filedata *)((uint)local_38 & ~uVar19);\n                if (uVar19 == 0x40) {\n                  uVar19 = 0xffffffff;\n                  pFVar14 = local_34;\n                  do {\n                    if (uVar19 == 0) break;\n                    uVar19 = uVar19 - 1;\n                    uVar18 = *(uint *)pFVar14;\n                    pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n                  } while ((char)uVar18 != '\0');\n                  pcVar7 = ", 8 bit structure alignment";\n                  puVar24 = (undefined4 *)(&DAT_000b579f + ~uVar19);\n                  for (iVar17 = 7; iVar17 != 0; iVar17 = iVar17 + -1) {\n                    *puVar24 = *(undefined4 *)pcVar7;\n                    pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;\n                    puVar24 = puVar24 + (uint)bVar28 * -2 + 1;\n                  }\n                }\n                else if (uVar19 < 0x41) {\n                  if (uVar19 == 8) {\n                    uVar19 = 0xffffffff;\n                    pFVar14 = local_34;\n                    do {\n                      if (uVar19 == 0) break;\n                      uVar19 = uVar19 - 1;\n                      uVar18 = *(uint *)pFVar14;\n                      pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n                    } while ((char)uVar18 != '\0');\n                    pcVar7 = ", uses APCS/26";\n                    pcVar8 = &DAT_000b579f + ~uVar19;\n                    for (iVar17 = 0xf; iVar17 != 0; iVar17 = iVar17 + -1) {\n                      *pcVar8 = *pcVar7;\n                      pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n                      pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n                    }\n                  }\n                  else if (uVar19 < 9) {\n                    if (uVar19 == 4) {\n                      uVar19 = 0xffffffff;\n                      pFVar14 = local_34;\n                      do {\n                        if (uVar19 == 0) break;\n                        uVar19 = uVar19 - 1;\n                        uVar18 = *(uint *)pFVar14;\n                        pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n                      } while ((char)uVar18 != '\0');\n                      pcVar7 = ", interworking enabled";\n                      pcVar8 = &DAT_000b579f + ~uVar19;\n                      for (iVar17 = 0x17; iVar17 != 0; iVar17 = iVar17 + -1) {\n                        *pcVar8 = *pcVar7;\n                        pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n                        pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n                      }\n                    }\n                    else {\nLAB_0003edd8:\n                      bVar26 = true;\n                    }\n                  }\n                  else if (uVar19 == 0x10) {\n                    uVar19 = 0xffffffff;\n                    pFVar14 = local_34;\n                    do {\n                      if (uVar19 == 0) break;\n                      uVar19 = uVar19 - 1;\n                      uVar18 = *(uint *)pFVar14;\n                      pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n                    } while ((char)uVar18 != '\0');\n                    pcVar7 = ", uses APCS/float";\n                    pcVar8 = &DAT_000b579f + ~uVar19;\n                    for (iVar17 = 0x12; iVar17 != 0; iVar17 = iVar17 + -1) {\n                      *pcVar8 = *pcVar7;\n                      pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n                      pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n                    }\n                  }\n                  else {\n                    if (uVar19 != 0x20) goto LAB_0003edd8;\n                    uVar19 = 0xffffffff;\n                    pFVar14 = local_34;\n                    do {\n                      if (uVar19 == 0) break;\n                      uVar19 = uVar19 - 1;\n                      uVar18 = *(uint *)pFVar14;\n                      pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n                    } while ((char)uVar18 != '\0');\n                    pcVar7 = ", position independent";\n                    pcVar8 = &DAT_000b579f + ~uVar19;\n                    for (iVar17 = 0x17; iVar17 != 0; iVar17 = iVar17 + -1) {\n                      *pcVar8 = *pcVar7;\n                      pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n                      pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n                    }\n                  }\n                }\n                else if (uVar19 == 0x200) {\n                  uVar19 = 0xffffffff;\n                  pFVar14 = local_34;\n                  do {\n                    if (uVar19 == 0) break;\n                    uVar19 = uVar19 - 1;\n                    uVar18 = *(uint *)pFVar14;\n                    pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n                  } while ((char)uVar18 != '\0');\n                  pcVar7 = ", software FP";\n                  pcVar8 = &DAT_000b579f + ~uVar19;\n                  for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {\n                    *pcVar8 = *pcVar7;\n                    pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n                    pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n                  }\n                }\n                else if (uVar19 < 0x201) {\n                  if (uVar19 == 0x80) {\n                    uVar19 = 0xffffffff;\n                    pFVar14 = local_34;\n                    do {\n                      if (uVar19 == 0) break;\n                      uVar19 = uVar19 - 1;\n                      uVar18 = *(uint *)pFVar14;\n                      pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n                    } while ((char)uVar18 != '\0');\n                    pcVar7 = ", uses new ABI";\n                    pcVar8 = &DAT_000b579f + ~uVar19;\n                    for (iVar17 = 0xf; iVar17 != 0; iVar17 = iVar17 + -1) {\n                      *pcVar8 = *pcVar7;\n                      pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n                      pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n                    }\n                  }\n                  else {\n                    if (uVar19 != 0x100) goto LAB_0003edd8;\n                    uVar19 = 0xffffffff;\n                    pFVar14 = local_34;\n                    do {\n                      if (uVar19 == 0) break;\n                      uVar19 = uVar19 - 1;\n                      uVar18 = *(uint *)pFVar14;\n                      pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n                    } while ((char)uVar18 != '\0');\n                    pcVar7 = ", uses old ABI";\n                    pcVar8 = &DAT_000b579f + ~uVar19;\n                    for (iVar17 = 0xf; iVar17 != 0; iVar17 = iVar17 + -1) {\n                      *pcVar8 = *pcVar7;\n                      pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n                      pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n                    }\n                  }\n                }\n                else if (uVar19 == 0x400) {\n                  uVar19 = 0xffffffff;\n                  pFVar14 = local_34;\n                  do {\n                    if (uVar19 == 0) break;\n                    uVar19 = uVar19 - 1;\n                    uVar18 = *(uint *)pFVar14;\n                    pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n                  } while ((char)uVar18 != '\0');\n                  *(undefined4 *)(&DAT_000b579f + ~uVar19) = 0x4656202c;\n                  *(undefined2 *)((int)&buf_16750 + ~uVar19 + 3) = 0x50;\n                }\n                else {\n                  if (uVar19 != 0x800) goto LAB_0003edd8;\n                  uVar19 = 0xffffffff;\n                  pFVar14 = local_34;\n                  do {\n                    if (uVar19 == 0) break;\n                    uVar19 = uVar19 - 1;\n                    uVar18 = *(uint *)pFVar14;\n                    pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n                  } while ((char)uVar18 != '\0');\n                  pcVar7 = ", Maverick FP";\n                  pcVar8 = &DAT_000b579f + ~uVar19;\n                  for (iVar17 = 0xe; iVar17 != 0; iVar17 = iVar17 + -1) {\n                    *pcVar8 = *pcVar7;\n                    pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n                    pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n                  }\n                }\n              } while (local_38 != (Filedata *)0x0);\n              goto LAB_0003d8e9;\n            }\n            local_38 = (Filedata *)(filedata->file_header).e_flags;\n          }\n          else if (uVar19 == 0x1000000) {\n            bVar26 = false;\n            pcVar8 = ", Version1 EABI";\n            for (iVar17 = 4; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *(undefined4 *)pcVar7 = *(undefined4 *)pcVar8;\n              pcVar8 = pcVar8 + ((uint)bVar28 * -2 + 1) * 4;\n              pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;\n            }\n            if (local_38 != (Filedata *)0x0) {\n              do {\n                uVar19 = -(int)local_38 & (uint)local_38;\n                local_38 = (Filedata *)((uint)local_38 & ~uVar19);\n                if (uVar19 == 4) {\n                  uVar19 = 0xffffffff;\n                  pFVar14 = local_34;\n                  do {\n                    if (uVar19 == 0) break;\n                    uVar19 = uVar19 - 1;\n                    uVar18 = *(uint *)pFVar14;\n                    pFVar14 = (Filedata *)((int)pFVar14 + (uint)bVar28 * -2 + 1);\n                  } while ((char)uVar18 != '\0');\n                  pcVar7 = ", sorted symbol tables";\n                  pcVar8 = &DAT_000b579f + ~uVar19;\n                  for (iVar17 = 0x17; iVar17 != 0; iVar17 = iVar17 + -1) {\n                    *pcVar8 = *pcVar7;\n                    pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n                    pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n                  }\n                }\n                else {\n                  bVar26 = true;\n                }\n              } while (local_38 != (Filedata *)0x0);\n              goto LAB_0003d8e9;\n            }\n            local_38 = (Filedata *)(filedata->file_header).e_flags;\n          }\n          else {\nLAB_0003c1eb:\n            pcVar8 = ", <unrecognized EABI>";\n            for (iVar17 = 0x16; iVar17 != 0; iVar17 = iVar17 + -1) {\n              *pcVar7 = *pcVar8;\n              pcVar8 = pcVar8 + (uint)bVar28 * -2 + 1;\n              pcVar7 = pcVar7 + (uint)bVar28 * -2 + 1;\n            }\n            if (local_38 == (Filedata *)0x0) {\n              local_38 = (Filedata *)(filedata->file_header).e_flags;\n            }\n            else {\nLAB_0003d8f4:\n              pcVar7 = (char *)dcgettext(0,", <unknown>",5);\n              strcat((char *)&buf_16750,pcVar7);\n              local_38 = (Filedata *)(filedata->file_header).e_flags;\n            }\n          }\n        }\n        else if (uVar19 == 0x4000000) {\n          pcVar8 = ", Version4 EABI";\n          for (iVar17 = 4; iVar17 != 0; iVar17 = iVar17 + -1) {\n            *(undefined4 *)pcVar7 = *(undefined4 *)pcVar8;\n            pcVar8 = pcVar8 + ((uint)bVar28 * -2 + 1) * 4;\n            pcVar7 = pcVar7 + ((uint)bVar28 * -2 + 1) * 4;\n          }\n          bVar26 = false;\n          if (local_38 == (Filedata *)0x0) {\n            local_38 = (Filedata *)(filedata->file_header).e_flags;\n          }\n          else {\n            do {\n              uVar19 = -(int)local_38 & (uint)local_38;\n              local_38 = (Filedata *)((uint)local_38 & ~uVar19);\n              pFVar14 = local_34;\n              if (uVar19 == 0x400000) {\n                do {\n                  puVar13 = (uint *)pFVar14;\n                  uVar18 = *puVar13 + 0xfefefeff & ~*puVar13;\n                  uVar19 = uVar18 & 0x80808080;\n                  pFVar14 = (Filedata *)(puVar13 + 1);\n                } while (uVar19 == 0);\n                bVar27 = (uVar18 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar19 = uVar19 >> 0x10;\n                }\n                puVar23 = puVar13 + 1;\n                if (bVar27) {\n                  puVar23 = (uint *)((int)puVar13 + 6);\n                }\n                builtin_strncpy((char *)((int)puVar23 +\n                                        (-3 - (uint)CARRY1((byte)uVar19,(byte)uVar19))),", LE8",6);\n              }\n              else if (uVar19 == 0x800000) {\n                do {\n                  puVar13 = (uint *)pFVar14;\n                  uVar18 = *puVar13 + 0xfefefeff & ~*puVar13;\n                  uVar19 = uVar18 & 0x80808080;\n                  pFVar14 = (Filedata *)(puVar13 + 1);\n                } while (uVar19 == 0);\n                bVar27 = (uVar18 & 0x8080) == 0;\n                if (bVar27) {\n                  uVar19 = uVar19 >> 0x10;\n                }\n                puVar23 = puVar13 + 1;\n                if (bVar27) {\n                  puVar23 = (uint *)((int)puVar13 + 6);\n                }\n                builtin_strncpy((char *)((int)puVar23 +\n                                        (-3 - (uint)CARR
(translation_unit "undefined4 __regparm3 FUN_0003b300(char *param_1)\n\n{\n  char cVar1;\n  ushort uVar2;\n  void *__ptr;\n  undefined4 uVar3;\n  char *pcVar4;\n  char *pcVar5;\n  Elf32_Ehdr *pEVar6;\n  int iVar7;\n  undefined *puVar8;\n  uint *puVar9;\n  size_t sVar10;\n  int extraout_ECX;\n  undefined4 extraout_ECX_00;\n  undefined4 extraout_ECX_01;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  int iVar11;\n  undefined4 extraout_ECX_04;\n  undefined4 extraout_ECX_05;\n  undefined4 extraout_ECX_06;\n  undefined4 extraout_ECX_07;\n  undefined4 extraout_ECX_08;\n  undefined4 extraout_ECX_09;\n  undefined4 extraout_ECX_10;\n  undefined4 extraout_ECX_11;\n  undefined4 extraout_ECX_12;\n  undefined4 extraout_ECX_13;\n  undefined4 extraout_ECX_14;\n  undefined4 extraout_ECX_15;\n  undefined4 extraout_ECX_16;\n  undefined4 extraout_ECX_17;\n  undefined4 extraout_ECX_18;\n  undefined4 extraout_ECX_19;\n  undefined4 extraout_ECX_20;\n  uint uVar12;\n  uint uVar13;\n  char *pcVar14;\n  char *extraout_EDX;\n  undefined4 extraout_EDX_00;\n  char *extraout_EDX_01;\n  byte bVar15;\n  undefined1 *puVar16;\n  uint uVar17;\n  uint *puVar18;\n  undefined4 *puVar19;\n  bool bVar20;\n  bool bVar21;\n  byte bVar22;\n  char *local_40;\n  char *local_3c;\n  char *local_38;\n  uint *local_34;\n  byte *local_30;\n  char local_24 [4];\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  bVar22 = 0;\n  uStack_14 = 0x3b30b;\n  if (*(int *)(param_1 + 0x10) != 0x464c457f) {\n    uVar3 = dcgettext(0,"Not an ELF file - it has the wrong magic bytes at the start\n",5);\n    error(uVar3);\n    return 0;\n  }\n  FUN_0005d920(*(undefined2 *)(param_1 + 0x42));\n  if (DAT_000b6344 == 0) goto LAB_0003b371;\n  pcVar4 = (char *)dcgettext(0,"ELF Header:\n",5);\n  printf(pcVar4);\n  pcVar4 = (char *)dcgettext(0,"  Magic:   ",5);\n  printf(pcVar4);\n  local_30 = (byte *)(param_1 + 0x10);\n  do {\n    printf("%2.2x ",(uint)*local_30);\n    local_30 = local_30 + 1;\n  } while ((byte *)(param_1 + 0x20) != local_30);\n  putchar(10);\n  cVar1 = param_1[0x14];\n  pcVar4 = "ELF32";\n  if (cVar1 != '\x01') {\n    if (cVar1 == '\0') {\n      pcVar4 = (char *)dcgettext(0,&DAT_00076afd,5);\n    }\n    else {\n      pcVar4 = "ELF64";\n      if (cVar1 != '\x02') {\n        pcVar4 = &DAT_000b5c40;\n        pcVar5 = (char *)dcgettext(0,"<unknown: %x>",5);\n        snprintf(&DAT_000b5c40,0x20,pcVar5,cVar1);\n      }\n    }\n  }\n  pcVar5 = (char *)dcgettext(0,"  Class:                             %s\n",5);\n  printf(pcVar5,pcVar4);\n  cVar1 = param_1[0x15];\n  if (cVar1 == '\x01') {\n    pcVar4 = "2\'s complement, little endian";\nLAB_0003c46b:\n    puVar8 = (undefined *)dcgettext(0,pcVar4,5);\n  }\n  else {\n    if (cVar1 == '\0') {\n      pcVar4 = "none";\n      goto LAB_0003c46b;\n    }\n    if (cVar1 == '\x02') {\n      pcVar4 = "2\'s complement, big endian";\n      goto LAB_0003c46b;\n    }\n    puVar8 = &DAT_000b5c20;\n    pcVar4 = (char *)dcgettext(0,"<unknown: %x>",5);\n    snprintf(&DAT_000b5c20,0x20,pcVar4,cVar1);\n  }\n  pcVar5 = (char *)dcgettext(0,"  Data:                              %s\n",5);\n  pcVar4 = "(current)";\n  printf(pcVar5,puVar8);\n  bVar15 = param_1[0x16];\n  if ((bVar15 != 1) && (pcVar4 = "", bVar15 != 0)) {\n    pcVar4 = (char *)dcgettext(0,"<unknown: %lx>",5);\n    bVar15 = param_1[0x16];\n  }\n  pcVar5 = (char *)dcgettext(0,"  Version:                           %d %s\n",5);\n  printf(pcVar5,(uint)bVar15,pcVar4);\n  uVar3 = FUN_000241c0();\n  pcVar4 = (char *)dcgettext(0,"  OS/ABI:                            %s\n",5);\n  printf(pcVar4,uVar3);\n  bVar15 = param_1[0x18];\n  pcVar4 = (char *)dcgettext(0,"  ABI Version:                       %d\n",5);\n  printf(pcVar4,(uint)bVar15);\n  uVar3 = FUN_0001c2b0();\n  pcVar4 = (char *)dcgettext(0,"  Type:                              %s\n",5);\n  printf(pcVar4,uVar3);\n  uVar3 = FUN_0001c3f0();\n  pcVar4 = (char *)dcgettext(0,"  Machine:                           %s\n",5);\n  printf(pcVar4,uVar3);\n  uVar3 = *(undefined4 *)(param_1 + 0x38);\n  pcVar5 = (char *)dcgettext(0,"  Version:                           0x%lx\n",5);\n  pcVar4 = "%lld";\n  printf(pcVar5,uVar3);\n  pcVar5 = (char *)dcgettext(0,"  Entry point address:               ",5);\n  printf(pcVar5);\n  FUN_0001e910();\n  pcVar5 = (char *)dcgettext(0,"\n  Start of program headers:          ",5);\n  printf(pcVar5);\n  printf("%lld",*(undefined4 *)(param_1 + 0x28),*(undefined4 *)(param_1 + 0x2c));\n  pcVar5 = (char *)dcgettext(0," (bytes into file)\n  Start of section headers:          ",5);\n  printf(pcVar5);\n  printf("%lld",*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34));\n  pcVar5 = (char *)dcgettext(0," (bytes into file)\n",5);\n  printf(pcVar5);\n  local_38 = *(char **)(param_1 + 0x3c);\n  uVar2 = *(ushort *)(param_1 + 0x42);\n  DAT_000b57a0 = DAT_000b57a0 & 0xffffff00;\n  if (local_38 == (char *)0x0) goto LAB_0003b840;\n  if (uVar2 == 0x5b) {\nLAB_0003bdf2:\n    if (((uint)local_38 & 0x10) != 0) {\n      pcVar4 = ", new calling convention";\n      pcVar5 = (char *)&DAT_000b57a0;\n      for (iVar11 = 0x19; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x20) == 0) {\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    else {\n      uVar13 = 0xffffffff;\n      pcVar4 = (char *)&DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar4 = ", gnu calling convention";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0x19; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    goto LAB_0003b840;\n  }\n  if (0x5b < uVar2) {\n    if (uVar2 == 0xc3) {\nLAB_0003cc32:\n      switch((uint)local_38 & 0xff) {\n      default:\n        if (uVar2 == 0x5d) {\n          puVar9 = (uint *)", Unknown ARCompact";\n          puVar18 = &DAT_000b57a0;\n          for (iVar11 = 5; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar18 = *puVar9;\n            puVar9 = puVar9 + (uint)bVar22 * -2 + 1;\n            puVar18 = puVar18 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else {\n          pcVar4 = ", Unknown ARC";\n          puVar9 = &DAT_000b57a0;\n          for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(char *)puVar9 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          }\n        }\n        break;\n      case 2:\n        pcVar4 = ", ARC600";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 3:\n        pcVar4 = ", ARC700";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 4:\n        pcVar4 = ", ARC601";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 5:\n        pcVar4 = ", ARC EM";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 6:\n        pcVar4 = ", ARC HS";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n      }\n      uVar13 = (uint)local_38 & 0xf00;\n      puVar9 = &DAT_000b57a0;\n      do {\n        puVar18 = puVar9;\n        uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n        uVar12 = uVar17 & 0x80808080;\n        puVar9 = puVar18 + 1;\n      } while (uVar12 == 0);\n      bVar20 = (uVar17 & 0x8080) == 0;\n      if (bVar20) {\n        uVar12 = uVar12 >> 0x10;\n      }\n      if (bVar20) {\n        puVar9 = (uint *)((int)puVar18 + 6);\n      }\n      pcVar4 = (char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12)));\n      if (uVar13 == 0x200) {\n        pcVar5 = ", (ABI:v2)";\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar4 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else if (uVar13 < 0x201) {\n        if (uVar13 == 0) {\n          pcVar5 = ", (ABI:legacy)";\n          for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar4 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\nLAB_0003e7fe:\n          pcVar5 = ", unrecognised ARC OSABI flag";\n          for (iVar11 = 0x1e; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar4 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar13 == 0x300) {\n        pcVar5 = ", v3 no-legacy-syscalls ABI";\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n          pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n          pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else {\n        if (uVar13 != 0x400) goto LAB_0003e7fe;\n        pcVar5 = ", v4 ABI";\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar4 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 < 0xc4) {\n      if (uVar2 == 0x69) {\n        pcVar4 = (char *)dcgettext(0,": architecture variant: ",5);\n        puVar9 = &DAT_000b57a0;\n        do {\n          puVar18 = puVar9;\n          uVar12 = *puVar18 + 0xfefefeff & ~*puVar18;\n          uVar13 = uVar12 & 0x80808080;\n          puVar9 = puVar18 + 1;\n        } while (uVar13 == 0);\n        bVar20 = (uVar12 & 0x8080) == 0;\n        if (bVar20) {\n          uVar13 = uVar13 >> 0x10;\n        }\n        if (bVar20) {\n          puVar9 = (uint *)((int)puVar18 + 6);\n        }\n        pcVar5 = stpcpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar13,(byte)uVar13))),\n                        pcVar4);\n        uVar13 = ((uint)local_38 & 0xff) - 0xb;\n        iVar11 = extraout_ECX;\n        if (uVar13 < 100) {\n          iVar11 = (int)&__DT_PLTGOT + *(int *)(&DAT_0008dec0 + uVar13 * 4);\n          switch((uint)local_38 & 0xff) {\n          case 0xb:\n            pcVar4 = "MSP430x11";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0xc:\n            pcVar4 = "MSP430x12";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0xd:\n            pcVar4 = "MSP430x13";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0xe:\n            pcVar4 = "MSP430x14";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0xf:\n            pcVar4 = "MSP430x15";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x10:\n            pcVar4 = "MSP430x16";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          default:\n            goto LAB_0003e9dc;\n          case 0x1f:\n            pcVar4 = "MSP430x31";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x20:\n            pcVar4 = "MSP430x32";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x21:\n            pcVar4 = "MSP430x33";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x29:\n            pcVar4 = "MSP430x41";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x2a:\n            pcVar4 = "MSP430x42";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x2b:\n            pcVar4 = "MSP430x43";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x2c:\n            pcVar4 = "MSP430x44";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x2d:\n            builtin_strncpy(pcVar5,"MSP430X",8);\n            break;\n          case 0x6e:\n            pcVar4 = "MSP430x11x1 ";\n            for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n          }\n        }\n        else {\nLAB_0003e9dc:\n          pcVar4 = (char *)0x0;\n          pcVar5 = (char *)dcgettext(0,": unknown",5,iVar11);\n          strcat((char *)&DAT_000b57a0,pcVar5);\n        }\n        if (((uint)local_38 & 0xffffff00) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          pcVar4 = (char *)dcgettext(0,": unknown extra flag bits also present",5,pcVar4);\n          strcat((char *)&DAT_000b57a0,pcVar4);\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 < 0x6a) {\n        if (uVar2 == 0x5d) goto LAB_0003cc32;\n        if (uVar2 < 0x5d) {\n          if (((uint)local_38 & 1) != 0) {\n            pcVar4 = ", no delay";\n            pcVar5 = (char *)&DAT_000b57a0;\n            for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else if (uVar2 == 99) goto LAB_0003bdf2;\n      }\n      else if (uVar2 == 0x8c) {\n        if (((uint)local_38 & 1) != 0) {\n          pcVar4 = ", relocatable module";\n          puVar9 = &DAT_000b57a0;\n          for (iVar11 = 0x15; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(char *)puVar9 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 < 0x8d) {\n        if (uVar2 == 0x6a) {\n          if (((uint)local_38 & 1) != 0) {\n            DAT_000b57a0 = 0x4950202c;\n            DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x43);\n          }\n          if (((uint)local_38 & 2) != 0) {\n            uVar13 = 0xffffffff;\n            pcVar4 = (char *)&DAT_000b57a0;\n            do {\n              if (uVar13 == 0) break;\n              uVar13 = uVar13 - 1;\n              cVar1 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            } while (cVar1 != '\0');\n            *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x4446202c;\n            *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x434950;\n          }\n          if (((uint)local_38 & 0x10) != 0) {\n            uVar13 = 0xffffffff;\n            pcVar4 = (char *)&DAT_000b57a0;\n            do {\n              if (uVar13 == 0) break;\n              uVar13 = uVar13 - 1;\n              cVar1 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            } while (cVar1 != '\0');\n            pcVar4 = ", code in L1";\n            pcVar5 = &DAT_000b579f + ~uVar13;\n            for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n          }\n          if (((uint)local_38 & 0x20) == 0) {\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\n            uVar13 = 0xffffffff;\n            pcVar4 = (char *)&DAT_000b57a0;\n            do {\n              if (uVar13 == 0) break;\n              uVar13 = uVar13 - 1;\n              cVar1 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            } while (cVar1 != '\0');\n            pcVar4 = ", data in L1";\n            pcVar5 = &DAT_000b579f + ~uVar13;\n            for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n      }\n      else if (uVar2 == 0xa7) {\n        uVar13 = (uint)local_38 & 0xf0000000;\n        uVar12 = (uint)local_38 & 0xf0;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 0x100; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *puVar19 = 0;\n          puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n        }\n        if (uVar12 == 0x20) {\nLAB_0003d15d:\n          iVar11 = snprintf((char *)&DAT_000b57a0,0x400,", %s",(&PTR_s_ABI_v0_000b333c)[uVar12 >> 4]\n                           );\n        }\n        else {\n          if (uVar12 < 0x21) {\n            if ((uVar12 == 0) || (uVar12 == 0x10)) goto LAB_0003d15d;\n          }\n          else if ((uVar12 == 0x40) || ((uVar12 == 0x50 || (uVar12 == 0x30)))) goto LAB_0003d15d;\n          DAT_000b57a0 = 0x753c202c;\n          iVar11 = 0x14;\n          DAT_000b57a4 = 0x6365726e;\n          _DAT_000b57a8 = 0x696e676f;\n          DAT_000b57ac = 0x2064657a;\n          DAT_000b57b0 = 0x3e494241;\n          DAT_000b57b4 = 0;\n        }\n        if (((uint)local_38 & 0xf) < 3) {\n          iVar7 = snprintf((char *)((int)&DAT_000b57a0 + iVar11),0x400U - iVar11,", %s",\n                           (&PTR_s_Andes_ELF_V1_3_or_older_000b3330)[(uint)local_38 & 0xf]);\n          uVar17 = iVar11 + iVar7;\n        }\n        else {\n          uVar17 = iVar11 + 0x23;\n          snprintf((char *)((int)&DAT_000b57a0 + iVar11),0x400U - iVar11,\n                   ", <unrecognized ELF version number>");\n        }\n        sVar10 = 0x400 - uVar17;\n        pcVar4 = (char *)((int)&DAT_000b57a0 + uVar17);\n        if (uVar12 == 0) {\n          iVar11 = snprintf(pcVar4,sVar10,", Andes Star v1.0, N1213HC, MAC, PERF1",&DAT_000b57a0);\n          if (uVar13 == 0x10000000) {\n            snprintf((char *)(uVar17 + 0xb57c6),0x400 - (uVar17 + 0x26),", 16b",iVar11);\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else if (uVar13 == 0x20000000) {\nLAB_0003d678:\n          iVar11 = snprintf(pcVar4,sVar10,", %s",(&PTR_DAT_000b331c)[(uint)local_38 >> 0x1c]);\n          iVar11 = iVar11 + uVar17;\n          uVar12 = (uint)local_38 & 0x100;\n          uVar3 = extraout_ECX_00;\n          if (uVar13 == 0x10000000) {\n            if (uVar12 != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 10;\n              uVar12 = snprintf(pcVar4,sVar10,", MFUSR_PC",uVar12);\n              uVar3 = extraout_ECX_20;\n            }\n            if (((uint)local_38 & 0x100000) == 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 5;\n              uVar12 = snprintf(pcVar4,sVar10,", MAC",uVar12);\n              uVar3 = extraout_ECX_19;\n            }\n            if (((uint)local_38 & 0x2000) != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 5;\n              uVar12 = snprintf(pcVar4,sVar10,", DIV",uVar12);\n              uVar3 = extraout_ECX_18;\n            }\n            if (((uint)local_38 & 0x4000) != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 5;\n              uVar12 = snprintf(pcVar4,sVar10,", 16b",uVar12);\n              uVar3 = extraout_ECX_10;\n            }\n          }\n          else {\n            if (uVar12 != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              if (((uint)local_38 & 0xe) == 0) {\n                iVar11 = iVar11 + 6;\n                uVar12 = snprintf(pcVar4,sVar10,", [B8]",uVar17);\n                uVar3 = extraout_ECX_01;\n              }\n              else {\n                iVar11 = iVar11 + 5;\n                uVar12 = snprintf(pcVar4,sVar10,", EX9",extraout_EDX_00);\n                uVar3 = extraout_ECX_11;\n              }\n            }\n            if (((uint)local_38 & 0x100000) != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 8;\n              uVar12 = snprintf(pcVar4,sVar10,", MAC_DX",uVar12);\n              uVar3 = extraout_ECX_09;\n            }\n            if (((uint)local_38 & 0x2000) != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 8;\n              uVar12 = snprintf(pcVar4,sVar10,", DIV_DX",uVar12);\n              uVar3 = extraout_ECX_14;\n            }\n            if (((uint)local_38 & 0x4000) != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              uVar13 = (uint)local_38 & 0xffffff0e;\n              if (((uint)local_38 & 0xe) == 0) {\n                pcVar5 = ", 16b";\n                uVar13 = uVar17;\n              }\n              else {\n                pcVar5 = ", IFC";\n              }\n              iVar11 = iVar11 + 5;\n              uVar12 = snprintf(pcVar4,sVar10,pcVar5,uVar13);\n              uVar3 = extraout_ECX_02;\n            }\n          }\n          if (((uint)local_38 & 0x200) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 7;\n            uVar12 = snprintf(pcVar4,sVar10,", PERF1",uVar12);\n            uVar3 = extraout_ECX_13;\n          }\n          if (((uint)local_38 & 0x400) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 7;\n            snprintf(pcVar4,sVar10,", PERF2",uVar12);\n            uVar3 = extraout_ECX_12;\n          }\n          uVar13 = (uint)local_38 & 0x1000000;\n          if (((uint)local_38 & 0x800) == 0) {\n            pcVar4 = local_38;\n            if (((uint)local_38 & 0x80000) != 0) {\nLAB_0003eba3:\n              sVar10 = 0x400 - iVar11;\n              pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 8;\n              pcVar4 = (char *)snprintf(pcVar5,sVar10,", FPU_DP",pcVar4);\n              goto LAB_0003ebc4;\n            }\n            if (uVar13 != 0) goto LAB_0003ebc8;\n          }\n          else {\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 8;\n            pcVar4 = (char *)snprintf(pcVar4,sVar10,", FPU_SP",local_38);\n            if (((uint)local_38 & 0x80000) != 0) goto LAB_0003eba3;\nLAB_0003ebc4:\n            if (uVar13 != 0) {\nLAB_0003ebc8:\n              sVar10 = 0x400 - iVar11;\n              pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 9;\n              snprintf(pcVar5,sVar10,", FPU_MAC",pcVar4);\n            }\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            uVar12 = (uint)local_38 >> 0x16 & 3;\n            if (uVar12 == 2) {\n              pcVar5 = ", FPU_REG:32/16";\n              uVar12 = uVar13;\n            }\n            else {\n              if (uVar12 != 3) {\n                if (uVar12 == 1) {\n                  iVar11 = iVar11 + 0xe;\n                  pcVar4 = (char *)snprintf(pcVar4,sVar10,", FPU_REG:16/8",0);\n                  uVar3 = extraout_ECX_16;\n                }\n                else {\n                  iVar11 = iVar11 + 0xd;\n                  pcVar4 = (char *)snprintf(pcVar4,sVar10,", FPU_REG:8/4",uVar13);\n                  uVar3 = extraout_ECX_06;\n                }\n                goto LAB_0003d76f;\n              }\n              pcVar5 = ", FPU_REG:32/32";\n              uVar12 = 3;\n            }\n            iVar11 = iVar11 + 0xf;\n            pcVar4 = (char *)snprintf(pcVar4,sVar10,pcVar5,uVar12);\n            uVar3 = extraout_ECX_17;\n          }\nLAB_0003d76f:\n          if (((uint)local_38 & 0x1000) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 7;\n            pcVar4 = (char *)snprintf(pcVar5,sVar10,", AUDIO",pcVar4);\n            uVar3 = extraout_ECX_05;\n          }\n          if (((uint)local_38 & 0x8000) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 5;\n            pcVar4 = (char *)snprintf(pcVar5,sVar10,", STR",pcVar4);\n            uVar3 = extraout_ECX_08;\n          }\n          if (((uint)local_38 & 0x10000) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 7;\n            snprintf(pcVar5,sVar10,", 16REG",pcVar4);\n            uVar3 = extraout_ECX_07;\n          }\n          if (((uint)local_38 & 0x20000) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            if (((uint)local_38 & 0xe) == 0) {\n              iVar11 = iVar11 + 7;\n              snprintf(pcVar4,sVar10,", VIDEO",uVar13);\n              uVar3 = extraout_ECX_03;\n            }\n            else {\n              iVar11 = iVar11 + 0xc;\n              snprintf(pcVar4,sVar10,", SATURATION",(uint)local_38 & 0xffffff0e);\n              uVar3 = extraout_ECX_15;\n            }\n          }\n          if (((uint)local_38 & 0x40000) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 7;\n            snprintf(pcVar4,sVar10,", ENCRP",uVar13);\n            uVar3 = extraout_ECX_04;\n          }\n          if (((uint)local_38 & 0x200000) == 0) {\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\n            snprintf((char *)((int)&DAT_000b57a0 + iVar11),0x400 - iVar11,", L2C",uVar3);\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else {\n          if (uVar13 < 0x20000001) {\n            if (uVar13 == 0x10000000) goto LAB_0003d678;\n          }\n          else if ((uVar13 == 0x30000000) || (uVar13 == 0x40000000)) goto LAB_0003d678;\n          snprintf(pcVar4,sVar10,", <unrecognized architecture>");\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 == 0xad) {\n        if (((uint)local_38 & 1) != 0) {\n          pcVar4 = ", 64-bit doubles";\n          puVar9 = &DAT_000b57a0;\n          for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(char *)puVar9 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          }\n        }\n        if (((uint)local_38 & 2) != 0) {\n          uVar13 = 0xffffffff;\n          puVar9 = &DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            uVar12 = *puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while ((char)uVar12 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7364202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x70;\n        }\n        if (((uint)local_38 & 4) != 0) {\n          uVar13 = 0xffffffff;\n          puVar9 = &DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            uVar12 = *puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while ((char)uVar12 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6970202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 100;\n        }\n        if (((uint)local_38 & 8) != 0) {\n          uVar13 = 0xffffffff;\n          puVar9 = &DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            uVar12 = *puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while ((char)uVar12 != '\0');\n          pcVar4 = ", RX ABI";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x40) != 0) {\n          puVar9 = &DAT_000b57a0;\n          pcVar4 = ", uses String instructions";\n          if (((uint)local_38 & 0x80) == 0) {\n            pcVar4 = ", bans String instructions";\n          }\n          do {\n            puVar18 = puVar9;\n            uVar12 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar13 = uVar12 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar13 == 0);\n          bVar20 = (uVar12 & 0x8080) == 0;\n          if (bVar20) {\n            uVar13 = uVar13 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          pcVar5 = (char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar13,(byte)uVar13)));\n          *(undefined4 *)pcVar5 = *(undefined4 *)pcVar4;\n          *(undefined4 *)(pcVar5 + 4) = *(undefined4 *)(pcVar4 + 4);\n          *(undefined4 *)(pcVar5 + 8) = *(undefined4 *)(pcVar4 + 8);\n          *(undefined4 *)(pcVar5 + 0xc) = *(undefined4 *)(pcVar4 + 0xc);\n          *(undefined4 *)(pcVar5 + 0x10) = *(undefined4 *)(pcVar4 + 0x10);\n          *(undefined4 *)(pcVar5 + 0x14) = *(undefined4 *)(pcVar4 + 0x14);\n          cVar1 = pcVar4[0x1a];\n          *(undefined2 *)(pcVar5 + 0x18) = *(undefined2 *)(pcVar4 + 0x18);\n          pcVar5[0x1a] = cVar1;\n        }\n        if (((uint)local_38 & 0x100) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          uVar13 = 0xffffffff;\n          puVar9 = &DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            uVar12 = *puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while ((char)uVar12 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x3256202c;\n          *(undefined1 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    else if (uVar2 == 0xfa) {\n      uVar13 = (uint)local_38 >> 8 & 0xffff;\n      if (uVar13 == 0x3200) {\n        pcVar4 = ", NFP-32xx";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else if (uVar13 == 0x6000) {\n        pcVar4 = ", NFP-6xxx";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 < 0xfb) {\n      if (uVar2 == 0xdd) {\n        if (((uint)local_38 & 1) == 0) {\n          if (((uint)local_38 & 2) != 0) {\n            DAT_000b57a0 = 0x636d202c;\n            DAT_000b57a4 = 0x34326d;\n          }\n        }\n        else {\n          DAT_000b57a0 = 0x636d202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x6d);\n        }\n        if (((uint)local_38 & 4) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7267202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x36;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 == 0xf3) {\n        if (((uint)local_38 & 1) != 0) {\n          DAT_000b57a0 = 0x5652202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x43);\n        }\n        if (((uint)local_38 & 8) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x5652202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x45;\n        }\n        uVar13 = (uint)local_38 & 6;\n        if (uVar13 == 2) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", single-float ABI";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 < 3) {\n          if (uVar13 == 0) {\n            uVar13 = 0xffffffff;\n            pcVar4 = (char *)&DAT_000b57a0;\n            do {\n              if (uVar13 == 0) break;\n              uVar13 = uVar13 - 1;\n              cVar1 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            } while (cVar1 != '\0');\n            pcVar4 = ", soft-float ABI";\n            pcVar5 = &DAT_000b579f + ~uVar13;\n            for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\nLAB_0003e76f:\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else if (uVar13 == 4) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", double-float ABI";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          if (uVar13 != 6) goto LAB_0003e76f;\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", quad-float ABI";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 == 0xc5) {\n        uVar13 = (uint)local_38 & 0xc;\n        if (uVar13 == 8) {\n          DAT_000b57a0 = 0x3147202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x33);\n        }\n        else if (uVar13 == 0xc) {\n          DAT_000b57a0 = 0x3147202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x34);\n        }\n        else if (uVar13 == 4) {\n          DAT_000b57a0 = 0x3147202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x30);\n        }\n        if (((uint)local_38 & 1) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", 64-bit doubles";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    else if (uVar2 == 0x9041) {\nLAB_0003bb50:\n      if (((uint)local_38 & 0x30000000) == 0) {\n        puVar16 = &DAT_0007ca93;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined1 *)puVar19 = *puVar16;\n          puVar16 = puVar16 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 < 0x9042) {\n      if (uVar2 == 0x5441) {\n        uVar13 = (uint)local_38 & 0xff000000;\n        if (uVar13 == 0x4000000) {\n          pcVar4 = ", tomcat";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 < 0x4000001) {\n          if (uVar13 == 0x1000000) {\n            DAT_000b57a0 = 0x7266202c;\n            DAT_000b57a4 = 0x303035;\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else if (uVar13 < 0x1000001) {\n            if (uVar13 != 0) {\nLAB_0003d4b1:\n              DAT_000b57a0 = 0x7266202c;\n              DAT_000b57a4 = 0x3f3f3f;\n              local_38 = *(char **)(param_1 + 0x3c);\n            }\n          }\n          else if (uVar13 == 0x2000000) {\n            DAT_000b57a0 = 0x7266202c;\n            DAT_000b57a4 = 0x303033;\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\n            if (uVar13 != 0x3000000) goto LAB_0003d4b1;\n            pcVar4 = ", simple";\n            pcVar5 = (char *)&DAT_000b57a0;\n            for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else if (uVar13 == 0x6000000) {\n          DAT_000b57a0 = 0x7266202c;\n          DAT_000b57a4 = 0x303535;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 < 0x6000001) {\n          if (uVar13 != 0x5000000) goto LAB_0003d4b1;\n          DAT_000b57a0 = 0x7266202c;\n          DAT_000b57a4 = 0x303034;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 0x7000000) {\n          DAT_000b57a0 = 0x7266202c;\n          DAT_000b57a4 = 0x353034;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          if (uVar13 != 0x8000000) goto LAB_0003d4b1;\n          DAT_000b57a0 = 0x7266202c;\n          DAT_000b57a4 = 0x303534;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    else {\n      if (uVar2 == 0x9080) goto LAB_0003c0c0;\n      if (uVar2 == 0xf00d) {\n        uVar13 = (uint)local_38 & 0xff000000;\n        if (uVar13 == 0x2000000) {\n          pcVar4 = ", MeP C3";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else if (uVar13 < 0x2000001) {\n          if (uVar13 == 0) {\n            pcVar4 = ", generic MeP";\n            pcVar5 = (char *)&DAT_000b57a0;\n            for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n          }\n          else if (uVar13 == 0x1000000) {\n            pcVar4 = ", MeP C2";\n            pcVar5 = (char *)&DAT_000b57a0;\n            for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n          }\n          else {\nLAB_0003ba2e:\n            pcVar4 = (char *)dcgettext(0,", <unknown MeP cpu type>",5,&DAT_00076943);\n            strcat((char *)&DAT_000b57a0,pcVar4);\n          }\n        }\n        else if (uVar13 == 0x8000000) {\n          pcVar4 = ", MeP C5";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else if (uVar13 == 0x10000000) {\n          pcVar4 = ", MeP H1";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else {\n          if (uVar13 != 0x4000000) goto LAB_0003ba2e;\n          pcVar4 = ", MeP C4";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        local_34 = &DAT_000b57a0;\n        pEVar6 = (Elf32_Ehdr *)((uint)local_38 & 0xff0000);\n        if (pEVar6 == (Elf32_Ehdr *)0x20000) {\n          uVar13 = 0xffffffff;\n          pEVar6 = (Elf32_Ehdr *)0x0;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pcVar4 = ", AVC2 coprocessor";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else if (pEVar6 < (Elf32_Ehdr *)0x20001) {\n          if (pEVar6 != (Elf32_Ehdr *)0x0) {\n            if (pEVar6 == &Elf32_Ehdr_00010000) {\n              uVar13 = 0xffffffff;\n              pEVar6 = (Elf32_Ehdr *)0x0;\n              puVar9 = local_34;\n              do {\n                if (uVar13 == 0) break;\n                uVar13 = uVar13 - 1;\n                cVar1 = *(char *)puVar9;\n                puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n              } while (cVar1 != '\0');\n              pcVar4 = ", AVC coprocessor";\n              pcVar5 = &DAT_000b579f + ~uVar13;\n              for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {\n                *pcVar5 = *pcVar4;\n                pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n              }\n            }\n            else {\nLAB_0003e6fc:\n              pcVar4 = (char *)dcgettext(0,"<unknown MeP copro type>",5,pEVar6);\n              pEVar6 = (Elf32_Ehdr *)strcat((char *)&DAT_000b57a0,pcVar4);\n            }\n          }\n        }\n        else if (pEVar6 == (Elf32_Ehdr *)&DAT_00030000) {\n          uVar13 = 0xffffffff;\n          pEVar6 = (Elf32_Ehdr *)0x0;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pcVar4 = ", FMAX coprocessor";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else {\n          if (pEVar6 != (Elf32_Ehdr *)0x60000) goto LAB_0003e6fc;\n          uVar13 = 0xffffffff;\n          pEVar6 = (Elf32_Ehdr *)0x0;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pcVar4 = ", IVC2 coprocessor";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x100) != 0) {\n          uVar13 = 0xffffffff;\n          pEVar6 = (Elf32_Ehdr *)0x0;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pcVar4 = ", Built for Library";\n          puVar19 = (undefined4 *)(&DAT_000b579f + ~uVar13);\n          for (iVar11 = 5; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0xff) != 0) {\n          uVar13 = 0xffffffff;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pEVar6 = (Elf32_Ehdr *)\n                   sprintf(&DAT_000b579f + ~uVar13,", Configuration Index: %#x",\n                           (uint)local_38 & 0xff,0);\n        }\n        if (((uint)local_38 & 0xfe00) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          pcVar4 = (char *)dcgettext(0,", unknown flags bits: %#x",5,pEVar6);\n          uVar13 = 0xffffffff;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)local_34;\n            local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          sprintf(&DAT_000b579f + ~uVar13,pcVar4,(uint)local_38 & 0xfe00);\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    goto LAB_0003b840;\n  }\n  if (uVar2 == 0x24) {\n    if (((uint)local_38 & 0xf0000000) == 0xf0000000) {\n      puVar9 = (uint *)", RH850 ABI";\n      puVar18 = &DAT_000b57a0;\n      for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *puVar18 = *puVar9;\n        puVar9 = puVar9 + (uint)bVar22 * -2 + 1;\n        puVar18 = puVar18 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x100000) != 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", V3 architecture";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 3) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", FPU not used";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x60) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", regmode: COMMON";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x300) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", r4 not used";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0xc00) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", r30 not used";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x3000) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", r5 not used";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0xc000) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", r2 not used";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    uVar13 = (uint)local_38 & 0xffff;\n    if (uVar13 == 0) {\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    else {\n      do {\n        uVar12 = -uVar13 & uVar13;\n        puVar9 = &DAT_000b57a0;\n        if (uVar12 == 0x200) {\n          do {\n            puVar18 = puVar9;\n            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar12 = uVar17 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar12 == 0);\n          bVar20 = (uVar17 & 0x8080) == 0;\n          if (bVar20) {\n            uVar12 = uVar12 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                          ", r4 free",10);\n        }\n        else if (uVar12 < 0x201) {\n          if (uVar12 == 0x20) {\n            do {\n              puVar18 = puVar9;\n              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n              uVar12 = uVar17 & 0x80808080;\n              puVar9 = puVar18 + 1;\n            } while (uVar12 == 0);\n            bVar20 = (uVar17 & 0x8080) == 0;\n            if (bVar20) {\n              uVar12 = uVar12 >> 0x10;\n            }\n            if (bVar20) {\n              puVar9 = (uint *)((int)puVar18 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                            ", regmode:22",0xd);\n          }\n          else if (uVar12 < 0x21) {\n            if (uVar12 == 1) {\n              do {\n                puVar18 = puVar9;\n                uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n                uVar12 = uVar17 & 0x80808080;\n                puVar9 = puVar18 + 1;\n              } while (uVar12 == 0);\n              bVar20 = (uVar17 & 0x8080) == 0;\n              if (bVar20) {\n                uVar12 = uVar12 >> 0x10;\n              }\n              if (bVar20) {\n                puVar9 = (uint *)((int)puVar18 + 6);\n              }\n              builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12)))\n                              ,", double precision FPU",0x17);\n            }\n            else if (uVar12 == 2) {\n              do {\n                puVar18 = puVar9;\n                uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n                uVar12 = uVar17 & 0x80808080;\n                puVar9 = puVar18 + 1;\n              } while (uVar12 == 0);\n              bVar20 = (uVar17 & 0x8080) == 0;\n              if (bVar20) {\n                uVar12 = uVar12 >> 0x10;\n              }\n              if (bVar20) {\n                puVar9 = (uint *)((int)puVar18 + 6);\n              }\n              builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12)))\n                              ,", single precision FPU",0x17);\n            }\n          }\n          else if (uVar12 == 0x40) {\n            do {\n              puVar18 = puVar9;\n              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n              uVar12 = uVar17 & 0x80808080;\n              puVar9 = puVar18 + 1;\n            } while (uVar12 == 0);\n            bVar20 = (uVar17 & 0x8080) == 0;\n            if (bVar20) {\n              uVar12 = uVar12 >> 0x10;\n            }\n            if (bVar20) {\n              puVar9 = (uint *)((int)puVar18 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                            ", regmode:23",0xd);\n          }\n          else if (uVar12 == 0x100) {\n            do {\n              puVar18 = puVar9;\n              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n              uVar12 = uVar17 & 0x80808080;\n              puVar9 = puVar18 + 1;\n            } while (uVar12 == 0);\n            bVar20 = (uVar17 & 0x8080) == 0;\n            if (bVar20) {\n              uVar12 = uVar12 >> 0x10;\n            }\n            if (bVar20) {\n              puVar9 = (uint *)((int)puVar18 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                            ", r4 fixed",0xb);\n          }\n        }\n        else if (uVar12 == 0x1000) {\n          do {\n            puVar18 = puVar9;\n            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar12 = uVar17 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar12 == 0);\n          bVar20 = (uVar17 & 0x8080) == 0;\n          if (bVar20) {\n            uVar12 = uVar12 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                          ", r5 fixed",0xb);\n        }\n        else if (uVar12 < 0x1001) {\n          if (uVar12 == 0x400) {\n            do {\n              puVar18 = puVar9;\n              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n              uVar12 = uVar17 & 0x80808080;\n              puVar9 = puVar18 + 1;\n            } while (uVar12 == 0);\n            bVar20 = (uVar17 & 0x8080) == 0;\n            if (bVar20) {\n              uVar12 = uVar12 >> 0x10;\n            }\n            if (bVar20) {\n              puVar9 = (uint *)((int)puVar18 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                            ", r30 fixed",0xc);\n          }\n          else if (uVar12 == 0x800) {\n            do {\n              puVar18 = puVar9;\n              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n              uVar12 = uVar17 & 0x80808080;\n              puVar9 = puVar18 + 1;\n            } while (uVar12 == 0);\n            bVar20 = (uVar17 & 0x8080) == 0;\n            if (bVar20) {\n              uVar12 = uVar12 >> 0x10;\n            }\n            if (bVar20) {\n              puVar9 = (uint *)((int)puVar18 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                            ", r30 free",0xb);\n          }\n        }\n        else if (uVar12 == 0x4000) {\n          do {\n            puVar18 = puVar9;\n            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar12 = uVar17 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar12 == 0);\n          bVar20 = (uVar17 & 0x8080) == 0;\n          if (bVar20) {\n            uVar12 = uVar12 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                          ", r2 fixed",0xb);\n        }\n        else if (uVar12 == 0x8000) {\n          do {\n            puVar18 = puVar9;\n            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar12 = uVar17 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar12 == 0);\n          bVar20 = (uVar17 & 0x8080) == 0;\n          if (bVar20) {\n            uVar12 = uVar12 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                          ", r2 free",10);\n        }\n        else if (uVar12 == 0x2000) {\n          do {\n            puVar18 = puVar9;\n            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar12 = uVar17 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar12 == 0);\n          bVar20 = (uVar17 & 0x8080) == 0;\n          if (bVar20) {\n            uVar12 = uVar12 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                          ", r5 free",10);\n        }\n        uVar13 = uVar13 & uVar13 - 1;\n      } while (uVar13 != 0);\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    goto LAB_0003b840;\n  }\n  if (0x24 < uVar2) {\n    if (uVar2 == 0x32) {\n      if (((uint)local_38 & 0x10) == 0) {\n        DAT_000b57a0 = 0x3233202c;\n      }\n      else {\n        DAT_000b57a0 = 0x3436202c;\n      }\n      _DAT_000b57a8 = _DAT_000b57a8 & 0xffffff00;\n      DAT_000b57a4 = 0x7469622d;\n      if (((uint)local_38 & 0x20) != 0) {\n        uVar13 = 0xffffffff;\n        pcVar4 = (char *)&DAT_000b57a0;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar4 = ", reduced fp model";\n        pcVar5 = &DAT_000b579f + ~uVar13;\n        for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      if (((uint)local_38 & 0x80) == 0) {\n        if (((uint)local_38 & 0x40) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", constant gp";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n      }\n      else {\n        uVar13 = 0xffffffff;\n        pcVar4 = (char *)&DAT_000b57a0;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar4 = ", no function descriptors, constant gp";\n        pcVar5 = &DAT_000b579f + ~uVar13;\n        for (iVar11 = 0x27; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      if (((uint)local_38 & 0x100) != 0) {\n        uVar13 = 0xffffffff;\n        pcVar4 = (char *)&DAT_000b57a0;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar4 = ", absolute";\n        pcVar5 = &DAT_000b579f + ~uVar13;\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      if (param_1[0x17] == '\r') {\n        if (((uint)local_38 & 4) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", vms_linkages";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        uVar13 = (uint)local_38 & 3;\n        if (uVar13 == 2) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7265202c;\n          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x726f72;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 3) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6261202c;\n          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x74726f;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 1) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", warning";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else {\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 < 0x33) {\n      if (uVar2 == 0x2a) {\n        switch((uint)local_38 & 0x1f) {\n        default:\n          pcVar4 = (char *)dcgettext(0,", unknown ISA",5,&DAT_00076943);\n          strcat((char *)&DAT_000b57a0,pcVar4);\n          break;\n        case 1:\n          DAT_000b57a0 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x31);\n          break;\n        case 2:\n          DAT_000b57a0 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x32);\n          break;\n        case 3:\n          DAT_000b57a0 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x33);\n          break;\n        case 4:\n          pcVar4 = ", sh-dsp";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 5:\n          pcVar4 = ", sh3-dsp";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 6:\n          pcVar4 = ", sh4al-dsp";\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 8:\n          puVar8 = &UNK_0007cd94;\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined *)puVar19 = *puVar8;\n            puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n            puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n          }\n          break;\n        case 9:\n          DAT_000b57a0 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x34);\n          break;\n        case 10:\n          DAT_000b57a0 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x35);\n          break;\n        case 0xb:\n          puVar8 = &UNK_0007cd9b;\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined *)puVar19 = *puVar8;\n            puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n            puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n          }\n          break;\n        case 0xc:\n          puVar8 = &UNK_0007cda2;\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined *)puVar19 = *puVar8;\n            puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n            puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n          }\n          break;\n        case 0xd:\n          puVar8 = &UNK_0007cda9;\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined *)puVar19 = *puVar8;\n            puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n            puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n          }\n          break;\n        case 0x10:\n          pcVar4 = ", sh4-nofpu";\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x11:\n          pcVar4 = ", sh4a-nofpu";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x12:\n          pcVar4 = ", sh4-nommu-nofpu";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x13:\n          pcVar4 = ", sh2a-nofpu";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x14:\n          pcVar4 = ", sh3-nommu";\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x15:\n          pcVar4 = ", sh2a-nofpu-or-sh4-nommu-nofpu";\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 8; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x16:\n          pcVar4 = ", sh2a-nofpu-or-sh3-nommu";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0x1a; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x17:\n          pcVar4 = ", sh2a-or-sh4";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x18:\n          pcVar4 = ", sh2a-or-sh3e";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        local_34 = &DAT_000b57a0;\n        if (((uint)local_38 & 0x100) != 0) {\n          uVar13 = 0xffffffff;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6970202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 99;\n        }\n        if (((uint)local_38 & 0x8000) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          uVar13 = 0xffffffff;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)local_34;\n            local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6466202c;\n          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x636970;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 == 0x2b) {\n        if (((uint)local_38 & 0x100) != 0) {\n          DAT_000b57a0 = 0x3876202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x2b);\n        }\n        if (((uint)local_38 & 0x200) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", ultrasparcI";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x800) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", ultrasparcIII";\n          puVar19 = (undefined4 *)(&DAT_000b579f + ~uVar13);\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x400) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6168202c;\n          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x31726c;\n        }\n        if (((uint)local_38 & 0x800000) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", ledata";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        uVar13 = (uint)local_38 & 3;\n        if (uVar13 == 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7374202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x6f;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 1) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7370202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x6f;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 2) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6d72202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x6f;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 == 0x28) {\n        uVar13 = (uint)local_38 & 0xff000000;\n        if (((uint)local_38 & 1) == 0) {\n          local_38 = (char *)((uint)local_38 & 0xffffff);\n          pcVar4 = (char *)&DAT_000b57a0;\n        }\n        else {\n          pcVar4 = &DAT_000b57b8;\n          pcVar5 = ", relocatable executable";\n          pcVar14 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0x19; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar14 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            pcVar14 = pcVar14 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = (char *)((uint)local_38 & 0xfffffe);\n        }\n        local_34 = &DAT_000b57a0;\n        if (((uint)local_38 & 0x20) != 0) {\n          pcVar5 = ", position independent";\n          for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar4 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = (char *)((uint)local_38 & 0xffffffdf);\n          uVar12 = 0xffffffff;\n          puVar9 = local_34;\n          do {\n            if (uVar12 == 0) break;\n            uVar12 = uVar12 - 1;\n            uVar17 = *puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while ((char)uVar17 != '\0');\n          pcVar4 = &DAT_000b579f + ~uVar12;\n        }\n        if (uVar13 == 0x2000000) {\n          bVar20 = false;\n          pcVar5 = ", Version2 EABI";\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n            pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n          }\n          if (local_38 != (char *)0x0) {\n            do {\n              uVar13 = -(int)local_38 & (uint)local_38;\n              local_38 = (char *)((uint)local_38 & ~uVar13);\n              if (uVar13 == 8) {\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                pcVar4 = ", dynamic symbols use segment index";\n                puVar19 = (undefined4 *)(&DAT_000b579f + ~uVar13);\n                for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n                  *puVar19 = *(undefined4 *)pcVar4;\n                  pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                }\n              }\n              else if (uVar13 == 0x10) {\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                pcVar4 = ", mapping symbols precede others";\n                pcVar5 = &DAT_000b579f + ~uVar13;\n                for (iVar11 = 0x21; iVar11 != 0; iVar11 = iVar11 + -1) {\n                  *pcVar5 = *pcVar4;\n                  pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                  pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                }\n              }\n              else if (uVar13 == 4) {\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                pcVar4 = ", sorted symbol tables";\n                pcVar5 = &DAT_000b579f + ~uVar13;\n                for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {\n                  *pcVar5 = *pcVar4;\n                  pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                  pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                }\n              }\n              else {\n                bVar20 = true;\n              }\n            } while (local_38 != (char *)0x0);\n            goto LAB_0003d8e9;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 < 0x2000001) {\n          if (uVar13 == 0) {\n            bVar20 = false;\n            pcVar5 = ", GNU EABI";\n            for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar4 = *pcVar5;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            }\n            if (local_38 != (char *)0x0) {\n              do {\n                uVar13 = -(int)local_38 & (uint)local_38;\n                local_38 = (char *)((uint)local_38 & ~uVar13);\n                if (uVar13 == 0x40) {\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  pcVar4 = ", 8 bit structure alignment";\n                  puVar19 = (undefined4 *)(&DAT_000b579f + ~uVar13);\n                  for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n                    *puVar19 = *(undefined4 *)pcVar4;\n                    pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n                    puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                  }\n                }\n                else if (uVar13 < 0x41) {\n                  if (uVar13 == 8) {\n                    uVar13 = 0xffffffff;\n                    puVar9 = local_34;\n                    do {\n                      if (uVar13 == 0) break;\n                      uVar13 = uVar13 - 1;\n                      uVar12 = *puVar9;\n                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                    } while ((char)uVar12 != '\0');\n                    pcVar4 = ", uses APCS/26";\n                    pcVar5 = &DAT_000b579f + ~uVar13;\n                    for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n                      *pcVar5 = *pcVar4;\n                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                    }\n                  }\n                  else if (uVar13 < 9) {\n                    if (uVar13 == 4) {\n                      uVar13 = 0xffffffff;\n                      puVar9 = local_34;\n                      do {\n                        if (uVar13 == 0) break;\n                        uVar13 = uVar13 - 1;\n                        uVar12 = *puVar9;\n                        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                      } while ((char)uVar12 != '\0');\n                      pcVar4 = ", interworking enabled";\n                      pcVar5 = &DAT_000b579f + ~uVar13;\n                      for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {\n                        *pcVar5 = *pcVar4;\n                        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                      }\n                    }\n                    else {\nLAB_0003edd8:\n                      bVar20 = true;\n                    }\n                  }\n                  else if (uVar13 == 0x10) {\n                    uVar13 = 0xffffffff;\n                    puVar9 = local_34;\n                    do {\n                      if (uVar13 == 0) break;\n                      uVar13 = uVar13 - 1;\n                      uVar12 = *puVar9;\n                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                    } while ((char)uVar12 != '\0');\n                    pcVar4 = ", uses APCS/float";\n                    pcVar5 = &DAT_000b579f + ~uVar13;\n                    for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {\n                      *pcVar5 = *pcVar4;\n                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                    }\n                  }\n                  else {\n                    if (uVar13 != 0x20) goto LAB_0003edd8;\n                    uVar13 = 0xffffffff;\n                    puVar9 = local_34;\n                    do {\n                      if (uVar13 == 0) break;\n                      uVar13 = uVar13 - 1;\n                      uVar12 = *puVar9;\n                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                    } while ((char)uVar12 != '\0');\n                    pcVar4 = ", position independent";\n                    pcVar5 = &DAT_000b579f + ~uVar13;\n                    for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {\n                      *pcVar5 = *pcVar4;\n                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                    }\n                  }\n                }\n                else if (uVar13 == 0x200) {\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  pcVar4 = ", software FP";\n                  pcVar5 = &DAT_000b579f + ~uVar13;\n                  for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n                    *pcVar5 = *pcVar4;\n                    pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                  }\n                }\n                else if (uVar13 < 0x201) {\n                  if (uVar13 == 0x80) {\n                    uVar13 = 0xffffffff;\n                    puVar9 = local_34;\n                    do {\n                      if (uVar13 == 0) break;\n                      uVar13 = uVar13 - 1;\n                      uVar12 = *puVar9;\n                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                    } while ((char)uVar12 != '\0');\n                    pcVar4 = ", uses new ABI";\n                    pcVar5 = &DAT_000b579f + ~uVar13;\n                    for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n                      *pcVar5 = *pcVar4;\n                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                    }\n                  }\n                  else {\n                    if (uVar13 != 0x100) goto LAB_0003edd8;\n                    uVar13 = 0xffffffff;\n                    puVar9 = local_34;\n                    do {\n                      if (uVar13 == 0) break;\n                      uVar13 = uVar13 - 1;\n                      uVar12 = *puVar9;\n                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                    } while ((char)uVar12 != '\0');\n                    pcVar4 = ", uses old ABI";\n                    pcVar5 = &DAT_000b579f + ~uVar13;\n                    for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n                      *pcVar5 = *pcVar4;\n                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                    }\n                  }\n                }\n                else if (uVar13 == 0x400) {\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x4656202c;\n                  *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x50;\n                }\n                else {\n                  if (uVar13 != 0x800) goto LAB_0003edd8;\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  pcVar4 = ", Maverick FP";\n                  pcVar5 = &DAT_000b579f + ~uVar13;\n                  for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n                    *pcVar5 = *pcVar4;\n                    pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                  }\n                }\n              } while (local_38 != (char *)0x0);\n              goto LAB_0003d8e9;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else if (uVar13 == 0x1000000) {\n            bVar20 = false;\n            pcVar5 = ", Version1 EABI";\n            for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n              pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n              pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            }\n            if (local_38 != (char *)0x0) {\n              do {\n                uVar13 = -(int)local_38 & (uint)local_38;\n                local_38 = (char *)((uint)local_38 & ~uVar13);\n                if (uVar13 == 4) {\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  pcVar4 = ", sorted symbol tables";\n                  pcVar5 = &DAT_000b579f + ~uVar13;\n                  for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {\n                    *pcVar5 = *pcVar4;\n                    pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                  }\n                }\n                else {\n                  bVar20 = true;\n                }\n              } while (local_38 != (char *)0x0);\n              goto LAB_0003d8e9;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\nLAB_0003c1eb:\n            pcVar5 = ", <unrecognized EABI>";\n            for (iVar11 = 0x16; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar4 = *pcVar5;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            }\n            if (local_38 == (char *)0x0) {\n              local_38 = *(char **)(param_1 + 0x3c);\n            }\n            else {\nLAB_0003d8f4:\n              pcVar4 = (char *)dcgettext(0,", <unknown>",5);\n              strcat((char *)&DAT_000b57a0,pcVar4);\n              local_38 = *(char **)(param_1 + 0x3c);\n            }\n          }\n        }\n        else if (uVar13 == 0x4000000) {\n          pcVar5 = ", Version4 EABI";\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n            pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n          }\n          bVar20 = false;\n          if (local_38 == (char *)0x0) {\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\n            do {\n              uVar13 = -(int)local_38 & (uint)local_38;\n              local_38 = (char *)((uint)local_38 & ~uVar13);\n              puVar9 = local_34;\n              if (uVar13 == 0x400000) {\n                do {\n                  puVar18 = puVar9;\n                  uVar12 = *puVar18 + 0xfefefeff & ~*puVar18;\n                  uVar13 = uVar12 & 0x80808080;\n                  puVar9 = puVar18 + 1;\n                } while (uVar13 == 0);\n                bVar21 = (uVar12 & 0x8080) == 0;\n                if (bVar21) {\n                  uVar13 = uVar13 >> 0x10;\n                }\n                if (bVar21) {\n                  puVar9 = (uint *)((int)puVar18 + 6);\n                }\n                builtin_strncpy((char *)((int)puVar9 +\n                                        (-3 - (uint)CARRY1((byte)uVar13,(byte)uVar13))),", LE8",6);\n              }\n              else if (uVar13 == 0x800000) {\n                do {\n                  puVar18 = puVar9;\n                  uVar12 = *puVar18 + 0xfefefeff & ~*puVar18;\n                  uVar13 = uVar12 & 0x80808080;\n                  puVar9 = puVar18 + 1;\n                } while (uVar13 == 0);\n                bVar21 = (uVar12 & 0x8080) == 0;\n                if (bVar21) {\n                  uVar13 = uVar13 >> 0x10;\n                }\n                if (bVar21) {\n                  puVar9 = (uint *)((int)puVar18 + 6);\n                }\n                builtin_strncpy((char *)((int)puVar9 +\n                                        (-3 - (uint)CARRY1((byte)uVar13,(byte)uVar13))),", BE8",6);\n              }\n              else {\n                bVar20 = true;\n              }\n            } while (local_38 != (char *)0x0);\nLAB_0003d8e9:\n            if (bVar20) goto LAB_0003d8f4;\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else if (uVar13 == 0x5000000) {\n          bVar20 = false;\n          pcVar5 = ", Version5 EABI";\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n            pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n          }\n          if (local_38 != (char *)0x0) {\n            do {\n              uVar13 = -(int)local_38 & (uint)local_38;\n              local_38 = (char *)((uint)local_38 & ~uVar13);\n              if (uVar13 == 0x400) {\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                pcVar4 = ", hard-float ABI";\n                pcVar5 = &DAT_000b579f + ~uVar13;\n                for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n                  *pcVar5 = *pcVar4;\n                  pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                  pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                }\n              }\n              else if (uVar13 < 0x401) {\n                if (uVar13 == 0x200) {\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  pcVar4 = ", soft-float ABI";\n                  pcVar5 = &DAT_000b579f + ~uVar13;\n                  for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n                    *pcVar5 = *pcVar4;\n                    pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                  }\n                }\n                else {\nLAB_0003ef43:\n                  bVar20 = true;\n                }\n              }\n              else if (uVar13 == 0x400000) {\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x454c202c;\n                *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x38;\n              }\n              else {\n                if (uVar13 != 0x800000) goto LAB_0003ef43;\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x4542202c;\n                *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x38;\n              }\n            } while (local_38 != (char *)0x0);\n            goto LAB_0003d8e9;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          if (uVar13 != 0x3000000) goto LAB_0003c1eb;\n          pcVar5 = ", Version3 EABI";\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n            pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    else if (uVar2 == 0x53) {\n      switch((uint)local_38 & 0x7f) {\n      default:\n        pcVar4 = ", avr:<unknown>";\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *puVar19 = *(undefined4 *)pcVar4;\n          pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n          puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n        }\n        break;\n      case 1:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x313a72;\n        break;\n      case 2:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x323a72;\n        break;\n      case 3:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x333a72;\n        break;\n      case 4:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x343a72;\n        break;\n      case 5:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x353a72;\n        break;\n      case 6:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x363a72;\n        break;\n      case 0x19:\n        puVar8 = &UNK_0007c7e5;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x1f:\n        puVar8 = &UNK_0007c7ee;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x23:\n        puVar8 = &UNK_0007c7f7;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x33:\n        puVar8 = &UNK_0007c800;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 100:\n        puVar8 = &UNK_0007c809;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x65:\n        puVar8 = &UNK_0007c813;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x66:\n        puVar8 = &UNK_0007c81d;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x67:\n        puVar8 = &UNK_0007c827;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x68:\n        puVar8 = &UNK_0007c831;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x69:\n        puVar8 = &UNK_0007c83b;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x6a:\n        puVar8 = &UNK_0007c845;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x6b:\n        puVar8 = &UNK_0007c84f;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n      }\n      local_34 = &DAT_000b57a0;\n      if (((uint)local_38 & 0x80) == 0) {\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else {\n        iVar11 = -1;\n        do {\n          if (iVar11 == 0) break;\n          iVar11 = iVar11 + -1;\n          cVar1 = *(char *)local_34;\n          local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n        } while (cVar1 != '\0');\n        strncat((char *)&DAT_000b57a0,", link-relax",iVar11 + 0x401);\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 < 0x54) {\n      if (uVar2 == 0x4b) {\n        if (((uint)local_38 & 1) != 0) {\n          pcVar4 = ", non-PIC";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x100) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", D-Float";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x200) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", G-Float";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    else if (uVar2 == 0x57) {\nLAB_0003c0c0:\n      uVar13 = (uint)local_38 & 0xf0000000;\n      if (uVar13 == 0x20000000) {\n        pcVar4 = ", v850e1";\n        pcVar5 = (char *)&DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else if (uVar13 < 0x20000001) {\n        if (uVar13 == 0) {\n          pcVar4 = ", v850";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 0x10000000) {\n          DAT_000b57a0 = 0x3876202c;\n          DAT_000b57a4 = 0x653035;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\nLAB_0003c0ff:\n          pcVar4 = (char *)dcgettext(0,", unknown v850 architecture variant",5,&DAT_000b57a0);\n          strcat((char *)&DAT_000b57a0,pcVar4);\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar13 == 0x40000000) {\n        pcVar4 = ", v850e2v3";\n        pcVar5 = (char *)&DAT_000b57a0;\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else if (uVar13 == 0x60000000) {\n        pcVar4 = ", v850e3v5";\n        pcVar5 = (char *)&DAT_000b57a0;\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else {\n        if (uVar13 != 0x30000000) goto LAB_0003c0ff;\n        pcVar4 = ", v850e2";\n        pcVar5 = (char *)&DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 == 0x58) goto LAB_0003bb50;\n    goto LAB_0003b840;\n  }\n  if (uVar2 == 0xf) {\n    uVar13 = (uint)local_38 & 0xffff;\n    if (uVar13 == 0x210) {\n      pcVar4 = ", PA-RISC 1.1";\n      puVar9 = &DAT_000b57a0;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *(char *)puVar9 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      }\n    }\n    else if (uVar13 == 0x214) {\n      pcVar4 = ", PA-RISC 2.0";\n      puVar9 = &DAT_000b57a0;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *(char *)puVar9 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      }\n    }\n    else if (uVar13 == 0x20b) {\n      pcVar4 = ", PA-RISC 1.0";\n      puVar9 = &DAT_000b57a0;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *(char *)puVar9 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      }\n    }\n    if (((uint)local_38 & 0x10000) != 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", trapnil";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x20000) != 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7865202c;\n      *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x74;\n    }\n    if (((uint)local_38 & 0x40000) != 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x736c202c;\n      *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x62;\n    }\n    if (((uint)local_38 & 0x80000) != 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", wide";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x100000) != 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", no kabp";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x400000) == 0) {\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    else {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", lazyswap";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    goto LAB_0003b840;\n  }\n  if (0xf < uVar2) {\n    if (uVar2 == 0x15) {\n      if (((uint)local_38 & 3) != 0) {\n        local_20 = (uint)CONCAT12((char)((uint)local_38 & 3) + '0',0x7669);\n        builtin_strncpy(local_24,", ab",4);\n        strcpy((char *)&DAT_000b57a0,local_24);\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 == 0x16) {\n      if (((uint)local_38 & 1) != 0) {\n        pcVar4 = ", highgprs";\n        pcVar5 = (char *)&DAT_000b57a0;\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 == 0x14) {\n      if ((int)local_38 < 0) {\n        DAT_000b57a0 = 0x6d65202c;\n        DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x62);\n      }\n      if (((uint)local_38 & 0x10000) != 0) {\n        pcVar4 = (char *)0x0;\n        pcVar5 = (char *)dcgettext(0,", relocatable",5,&DAT_000b57a0);\n        strcat((char *)&DAT_000b57a0,pcVar5);\n      }\n      if (((uint)local_38 & 0x8000) == 0) {\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else {\n        pcVar4 = (char *)dcgettext(0,", relocatable-lib",5,pcVar4);\n        strcat((char *)&DAT_000b57a0,pcVar4);\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    goto LAB_0003b840;\n  }\n  if ((uVar2 == 8) || (uVar2 == 10)) {\n    pcVar5 = (char *)&DAT_000b57a0;\n    local_34 = &DAT_000b57a0;\n    puVar9 = (uint *)param_1;\n    if (((uint)local_38 & 1) != 0) {\n      pcVar4 = ", noreorder";\n      puVar9 = (uint *)pcVar5;\n      for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *puVar9 = *(undefined4 *)pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -8 + 4;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -8 + 4);\n      }\n    }\n    pcVar14 = local_38;\n    if (((uint)local_38 & 2) != 0) {\n      uVar13 = 0xffffffff;\n      pcVar14 = pcVar5;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar14;\n        pcVar14 = pcVar14 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = (char *)~uVar13;\n      builtin_strncpy(pcVar14 + 0xb579f,", pic",6);\n      puVar9 = local_34;\n    }\n    if (((uint)local_38 & 4) != 0) {\n      uVar13 = 0xffffffff;\n      pcVar4 = pcVar5;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", cpic";\n      puVar9 = (uint *)pcVar14;\n      for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *(char *)puVar9 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      }\n    }\n    if (((uint)local_38 & 0x10) != 0) {\n      uVar13 = 0xffffffff;\n      pcVar4 = pcVar5;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", ugen_reserved";\n      puVar9 = (uint *)pcVar14;\n      for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *puVar9 = *(undefined4 *)pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -8 + 4;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -8 + 4);\n      }\n    }\n    if (((uint)local_38 & 0x20) != 0) {\n      uVar13 = 0xffffffff;\n      pcVar4 = pcVar5;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", abi2";\n      puVar9 = (uint *)pcVar14;\n      for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *(char *)puVar9 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      }\n    }\n    if (((uint)local_38 & 0x80) != 0) {\n      uVar13 = 0xffffffff;\n      pcVar4 = pcVar5;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", odk first";\n      puVar9 = (uint *)pcVar14;\n      for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *puVar9 = *(undefined4 *)pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -8 + 4;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -8 + 4);\n      }\n    }\n    if (((uint)local_38 & 0x100) != 0) {\n      uVar13 = 0xffffffff;\n      pcVar4 = pcVar5;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", 32bitmode";\n      puVar9 = (uint *)pcVar14;\n      for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *puVar9 = *(undefined4 *)pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -8 + 4;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -8 + 4);\n      }\n    }\n    if (((uint)local_38 & 0x400) != 0) {\n      uVar13 = 0xffffffff;\n      pcVar4 = pcVar5;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", nan2008";\n      puVar9 = (uint *)pcVar14;\n      for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *(char *)puVar9 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      }\n    }\n    if (((uint)local_38 & 0x200) != 0) {\n      uVar13 = 0xffffffff;\n      pcVar4 = pcVar5;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", fp64";\n      puVar9 = (uint *)pcVar14;\n      for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *(char *)puVar9 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      }\n    }\n    uVar13 = (uint)local_38 & 0xff0000;\n    if (uVar13 == 0x8c0000) {\n      uVar13 = 0xffffffff;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar5;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar5 = (char *)&DAT_000b57a0;\n      pcVar14 = (char *)~uVar13;\n      builtin_strncpy(pcVar14 + 0xb579f,", xlr",6);\n    }\n    else if (uVar13 < 0x8c0001) {\n      if (uVar13 == 0x850000) {\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar14 = &DAT_000b579f + ~uVar13;\n        pcVar4 = ", 4650";\n        pcVar5 = pcVar14;\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      else if (uVar13 < 0x850001) {\n        if (uVar13 == 0x810000) {\n          uVar13 = 0xffffffff;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar14 = &DAT_000b579f + ~uVar13;\n          pcVar4 = ", 3900";\n          pcVar5 = pcVar14;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else if (uVar13 < 0x810001) {\n          pcVar5 = (char *)puVar9;\n          if (uVar13 != 0) goto LAB_0003d280;\n        }\n        else if (uVar13 == 0x820000) {\n          uVar13 = 0xffffffff;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar14 = &DAT_000b579f + ~uVar13;\n          pcVar4 = ", 4010";\n          pcVar5 = pcVar14;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else {\n          if (uVar13 != 0x830000) goto LAB_0003d280;\n          uVar13 = 0xffffffff;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar14 = &DAT_000b579f + ~uVar13;\n          pcVar4 = ", 4100";\n          pcVar5 = pcVar14;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n      }\n      else if (uVar13 == 0x880000) {\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar14 = &DAT_000b579f + ~uVar13;\n        pcVar4 = ", 4111";\n        pcVar5 = pcVar14;\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      else if (uVar13 < 0x880001) {\n        if (uVar13 != 0x870000) goto LAB_0003d280;\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar14 = &DAT_000b579f + ~uVar13;\n        pcVar4 = ", 4120";\n        pcVar5 = pcVar14;\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      else if (uVar13 == 0x8a0000) {\n        uVar13 = 0xffffffff;\n        pcVar4 = pcVar5;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar14 = (char *)~uVar13;\n        builtin_strncpy(pcVar14 + 0xb579f,", sb1",6);\n      }\n      else {\n        if (uVar13 != 0x8b0000) goto LAB_0003d280;\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar14 = &DAT_000b579f + ~uVar13;\n        pcVar4 = ", octeon";\n        pcVar5 = pcVar14;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n    }\n    else if (uVar13 == 0x930000) {\n      uVar13 = 0xffffffff;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar5;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", interaptiv-mr2";\n      pcVar5 = pcVar14;\n      for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    else if (uVar13 < 0x930001) {\n      if (uVar13 == 0x8e0000) {\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar14 = &DAT_000b579f + ~uVar13;\n        pcVar4 = ", octeon3";\n        pcVar5 = pcVar14;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      else if (uVar13 < 0x8e0001) {\n        if (uVar13 == 0x8d0000) {\n          uVar13 = 0xffffffff;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar14 = &DAT_000b579f + ~uVar13;\n          pcVar4 = ", octeon2";\n          pcVar5 = pcVar14;\n          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else {\nLAB_0003d280:\n          pcVar5 = (char *)0x0;\n          pcVar4 = (char *)dcgettext(0,", unknown CPU",5,pcVar4);\n          strcat((char *)&DAT_000b57a0,pcVar4);\n          pcVar14 = extraout_EDX;\n        }\n      }\n      else if (uVar13 == 0x910000) {\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar14 = &DAT_000b579f + ~uVar13;\n        pcVar4 = ", 5400";\n        pcVar5 = pcVar14;\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      else {\n        if (uVar13 != 0x920000) goto LAB_0003d280;\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar14 = &DAT_000b579f + ~uVar13;\n        pcVar4 = ", 5900";\n        pcVar5 = pcVar14;\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n    }\n    else if (uVar13 == 0xa00000) {\n      uVar13 = 0xffffffff;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar5;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", loongson-2e";\n      pcVar5 = pcVar14;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    else if (uVar13 < 0xa00001) {\n      if (uVar13 == 0x980000) {\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar14 = &DAT_000b579f + ~uVar13;\n        pcVar4 = ", 5500";\n        pcVar5 = pcVar14;\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      else {\n        if (uVar13 != 0x990000) goto LAB_0003d280;\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar14 = &DAT_000b579f + ~uVar13;\n        pcVar4 = ", 9000";\n        pcVar5 = pcVar14;\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n    }\n    else if (uVar13 == 0xa10000) {\n      uVar13 = 0xffffffff;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar5;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", loongson-2f";\n      pcVar5 = pcVar14;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    else {\n      if (uVar13 != 0xa20000) goto LAB_0003d280;\n      uVar13 = 0xffffffff;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar5;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", loongson-3a";\n      pcVar5 = pcVar14;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    local_34 = &DAT_000b57a0;\n    uVar13 = (uint)local_38 & 0xf000;\n    if (uVar13 == 0x2000) {\n      uVar13 = 0xffffffff;\n      puVar9 = local_34;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *(char *)puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while (cVar1 != '\0');\n      pcVar14 = (char *)~uVar13;\n      builtin_strncpy(pcVar14 + 0xb579f,", o64",6);\n    }\n    else if (uVar13 < 0x2001) {\n      if (uVar13 != 0) {\n        if (uVar13 == 0x1000) {\n          uVar13 = 0xffffffff;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pcVar14 = (char *)~uVar13;\n          builtin_strncpy(pcVar14 + 0xb579f,", o32",6);\n        }\n        else {\nLAB_0003e7da:\n          pcVar4 = (char *)dcgettext(0,", unknown ABI",5,pcVar5);\n          strcat((char *)&DAT_000b57a0,pcVar4);\n          pcVar14 = extraout_EDX_01;\n        }\n      }\n    }\n    else if (uVar13 == 0x3000) {\n      uVar13 = 0xffffffff;\n      puVar9 = local_34;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *(char *)puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", eabi32";\n      pcVar5 = pcVar14;\n      for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    else {\n      if (uVar13 != 0x4000) goto LAB_0003e7da;\n      uVar13 = 0xffffffff;\n      puVar9 = local_34;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *(char *)puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", eabi64";\n      pcVar5 = pcVar14;\n      for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x8000000) != 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = local_34;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *(char *)puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", mdmx";\n      pcVar5 = pcVar14;\n      for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x4000000) != 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = local_34;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *(char *)puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", mips16";\n      pcVar5 = pcVar14;\n      for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x2000000) != 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = local_34;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *(char *)puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", micromips";\n      pcVar5 = pcVar14;\n      for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *(undefined4 *)pcVar5 = *(undefined4 *)pcVar4;\n        pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n        pcVar5 = pcVar5 + (uint)bVar22 * -8 + 4;\n      }\n    }\n    uVar13 = (uint)local_38 & 0xf0000000;\n    if (uVar13 == 0x50000000) {\n      uVar13 = 0xffffffff;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *(char *)local_34;\n        local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n      } while (cVar1 != '\0');\n      pcVar4 = ", mips32";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    else if (uVar13 < 0x50000001) {\n      if (uVar13 == 0x20000000) {\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *(char *)local_34;\n          local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n        } while (cVar1 != '\0');\n        *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x696d202c;\n        *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x337370;\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else if (uVar13 < 0x20000001) {\n        if (uVar13 == 0) {\n          uVar13 = 0xffffffff;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)local_34;\n            local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x696d202c;\n          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x317370;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 0x10000000) {\n          uVar13 = 0xffffffff;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)local_34;\n            local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x696d202c;\n          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x327370;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\nLAB_0003e94f:\n          pcVar4 = (char *)dcgettext(0,", unknown ISA",5,pcVar14);\n          strcat((char *)&DAT_000b57a0,pcVar4);\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar13 == 0x30000000) {\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *(char *)local_34;\n          local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n        } while (cVar1 != '\0');\n        *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x696d202c;\n        *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x347370;\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else {\n        if (uVar13 != 0x40000000) goto LAB_0003e94f;\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *(char *)local_34;\n          local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n        } while (cVar1 != '\0');\n        *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x696d202c;\n        *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x357370;\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar13 == 0x80000000) {\n      uVar13 = 0xffffffff;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *(char *)local_34;\n        local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n      } while (cVar1 != '\0');\n      pcVar4 = ", mips64r2";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    else if (uVar13 < 0x80000001) {\n      if (uVar13 == 0x60000000) {\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *(char *)local_34;\n          local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n        } while (cVar1 != '\0');\n        pcVar4 = ", mips64";\n        pcVar5 = &DAT_000b579f + ~uVar13;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else {\n        if (uVar13 != 0x70000000) goto LAB_0003e94f;\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *(char *)local_34;\n          local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n        } while (cVar1 != '\0');\n        pcVar4 = ", mips32r2";\n        pcVar5 = &DAT_000b579f + ~uVar13;\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar13 == 0x90000000) {\n      uVar13 = 0xffffffff;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *(char *)local_34;\n        local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n      } while (cVar1 != '\0');\n      pcVar4 = ", mips32r6";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    else {\n      if (uVar13 != 0xa0000000) goto LAB_0003e94f;\n      uVar13 = 0xffffffff;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *(char *)local_34;\n        local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n      } while (cVar1 != '\0');\n      pcVar4 = ", mips64r6";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    goto LAB_0003b840;\n  }\n  if (uVar2 != 4) goto LAB_0003b840;\n  uVar13 = (uint)local_38 & 0x3818000;\n  if (uVar13 == 0x1000000) {\n    pcVar4 = ", m68000";\n    pcVar5 = (char *)&DAT_000b57a0;\n    for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n      *pcVar5 = *pcVar4;\n      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n    }\n    local_38 = *(char **)(param_1 + 0x3c);\n    goto LAB_0003b840;\n  }\n  if (uVar13 == 0x810000) {\n    DAT_000b57a0 = 0x7063202c;\n    DAT_000b57a4 = 0x323375;\n    local_38 = *(char **)(param_1 + 0x3c);\n    goto LAB_0003b840;\n  }\n  if (uVar13 == 0x2000000) {\n    pcVar4 = ", fido_a";\n    pcVar5 = (char *)&DAT_000b57a0;\n    for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n      *pcVar5 = *pcVar4;\n      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n    }\n    local_38 = *(char **)(param_1 + 0x3c);\n    goto LAB_0003b840;\n  }\n  pcVar4 = (char *)dcgettext(0,"unknown",5);\n  local_3c = (char *)dcgettext(0,"unknown mac",5);\n  switch((uint)local_38 & 0xf) {\n  default:\n    uVar13 = 0xffffffff;\n    pcVar5 = (char *)&DAT_000b57a0;\n    do {\n      if (uVar13 == 0) break;\n      uVar13 = uVar13 - 1;\n      cVar1 = *pcVar5;\n      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n    } while (cVar1 != '\0');\n    pcVar5 = ", cf, isa ";\n    pcVar14 = &DAT_000b579f + ~uVar13;\n    for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n      *pcVar14 = *pcVar5;\n      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      pcVar14 = pcVar14 + (uint)bVar22 * -2 + 1;\n    }\n    strcpy((char *)(~uVar13 + 0xb57a9),pcVar4);\n    goto LAB_0003c31a;\n  case 1:\n    local_40 = ", nodiv";\n    pcVar4 = "A";\n    goto code_r0x0003c39b;\n  case 2:\n    pcVar4 = "A";\n    break;\n  case 3:\n    pcVar4 = "A+";\n    break;\n  case 4:\n    pcVar4 = "B";\n    local_40 = ", nousp";\n    goto code_r0x0003c39b;\n  case 5:\n    pcVar4 = "B";\n    break;\n  case 6:\n    pcVar4 = "C";\n    break;\n  case 7:\n    local_40 = ", nodiv";\n    pcVar4 = "C";\ncode_r0x0003c39b:\n    uVar13 = 0xffffffff;\n    pcVar5 = (char *)&DAT_000b57a0;\n    do {\n      if (uVar13 == 0) break;\n      uVar13 = uVar13 - 1;\n      cVar1 = *pcVar5;\n      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n    } while (cVar1 != '\0');\n    cVar1 = *pcVar4;\n    uVar13 = ~uVar13;\n    pcVar4 = ", cf, isa ";\n    pcVar5 = &DAT_000b579f + uVar13;\n    for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n      *pcVar5 = *pcVar4;\n      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n    }\n    *(char *)(uVar13 + 0xb57a9) = cVar1;\n    uVar3 = *(undefined4 *)local_40;\n    *(undefined4 *)((int)&DAT_000b57ac + uVar13 + 2) = *(undefined4 *)(local_40 + 4);\n    *(undefined4 *)(uVar13 + 0xb57aa) = uVar3;\n    goto LAB_0003c31a;\n  }\n  uVar13 = 0xffffffff;\n  pcVar5 = (char *)&DAT_000b57a0;\n  do {\n    if (uVar13 == 0) break;\n    uVar13 = uVar13 - 1;\n    cVar1 = *pcVar5;\n    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n  } while (cVar1 != '\0');\n  pcVar5 = ", cf, isa ";\n  pcVar14 = &DAT_000b579f + ~uVar13;\n  for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n    *pcVar14 = *pcVar5;\n    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n    pcVar14 = pcVar14 + (uint)bVar22 * -2 + 1;\n  }\n  strcpy((char *)(~uVar13 + 0xb57a9),pcVar4);\nLAB_0003c31a:\n  local_34 = &DAT_000b57a0;\n  if (((uint)local_38 & 0x40) != 0) {\n    uVar13 = 0xffffffff;\n    puVar9 = local_34;\n    do {\n      if (uVar13 == 0) break;\n      uVar13 = uVar13 - 1;\n      cVar1 = *(char *)puVar9;\n      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n    } while (cVar1 != '\0');\n    *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6c66202c;\n    *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x74616f;\n  }\n  uVar13 = (uint)local_38 & 0x30;\n  if (uVar13 == 0x10) {\n    local_3c = "mac";\nLAB_0003c354:\n    uVar13 = 0xffffffff;\n    do {\n      if (uVar13 == 0) break;\n      uVar13 = uVar13 - 1;\n      cVar1 = *(char *)local_34;\n      local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n    } while (cVar1 != '\0');\n    *(undefined2 *)(&DAT_000b579f + ~uVar13) = 0x202c;\n    strcpy((char *)((int)&DAT_000b57a0 + ~uVar13 + 1),local_3c);\n    local_38 = *(char **)(param_1 + 0x3c);\n  }\n  else {\n    if (0x10 < uVar13) {\n      if (uVar13 == 0x20) {\n        local_3c = "emac";\n      }\n      else {\n        if (uVar13 != 0x30) goto LAB_0003e4f5;\n        local_3c = "emac_b";\n      }\n      goto LAB_0003c354;\n    }\n    if (uVar13 == 0) {\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    else {\nLAB_0003e4f5:\n      if (local_3c != (char *)0x0) goto LAB_0003c354;\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n  }\nLAB_0003b840:\n  pcVar4 = (char *)dcgettext(0,"  Flags:                             0x%lx%s\n",5);\n  printf(pcVar4,local_38,&DAT_000b57a0);\n  uVar3 = *(undefined4 *)(param_1 + 0x44);\n  pcVar4 = (char *)dcgettext(0,"  Size of this header:               %ld (bytes)\n",5);\n  printf(pcVar4,uVar3);\n  uVar3 = *(undefined4 *)(param_1 + 0x48);\n  pcVar4 = (char *)dcgettext(0,"  Size of program headers:           %ld (bytes)\n",5);\n  printf(pcVar4,uVar3);\n  uVar3 = *(undefined4 *)(param_1 + 0x4c);\n  pcVar4 = (char *)dcgettext(0,"  Number of program headers:         %ld",5);\n  printf(pcVar4,uVar3);\n  if (((*(int *)(param_1 + 0x5c) != 0) && (*(int *)(param_1 + 0x4c) == 0xffff)) &&\n     (iVar11 = *(int *)(*(int *)(param_1 + 0x5c) + 0x2c), iVar11 != 0)) {\n    printf(" (%ld)",iVar11);\n  }\n  puVar8 = PTR_stdout_000b3fd8;\n  putc(10,*(FILE **)PTR_stdout_000b3fd8);\n  uVar3 = *(undefined4 *)(param_1 + 0x50);\n  pcVar4 = (char *)dcgettext(0,"  Size of section headers:           %ld (bytes)\n",5);\n  printf(pcVar4,uVar3);\n  uVar3 = *(undefined4 *)(param_1 + 0x54);\n  pcVar4 = (char *)dcgettext(0,"  Number of section headers:         %ld",5);\n  printf(pcVar4,uVar3);\n  if ((*(int *)(param_1 + 0x5c) != 0) && (*(int *)(param_1 + 0x54) == 0)) {\n    printf(" (%ld)",*(undefined4 *)(*(int *)(param_1 + 0x5c) + 0x20));\n  }\n  putc(10,*(FILE **)puVar8);\n  uVar3 = *(undefined4 *)(param_1 + 0x58);\n  pcVar4 = (char *)dcgettext(0,"  Section header string table index: %ld",5);\n  printf(pcVar4,uVar3);\n  if (*(int *)(param_1 + 0x5c) == 0) {\n    uVar13 = *(uint *)(param_1 + 0x58);\nLAB_0003b994:\n    if ((uVar13 != 0) && (*(uint *)(param_1 + 0x54) <= uVar13)) {\n      pcVar4 = (char *)dcgettext(0," <corrupt: out of range>",5);\n      printf(pcVar4);\n    }\n  }\n  else {\n    uVar13 = *(uint *)(param_1 + 0x58);\n    if (uVar13 != 0xffff) goto LAB_0003b994;\n    printf(" (%u)",*(undefined4 *)(*(int *)(param_1 + 0x5c) + 0x28));\n  }\n  putc(10,*(FILE **)puVar8);\nLAB_0003b371:\n  __ptr = *(void **)(param_1 + 0x5c);\n  if (__ptr == (void *)0x0) {\n    return 1;\n  }\n  if ((*(int *)(param_1 + 0x4c) == 0xffff) && (*(int *)((int)__ptr + 0x2c) != 0)) {\n    *(int *)(param_1 + 0x4c) = *(int *)((int)__ptr + 0x2c);\n  }\n  uVar13 = *(uint *)(param_1 + 0x54);\n  if (uVar13 == 0) {\n    uVar13 = *(uint *)((int)__ptr + 0x20);\n    *(uint *)(param_1 + 0x54) = uVar13;\n  }\n  uVar12 = *(uint *)(param_1 + 0x58);\n  if (uVar12 == 0xffff) {\n    uVar12 = *(uint *)((int)__ptr + 0x28);\n    *(uint *)(param_1 + 0x58) = uVar12;\n  }\n  if (uVar13 <= uVar12) {\n    param_1[0x58] = '\0';\n    param_1[0x59] = '\0';\n    param_1[0x5a] = '\0';\n    param_1[0x5b] = '\0';\n  }\n  free(__ptr);\n  param_1[0x5c] = '\0';\n  param_1[0x5d] = '\0';\n  param_1[0x5e] = '\0';\n  param_1[0x5f] = '\0';\n  return 1;\n}\n\n" (function_definition "undefined4 __regparm3 FUN_0003b300(char *param_1)\n\n{\n  char cVar1;\n  ushort uVar2;\n  void *__ptr;\n  undefined4 uVar3;\n  char *pcVar4;\n  char *pcVar5;\n  Elf32_Ehdr *pEVar6;\n  int iVar7;\n  undefined *puVar8;\n  uint *puVar9;\n  size_t sVar10;\n  int extraout_ECX;\n  undefined4 extraout_ECX_00;\n  undefined4 extraout_ECX_01;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  int iVar11;\n  undefined4 extraout_ECX_04;\n  undefined4 extraout_ECX_05;\n  undefined4 extraout_ECX_06;\n  undefined4 extraout_ECX_07;\n  undefined4 extraout_ECX_08;\n  undefined4 extraout_ECX_09;\n  undefined4 extraout_ECX_10;\n  undefined4 extraout_ECX_11;\n  undefined4 extraout_ECX_12;\n  undefined4 extraout_ECX_13;\n  undefined4 extraout_ECX_14;\n  undefined4 extraout_ECX_15;\n  undefined4 extraout_ECX_16;\n  undefined4 extraout_ECX_17;\n  undefined4 extraout_ECX_18;\n  undefined4 extraout_ECX_19;\n  undefined4 extraout_ECX_20;\n  uint uVar12;\n  uint uVar13;\n  char *pcVar14;\n  char *extraout_EDX;\n  undefined4 extraout_EDX_00;\n  char *extraout_EDX_01;\n  byte bVar15;\n  undefined1 *puVar16;\n  uint uVar17;\n  uint *puVar18;\n  undefined4 *puVar19;\n  bool bVar20;\n  bool bVar21;\n  byte bVar22;\n  char *local_40;\n  char *local_3c;\n  char *local_38;\n  uint *local_34;\n  byte *local_30;\n  char local_24 [4];\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  bVar22 = 0;\n  uStack_14 = 0x3b30b;\n  if (*(int *)(param_1 + 0x10) != 0x464c457f) {\n    uVar3 = dcgettext(0,"Not an ELF file - it has the wrong magic bytes at the start\n",5);\n    error(uVar3);\n    return 0;\n  }\n  FUN_0005d920(*(undefined2 *)(param_1 + 0x42));\n  if (DAT_000b6344 == 0) goto LAB_0003b371;\n  pcVar4 = (char *)dcgettext(0,"ELF Header:\n",5);\n  printf(pcVar4);\n  pcVar4 = (char *)dcgettext(0,"  Magic:   ",5);\n  printf(pcVar4);\n  local_30 = (byte *)(param_1 + 0x10);\n  do {\n    printf("%2.2x ",(uint)*local_30);\n    local_30 = local_30 + 1;\n  } while ((byte *)(param_1 + 0x20) != local_30);\n  putchar(10);\n  cVar1 = param_1[0x14];\n  pcVar4 = "ELF32";\n  if (cVar1 != '\x01') {\n    if (cVar1 == '\0') {\n      pcVar4 = (char *)dcgettext(0,&DAT_00076afd,5);\n    }\n    else {\n      pcVar4 = "ELF64";\n      if (cVar1 != '\x02') {\n        pcVar4 = &DAT_000b5c40;\n        pcVar5 = (char *)dcgettext(0,"<unknown: %x>",5);\n        snprintf(&DAT_000b5c40,0x20,pcVar5,cVar1);\n      }\n    }\n  }\n  pcVar5 = (char *)dcgettext(0,"  Class:                             %s\n",5);\n  printf(pcVar5,pcVar4);\n  cVar1 = param_1[0x15];\n  if (cVar1 == '\x01') {\n    pcVar4 = "2\'s complement, little endian";\nLAB_0003c46b:\n    puVar8 = (undefined *)dcgettext(0,pcVar4,5);\n  }\n  else {\n    if (cVar1 == '\0') {\n      pcVar4 = "none";\n      goto LAB_0003c46b;\n    }\n    if (cVar1 == '\x02') {\n      pcVar4 = "2\'s complement, big endian";\n      goto LAB_0003c46b;\n    }\n    puVar8 = &DAT_000b5c20;\n    pcVar4 = (char *)dcgettext(0,"<unknown: %x>",5);\n    snprintf(&DAT_000b5c20,0x20,pcVar4,cVar1);\n  }\n  pcVar5 = (char *)dcgettext(0,"  Data:                              %s\n",5);\n  pcVar4 = "(current)";\n  printf(pcVar5,puVar8);\n  bVar15 = param_1[0x16];\n  if ((bVar15 != 1) && (pcVar4 = "", bVar15 != 0)) {\n    pcVar4 = (char *)dcgettext(0,"<unknown: %lx>",5);\n    bVar15 = param_1[0x16];\n  }\n  pcVar5 = (char *)dcgettext(0,"  Version:                           %d %s\n",5);\n  printf(pcVar5,(uint)bVar15,pcVar4);\n  uVar3 = FUN_000241c0();\n  pcVar4 = (char *)dcgettext(0,"  OS/ABI:                            %s\n",5);\n  printf(pcVar4,uVar3);\n  bVar15 = param_1[0x18];\n  pcVar4 = (char *)dcgettext(0,"  ABI Version:                       %d\n",5);\n  printf(pcVar4,(uint)bVar15);\n  uVar3 = FUN_0001c2b0();\n  pcVar4 = (char *)dcgettext(0,"  Type:                              %s\n",5);\n  printf(pcVar4,uVar3);\n  uVar3 = FUN_0001c3f0();\n  pcVar4 = (char *)dcgettext(0,"  Machine:                           %s\n",5);\n  printf(pcVar4,uVar3);\n  uVar3 = *(undefined4 *)(param_1 + 0x38);\n  pcVar5 = (char *)dcgettext(0,"  Version:                           0x%lx\n",5);\n  pcVar4 = "%lld";\n  printf(pcVar5,uVar3);\n  pcVar5 = (char *)dcgettext(0,"  Entry point address:               ",5);\n  printf(pcVar5);\n  FUN_0001e910();\n  pcVar5 = (char *)dcgettext(0,"\n  Start of program headers:          ",5);\n  printf(pcVar5);\n  printf("%lld",*(undefined4 *)(param_1 + 0x28),*(undefined4 *)(param_1 + 0x2c));\n  pcVar5 = (char *)dcgettext(0," (bytes into file)\n  Start of section headers:          ",5);\n  printf(pcVar5);\n  printf("%lld",*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34));\n  pcVar5 = (char *)dcgettext(0," (bytes into file)\n",5);\n  printf(pcVar5);\n  local_38 = *(char **)(param_1 + 0x3c);\n  uVar2 = *(ushort *)(param_1 + 0x42);\n  DAT_000b57a0 = DAT_000b57a0 & 0xffffff00;\n  if (local_38 == (char *)0x0) goto LAB_0003b840;\n  if (uVar2 == 0x5b) {\nLAB_0003bdf2:\n    if (((uint)local_38 & 0x10) != 0) {\n      pcVar4 = ", new calling convention";\n      pcVar5 = (char *)&DAT_000b57a0;\n      for (iVar11 = 0x19; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x20) == 0) {\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    else {\n      uVar13 = 0xffffffff;\n      pcVar4 = (char *)&DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar4 = ", gnu calling convention";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0x19; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    goto LAB_0003b840;\n  }\n  if (0x5b < uVar2) {\n    if (uVar2 == 0xc3) {\nLAB_0003cc32:\n      switch((uint)local_38 & 0xff) {\n      default:\n        if (uVar2 == 0x5d) {\n          puVar9 = (uint *)", Unknown ARCompact";\n          puVar18 = &DAT_000b57a0;\n          for (iVar11 = 5; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar18 = *puVar9;\n            puVar9 = puVar9 + (uint)bVar22 * -2 + 1;\n            puVar18 = puVar18 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else {\n          pcVar4 = ", Unknown ARC";\n          puVar9 = &DAT_000b57a0;\n          for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(char *)puVar9 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          }\n        }\n        break;\n      case 2:\n        pcVar4 = ", ARC600";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 3:\n        pcVar4 = ", ARC700";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 4:\n        pcVar4 = ", ARC601";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 5:\n        pcVar4 = ", ARC EM";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 6:\n        pcVar4 = ", ARC HS";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n      }\n      uVar13 = (uint)local_38 & 0xf00;\n      puVar9 = &DAT_000b57a0;\n      do {\n        puVar18 = puVar9;\n        uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n        uVar12 = uVar17 & 0x80808080;\n        puVar9 = puVar18 + 1;\n      } while (uVar12 == 0);\n      bVar20 = (uVar17 & 0x8080) == 0;\n      if (bVar20) {\n        uVar12 = uVar12 >> 0x10;\n      }\n      if (bVar20) {\n        puVar9 = (uint *)((int)puVar18 + 6);\n      }\n      pcVar4 = (char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12)));\n      if (uVar13 == 0x200) {\n        pcVar5 = ", (ABI:v2)";\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar4 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else if (uVar13 < 0x201) {\n        if (uVar13 == 0) {\n          pcVar5 = ", (ABI:legacy)";\n          for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar4 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\nLAB_0003e7fe:\n          pcVar5 = ", unrecognised ARC OSABI flag";\n          for (iVar11 = 0x1e; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar4 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar13 == 0x300) {\n        pcVar5 = ", v3 no-legacy-syscalls ABI";\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n          pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n          pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else {\n        if (uVar13 != 0x400) goto LAB_0003e7fe;\n        pcVar5 = ", v4 ABI";\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar4 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 < 0xc4) {\n      if (uVar2 == 0x69) {\n        pcVar4 = (char *)dcgettext(0,": architecture variant: ",5);\n        puVar9 = &DAT_000b57a0;\n        do {\n          puVar18 = puVar9;\n          uVar12 = *puVar18 + 0xfefefeff & ~*puVar18;\n          uVar13 = uVar12 & 0x80808080;\n          puVar9 = puVar18 + 1;\n        } while (uVar13 == 0);\n        bVar20 = (uVar12 & 0x8080) == 0;\n        if (bVar20) {\n          uVar13 = uVar13 >> 0x10;\n        }\n        if (bVar20) {\n          puVar9 = (uint *)((int)puVar18 + 6);\n        }\n        pcVar5 = stpcpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar13,(byte)uVar13))),\n                        pcVar4);\n        uVar13 = ((uint)local_38 & 0xff) - 0xb;\n        iVar11 = extraout_ECX;\n        if (uVar13 < 100) {\n          iVar11 = (int)&__DT_PLTGOT + *(int *)(&DAT_0008dec0 + uVar13 * 4);\n          switch((uint)local_38 & 0xff) {\n          case 0xb:\n            pcVar4 = "MSP430x11";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0xc:\n            pcVar4 = "MSP430x12";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0xd:\n            pcVar4 = "MSP430x13";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0xe:\n            pcVar4 = "MSP430x14";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0xf:\n            pcVar4 = "MSP430x15";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x10:\n            pcVar4 = "MSP430x16";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          default:\n            goto LAB_0003e9dc;\n          case 0x1f:\n            pcVar4 = "MSP430x31";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x20:\n            pcVar4 = "MSP430x32";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x21:\n            pcVar4 = "MSP430x33";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x29:\n            pcVar4 = "MSP430x41";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x2a:\n            pcVar4 = "MSP430x42";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x2b:\n            pcVar4 = "MSP430x43";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x2c:\n            pcVar4 = "MSP430x44";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x2d:\n            builtin_strncpy(pcVar5,"MSP430X",8);\n            break;\n          case 0x6e:\n            pcVar4 = "MSP430x11x1 ";\n            for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n          }\n        }\n        else {\nLAB_0003e9dc:\n          pcVar4 = (char *)0x0;\n          pcVar5 = (char *)dcgettext(0,": unknown",5,iVar11);\n          strcat((char *)&DAT_000b57a0,pcVar5);\n        }\n        if (((uint)local_38 & 0xffffff00) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          pcVar4 = (char *)dcgettext(0,": unknown extra flag bits also present",5,pcVar4);\n          strcat((char *)&DAT_000b57a0,pcVar4);\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 < 0x6a) {\n        if (uVar2 == 0x5d) goto LAB_0003cc32;\n        if (uVar2 < 0x5d) {\n          if (((uint)local_38 & 1) != 0) {\n            pcVar4 = ", no delay";\n            pcVar5 = (char *)&DAT_000b57a0;\n            for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else if (uVar2 == 99) goto LAB_0003bdf2;\n      }\n      else if (uVar2 == 0x8c) {\n        if (((uint)local_38 & 1) != 0) {\n          pcVar4 = ", relocatable module";\n          puVar9 = &DAT_000b57a0;\n          for (iVar11 = 0x15; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(char *)puVar9 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 < 0x8d) {\n        if (uVar2 == 0x6a) {\n          if (((uint)local_38 & 1) != 0) {\n            DAT_000b57a0 = 0x4950202c;\n            DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x43);\n          }\n          if (((uint)local_38 & 2) != 0) {\n            uVar13 = 0xffffffff;\n            pcVar4 = (char *)&DAT_000b57a0;\n            do {\n              if (uVar13 == 0) break;\n              uVar13 = uVar13 - 1;\n              cVar1 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            } while (cVar1 != '\0');\n            *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x4446202c;\n            *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x434950;\n          }\n          if (((uint)local_38 & 0x10) != 0) {\n            uVar13 = 0xffffffff;\n            pcVar4 = (char *)&DAT_000b57a0;\n            do {\n              if (uVar13 == 0) break;\n              uVar13 = uVar13 - 1;\n              cVar1 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            } while (cVar1 != '\0');\n            pcVar4 = ", code in L1";\n            pcVar5 = &DAT_000b579f + ~uVar13;\n            for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n          }\n          if (((uint)local_38 & 0x20) == 0) {\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\n            uVar13 = 0xffffffff;\n            pcVar4 = (char *)&DAT_000b57a0;\n            do {\n              if (uVar13 == 0) break;\n              uVar13 = uVar13 - 1;\n              cVar1 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            } while (cVar1 != '\0');\n            pcVar4 = ", data in L1";\n            pcVar5 = &DAT_000b579f + ~uVar13;\n            for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n      }\n      else if (uVar2 == 0xa7) {\n        uVar13 = (uint)local_38 & 0xf0000000;\n        uVar12 = (uint)local_38 & 0xf0;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 0x100; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *puVar19 = 0;\n          puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n        }\n        if (uVar12 == 0x20) {\nLAB_0003d15d:\n          iVar11 = snprintf((char *)&DAT_000b57a0,0x400,", %s",(&PTR_s_ABI_v0_000b333c)[uVar12 >> 4]\n                           );\n        }\n        else {\n          if (uVar12 < 0x21) {\n            if ((uVar12 == 0) || (uVar12 == 0x10)) goto LAB_0003d15d;\n          }\n          else if ((uVar12 == 0x40) || ((uVar12 == 0x50 || (uVar12 == 0x30)))) goto LAB_0003d15d;\n          DAT_000b57a0 = 0x753c202c;\n          iVar11 = 0x14;\n          DAT_000b57a4 = 0x6365726e;\n          _DAT_000b57a8 = 0x696e676f;\n          DAT_000b57ac = 0x2064657a;\n          DAT_000b57b0 = 0x3e494241;\n          DAT_000b57b4 = 0;\n        }\n        if (((uint)local_38 & 0xf) < 3) {\n          iVar7 = snprintf((char *)((int)&DAT_000b57a0 + iVar11),0x400U - iVar11,", %s",\n                           (&PTR_s_Andes_ELF_V1_3_or_older_000b3330)[(uint)local_38 & 0xf]);\n          uVar17 = iVar11 + iVar7;\n        }\n        else {\n          uVar17 = iVar11 + 0x23;\n          snprintf((char *)((int)&DAT_000b57a0 + iVar11),0x400U - iVar11,\n                   ", <unrecognized ELF version number>");\n        }\n        sVar10 = 0x400 - uVar17;\n        pcVar4 = (char *)((int)&DAT_000b57a0 + uVar17);\n        if (uVar12 == 0) {\n          iVar11 = snprintf(pcVar4,sVar10,", Andes Star v1.0, N1213HC, MAC, PERF1",&DAT_000b57a0);\n          if (uVar13 == 0x10000000) {\n            snprintf((char *)(uVar17 + 0xb57c6),0x400 - (uVar17 + 0x26),", 16b",iVar11);\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else if (uVar13 == 0x20000000) {\nLAB_0003d678:\n          iVar11 = snprintf(pcVar4,sVar10,", %s",(&PTR_DAT_000b331c)[(uint)local_38 >> 0x1c]);\n          iVar11 = iVar11 + uVar17;\n          uVar12 = (uint)local_38 & 0x100;\n          uVar3 = extraout_ECX_00;\n          if (uVar13 == 0x10000000) {\n            if (uVar12 != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 10;\n              uVar12 = snprintf(pcVar4,sVar10,", MFUSR_PC",uVar12);\n              uVar3 = extraout_ECX_20;\n            }\n            if (((uint)local_38 & 0x100000) == 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 5;\n              uVar12 = snprintf(pcVar4,sVar10,", MAC",uVar12);\n              uVar3 = extraout_ECX_19;\n            }\n            if (((uint)local_38 & 0x2000) != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 5;\n              uVar12 = snprintf(pcVar4,sVar10,", DIV",uVar12);\n              uVar3 = extraout_ECX_18;\n            }\n            if (((uint)local_38 & 0x4000) != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 5;\n              uVar12 = snprintf(pcVar4,sVar10,", 16b",uVar12);\n              uVar3 = extraout_ECX_10;\n            }\n          }\n          else {\n            if (uVar12 != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              if (((uint)local_38 & 0xe) == 0) {\n                iVar11 = iVar11 + 6;\n                uVar12 = snprintf(pcVar4,sVar10,", [B8]",uVar17);\n                uVar3 = extraout_ECX_01;\n              }\n              else {\n                iVar11 = iVar11 + 5;\n                uVar12 = snprintf(pcVar4,sVar10,", EX9",extraout_EDX_00);\n                uVar3 = extraout_ECX_11;\n              }\n            }\n            if (((uint)local_38 & 0x100000) != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 8;\n              uVar12 = snprintf(pcVar4,sVar10,", MAC_DX",uVar12);\n              uVar3 = extraout_ECX_09;\n            }\n            if (((uint)local_38 & 0x2000) != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 8;\n              uVar12 = snprintf(pcVar4,sVar10,", DIV_DX",uVar12);\n              uVar3 = extraout_ECX_14;\n            }\n            if (((uint)local_38 & 0x4000) != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              uVar13 = (uint)local_38 & 0xffffff0e;\n              if (((uint)local_38 & 0xe) == 0) {\n                pcVar5 = ", 16b";\n                uVar13 = uVar17;\n              }\n              else {\n                pcVar5 = ", IFC";\n              }\n              iVar11 = iVar11 + 5;\n              uVar12 = snprintf(pcVar4,sVar10,pcVar5,uVar13);\n              uVar3 = extraout_ECX_02;\n            }\n          }\n          if (((uint)local_38 & 0x200) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 7;\n            uVar12 = snprintf(pcVar4,sVar10,", PERF1",uVar12);\n            uVar3 = extraout_ECX_13;\n          }\n          if (((uint)local_38 & 0x400) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 7;\n            snprintf(pcVar4,sVar10,", PERF2",uVar12);\n            uVar3 = extraout_ECX_12;\n          }\n          uVar13 = (uint)local_38 & 0x1000000;\n          if (((uint)local_38 & 0x800) == 0) {\n            pcVar4 = local_38;\n            if (((uint)local_38 & 0x80000) != 0) {\nLAB_0003eba3:\n              sVar10 = 0x400 - iVar11;\n              pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 8;\n              pcVar4 = (char *)snprintf(pcVar5,sVar10,", FPU_DP",pcVar4);\n              goto LAB_0003ebc4;\n            }\n            if (uVar13 != 0) goto LAB_0003ebc8;\n          }\n          else {\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 8;\n            pcVar4 = (char *)snprintf(pcVar4,sVar10,", FPU_SP",local_38);\n            if (((uint)local_38 & 0x80000) != 0) goto LAB_0003eba3;\nLAB_0003ebc4:\n            if (uVar13 != 0) {\nLAB_0003ebc8:\n              sVar10 = 0x400 - iVar11;\n              pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 9;\n              snprintf(pcVar5,sVar10,", FPU_MAC",pcVar4);\n            }\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            uVar12 = (uint)local_38 >> 0x16 & 3;\n            if (uVar12 == 2) {\n              pcVar5 = ", FPU_REG:32/16";\n              uVar12 = uVar13;\n            }\n            else {\n              if (uVar12 != 3) {\n                if (uVar12 == 1) {\n                  iVar11 = iVar11 + 0xe;\n                  pcVar4 = (char *)snprintf(pcVar4,sVar10,", FPU_REG:16/8",0);\n                  uVar3 = extraout_ECX_16;\n                }\n                else {\n                  iVar11 = iVar11 + 0xd;\n                  pcVar4 = (char *)snprintf(pcVar4,sVar10,", FPU_REG:8/4",uVar13);\n                  uVar3 = extraout_ECX_06;\n                }\n                goto LAB_0003d76f;\n              }\n              pcVar5 = ", FPU_REG:32/32";\n              uVar12 = 3;\n            }\n            iVar11 = iVar11 + 0xf;\n            pcVar4 = (char *)snprintf(pcVar4,sVar10,pcVar5,uVar12);\n            uVar3 = extraout_ECX_17;\n          }\nLAB_0003d76f:\n          if (((uint)local_38 & 0x1000) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 7;\n            pcVar4 = (char *)snprintf(pcVar5,sVar10,", AUDIO",pcVar4);\n            uVar3 = extraout_ECX_05;\n          }\n          if (((uint)local_38 & 0x8000) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 5;\n            pcVar4 = (char *)snprintf(pcVar5,sVar10,", STR",pcVar4);\n            uVar3 = extraout_ECX_08;\n          }\n          if (((uint)local_38 & 0x10000) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 7;\n            snprintf(pcVar5,sVar10,", 16REG",pcVar4);\n            uVar3 = extraout_ECX_07;\n          }\n          if (((uint)local_38 & 0x20000) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            if (((uint)local_38 & 0xe) == 0) {\n              iVar11 = iVar11 + 7;\n              snprintf(pcVar4,sVar10,", VIDEO",uVar13);\n              uVar3 = extraout_ECX_03;\n            }\n            else {\n              iVar11 = iVar11 + 0xc;\n              snprintf(pcVar4,sVar10,", SATURATION",(uint)local_38 & 0xffffff0e);\n              uVar3 = extraout_ECX_15;\n            }\n          }\n          if (((uint)local_38 & 0x40000) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 7;\n            snprintf(pcVar4,sVar10,", ENCRP",uVar13);\n            uVar3 = extraout_ECX_04;\n          }\n          if (((uint)local_38 & 0x200000) == 0) {\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\n            snprintf((char *)((int)&DAT_000b57a0 + iVar11),0x400 - iVar11,", L2C",uVar3);\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else {\n          if (uVar13 < 0x20000001) {\n            if (uVar13 == 0x10000000) goto LAB_0003d678;\n          }\n          else if ((uVar13 == 0x30000000) || (uVar13 == 0x40000000)) goto LAB_0003d678;\n          snprintf(pcVar4,sVar10,", <unrecognized architecture>");\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 == 0xad) {\n        if (((uint)local_38 & 1) != 0) {\n          pcVar4 = ", 64-bit doubles";\n          puVar9 = &DAT_000b57a0;\n          for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(char *)puVar9 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          }\n        }\n        if (((uint)local_38 & 2) != 0) {\n          uVar13 = 0xffffffff;\n          puVar9 = &DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            uVar12 = *puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while ((char)uVar12 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7364202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x70;\n        }\n        if (((uint)local_38 & 4) != 0) {\n          uVar13 = 0xffffffff;\n          puVar9 = &DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            uVar12 = *puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while ((char)uVar12 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6970202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 100;\n        }\n        if (((uint)local_38 & 8) != 0) {\n          uVar13 = 0xffffffff;\n          puVar9 = &DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            uVar12 = *puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while ((char)uVar12 != '\0');\n          pcVar4 = ", RX ABI";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x40) != 0) {\n          puVar9 = &DAT_000b57a0;\n          pcVar4 = ", uses String instructions";\n          if (((uint)local_38 & 0x80) == 0) {\n            pcVar4 = ", bans String instructions";\n          }\n          do {\n            puVar18 = puVar9;\n            uVar12 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar13 = uVar12 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar13 == 0);\n          bVar20 = (uVar12 & 0x8080) == 0;\n          if (bVar20) {\n            uVar13 = uVar13 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          pcVar5 = (char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar13,(byte)uVar13)));\n          *(undefined4 *)pcVar5 = *(undefined4 *)pcVar4;\n          *(undefined4 *)(pcVar5 + 4) = *(undefined4 *)(pcVar4 + 4);\n          *(undefined4 *)(pcVar5 + 8) = *(undefined4 *)(pcVar4 + 8);\n          *(undefined4 *)(pcVar5 + 0xc) = *(undefined4 *)(pcVar4 + 0xc);\n          *(undefined4 *)(pcVar5 + 0x10) = *(undefined4 *)(pcVar4 + 0x10);\n          *(undefined4 *)(pcVar5 + 0x14) = *(undefined4 *)(pcVar4 + 0x14);\n          cVar1 = pcVar4[0x1a];\n          *(undefined2 *)(pcVar5 + 0x18) = *(undefined2 *)(pcVar4 + 0x18);\n          pcVar5[0x1a] = cVar1;\n        }\n        if (((uint)local_38 & 0x100) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          uVar13 = 0xffffffff;\n          puVar9 = &DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            uVar12 = *puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while ((char)uVar12 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x3256202c;\n          *(undefined1 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    else if (uVar2 == 0xfa) {\n      uVar13 = (uint)local_38 >> 8 & 0xffff;\n      if (uVar13 == 0x3200) {\n        pcVar4 = ", NFP-32xx";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else if (uVar13 == 0x6000) {\n        pcVar4 = ", NFP-6xxx";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 < 0xfb) {\n      if (uVar2 == 0xdd) {\n        if (((uint)local_38 & 1) == 0) {\n          if (((uint)local_38 & 2) != 0) {\n            DAT_000b57a0 = 0x636d202c;\n            DAT_000b57a4 = 0x34326d;\n          }\n        }\n        else {\n          DAT_000b57a0 = 0x636d202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x6d);\n        }\n        if (((uint)local_38 & 4) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7267202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x36;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 == 0xf3) {\n        if (((uint)local_38 & 1) != 0) {\n          DAT_000b57a0 = 0x5652202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x43);\n        }\n        if (((uint)local_38 & 8) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x5652202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x45;\n        }\n        uVar13 = (uint)local_38 & 6;\n        if (uVar13 == 2) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", single-float ABI";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 < 3) {\n          if (uVar13 == 0) {\n            uVar13 = 0xffffffff;\n            pcVar4 = (char *)&DAT_000b57a0;\n            do {\n              if (uVar13 == 0) break;\n              uVar13 = uVar13 - 1;\n              cVar1 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            } while (cVar1 != '\0');\n            pcVar4 = ", soft-float ABI";\n            pcVar5 = &DAT_000b579f + ~uVar13;\n            for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\nLAB_0003e76f:\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else if (uVar13 == 4) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", double-float ABI";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          if (uVar13 != 6) goto LAB_0003e76f;\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", quad-float ABI";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 == 0xc5) {\n        uVar13 = (uint)local_38 & 0xc;\n        if (uVar13 == 8) {\n          DAT_000b57a0 = 0x3147202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x33);\n        }\n        else if (uVar13 == 0xc) {\n          DAT_000b57a0 = 0x3147202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x34);\n        }\n        else if (uVar13 == 4) {\n          DAT_000b57a0 = 0x3147202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x30);\n        }\n        if (((uint)local_38 & 1) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", 64-bit doubles";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    else if (uVar2 == 0x9041) {\nLAB_0003bb50:\n      if (((uint)local_38 & 0x30000000) == 0) {\n        puVar16 = &DAT_0007ca93;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined1 *)puVar19 = *puVar16;\n          puVar16 = puVar16 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 < 0x9042) {\n      if (uVar2 == 0x5441) {\n        uVar13 = (uint)local_38 & 0xff000000;\n        if (uVar13 == 0x4000000) {\n          pcVar4 = ", tomcat";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 < 0x4000001) {\n          if (uVar13 == 0x1000000) {\n            DAT_000b57a0 = 0x7266202c;\n            DAT_000b57a4 = 0x303035;\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else if (uVar13 < 0x1000001) {\n            if (uVar13 != 0) {\nLAB_0003d4b1:\n              DAT_000b57a0 = 0x7266202c;\n              DAT_000b57a4 = 0x3f3f3f;\n              local_38 = *(char **)(param_1 + 0x3c);\n            }\n          }\n          else if (uVar13 == 0x2000000) {\n            DAT_000b57a0 = 0x7266202c;\n            DAT_000b57a4 = 0x303033;\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\n            if (uVar13 != 0x3000000) goto LAB_0003d4b1;\n            pcVar4 = ", simple";\n            pcVar5 = (char *)&DAT_000b57a0;\n            for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else if (uVar13 == 0x6000000) {\n          DAT_000b57a0 = 0x7266202c;\n          DAT_000b57a4 = 0x303535;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 < 0x6000001) {\n          if (uVar13 != 0x5000000) goto LAB_0003d4b1;\n          DAT_000b57a0 = 0x7266202c;\n          DAT_000b57a4 = 0x303034;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 0x7000000) {\n          DAT_000b57a0 = 0x7266202c;\n          DAT_000b57a4 = 0x353034;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          if (uVar13 != 0x8000000) goto LAB_0003d4b1;\n          DAT_000b57a0 = 0x7266202c;\n          DAT_000b57a4 = 0x303534;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    else {\n      if (uVar2 == 0x9080) goto LAB_0003c0c0;\n      if (uVar2 == 0xf00d) {\n        uVar13 = (uint)local_38 & 0xff000000;\n        if (uVar13 == 0x2000000) {\n          pcVar4 = ", MeP C3";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else if (uVar13 < 0x2000001) {\n          if (uVar13 == 0) {\n            pcVar4 = ", generic MeP";\n            pcVar5 = (char *)&DAT_000b57a0;\n            for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n          }\n          else if (uVar13 == 0x1000000) {\n            pcVar4 = ", MeP C2";\n            pcVar5 = (char *)&DAT_000b57a0;\n            for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n          }\n          else {\nLAB_0003ba2e:\n            pcVar4 = (char *)dcgettext(0,", <unknown MeP cpu type>",5,&DAT_00076943);\n            strcat((char *)&DAT_000b57a0,pcVar4);\n          }\n        }\n        else if (uVar13 == 0x8000000) {\n          pcVar4 = ", MeP C5";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else if (uVar13 == 0x10000000) {\n          pcVar4 = ", MeP H1";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else {\n          if (uVar13 != 0x4000000) goto LAB_0003ba2e;\n          pcVar4 = ", MeP C4";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        local_34 = &DAT_000b57a0;\n        pEVar6 = (Elf32_Ehdr *)((uint)local_38 & 0xff0000);\n        if (pEVar6 == (Elf32_Ehdr *)0x20000) {\n          uVar13 = 0xffffffff;\n          pEVar6 = (Elf32_Ehdr *)0x0;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pcVar4 = ", AVC2 coprocessor";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else if (pEVar6 < (Elf32_Ehdr *)0x20001) {\n          if (pEVar6 != (Elf32_Ehdr *)0x0) {\n            if (pEVar6 == &Elf32_Ehdr_00010000) {\n              uVar13 = 0xffffffff;\n              pEVar6 = (Elf32_Ehdr *)0x0;\n              puVar9 = local_34;\n              do {\n                if (uVar13 == 0) break;\n                uVar13 = uVar13 - 1;\n                cVar1 = *(char *)puVar9;\n                puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n              } while (cVar1 != '\0');\n              pcVar4 = ", AVC coprocessor";\n              pcVar5 = &DAT_000b579f + ~uVar13;\n              for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {\n                *pcVar5 = *pcVar4;\n                pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n              }\n            }\n            else {\nLAB_0003e6fc:\n              pcVar4 = (char *)dcgettext(0,"<unknown MeP copro type>",5,pEVar6);\n              pEVar6 = (Elf32_Ehdr *)strcat((char *)&DAT_000b57a0,pcVar4);\n            }\n          }\n        }\n        else if (pEVar6 == (Elf32_Ehdr *)&DAT_00030000) {\n          uVar13 = 0xffffffff;\n          pEVar6 = (Elf32_Ehdr *)0x0;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pcVar4 = ", FMAX coprocessor";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else {\n          if (pEVar6 != (Elf32_Ehdr *)0x60000) goto LAB_0003e6fc;\n          uVar13 = 0xffffffff;\n          pEVar6 = (Elf32_Ehdr *)0x0;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pcVar4 = ", IVC2 coprocessor";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x100) != 0) {\n          uVar13 = 0xffffffff;\n          pEVar6 = (Elf32_Ehdr *)0x0;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pcVar4 = ", Built for Library";\n          puVar19 = (undefined4 *)(&DAT_000b579f + ~uVar13);\n          for (iVar11 = 5; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0xff) != 0) {\n          uVar13 = 0xffffffff;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pEVar6 = (Elf32_Ehdr *)\n                   sprintf(&DAT_000b579f + ~uVar13,", Configuration Index: %#x",\n                           (uint)local_38 & 0xff,0);\n        }\n        if (((uint)local_38 & 0xfe00) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          pcVar4 = (char *)dcgettext(0,", unknown flags bits: %#x",5,pEVar6);\n          uVar13 = 0xffffffff;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)local_34;\n            local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          sprintf(&DAT_000b579f + ~uVar13,pcVar4,(uint)local_38 & 0xfe00);\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    goto LAB_0003b840;\n  }\n  if (uVar2 == 0x24) {\n    if (((uint)local_38 & 0xf0000000) == 0xf0000000) {\n      puVar9 = (uint *)", RH850 ABI";\n      puVar18 = &DAT_000b57a0;\n      for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *puVar18 = *puVar9;\n        puVar9 = puVar9 + (uint)bVar22 * -2 + 1;\n        puVar18 = puVar18 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x100000) != 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", V3 architecture";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 3) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", FPU not used";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x60) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", regmode: COMMON";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x300) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", r4 not used";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0xc00) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", r30 not used";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x3000) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", r5 not used";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0xc000) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", r2 not used";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    uVar13 = (uint)local_38 & 0xffff;\n    if (uVar13 == 0) {\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    else {\n      do {\n        uVar12 = -uVar13 & uVar13;\n        puVar9 = &DAT_000b57a0;\n        if (uVar12 == 0x200) {\n          do {\n            puVar18 = puVar9;\n            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar12 = uVar17 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar12 == 0);\n          bVar20 = (uVar17 & 0x8080) == 0;\n          if (bVar20) {\n            uVar12 = uVar12 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                          ", r4 free",10);\n        }\n        else if (uVar12 < 0x201) {\n          if (uVar12 == 0x20) {\n            do {\n              puVar18 = puVar9;\n              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n              uVar12 = uVar17 & 0x80808080;\n              puVar9 = puVar18 + 1;\n            } while (uVar12 == 0);\n            bVar20 = (uVar17 & 0x8080) == 0;\n            if (bVar20) {\n              uVar12 = uVar12 >> 0x10;\n            }\n            if (bVar20) {\n              puVar9 = (uint *)((int)puVar18 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                            ", regmode:22",0xd);\n          }\n          else if (uVar12 < 0x21) {\n            if (uVar12 == 1) {\n              do {\n                puVar18 = puVar9;\n                uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n                uVar12 = uVar17 & 0x80808080;\n                puVar9 = puVar18 + 1;\n              } while (uVar12 == 0);\n              bVar20 = (uVar17 & 0x8080) == 0;\n              if (bVar20) {\n                uVar12 = uVar12 >> 0x10;\n              }\n              if (bVar20) {\n                puVar9 = (uint *)((int)puVar18 + 6);\n              }\n              builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12)))\n                              ,", double precision FPU",0x17);\n            }\n            else if (uVar12 == 2) {\n              do {\n                puVar18 = puVar9;\n                uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n                uVar12 = uVar17 & 0x80808080;\n                puVar9 = puVar18 + 1;\n              } while (uVar12 == 0);\n              bVar20 = (uVar17 & 0x8080) == 0;\n              if (bVar20) {\n                uVar12 = uVar12 >> 0x10;\n              }\n              if (bVar20) {\n                puVar9 = (uint *)((int)puVar18 + 6);\n              }\n              builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12)))\n                              ,", single precision FPU",0x17);\n            }\n          }\n          else if (uVar12 == 0x40) {\n            do {\n              puVar18 = puVar9;\n              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n              uVar12 = uVar17 & 0x80808080;\n              puVar9 = puVar18 + 1;\n            } while (uVar12 == 0);\n            bVar20 = (uVar17 & 0x8080) == 0;\n            if (bVar20) {\n              uVar12 = uVar12 >> 0x10;\n            }\n            if (bVar20) {\n              puVar9 = (uint *)((int)puVar18 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                            ", regmode:23",0xd);\n          }\n          else if (uVar12 == 0x100) {\n            do {\n              puVar18 = puVar9;\n              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n              uVar12 = uVar17 & 0x80808080;\n              puVar9 = puVar18 + 1;\n            } while (uVar12 == 0);\n            bVar20 = (uVar17 & 0x8080) == 0;\n            if (bVar20) {\n              uVar12 = uVar12 >> 0x10;\n            }\n            if (bVar20) {\n              puVar9 = (uint *)((int)puVar18 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                            ", r4 fixed",0xb);\n          }\n        }\n        else if (uVar12 == 0x1000) {\n          do {\n            puVar18 = puVar9;\n            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar12 = uVar17 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar12 == 0);\n          bVar20 = (uVar17 & 0x8080) == 0;\n          if (bVar20) {\n            uVar12 = uVar12 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                          ", r5 fixed",0xb);\n        }\n        else if (uVar12 < 0x1001) {\n          if (uVar12 == 0x400) {\n            do {\n              puVar18 = puVar9;\n              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n              uVar12 = uVar17 & 0x80808080;\n              puVar9 = puVar18 + 1;\n            } while (uVar12 == 0);\n            bVar20 = (uVar17 & 0x8080) == 0;\n            if (bVar20) {\n              uVar12 = uVar12 >> 0x10;\n            }\n            if (bVar20) {\n              puVar9 = (uint *)((int)puVar18 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                            ", r30 fixed",0xc);\n          }\n          else if (uVar12 == 0x800) {\n            do {\n              puVar18 = puVar9;\n              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n              uVar12 = uVar17 & 0x80808080;\n              puVar9 = puVar18 + 1;\n            } while (uVar12 == 0);\n            bVar20 = (uVar17 & 0x8080) == 0;\n            if (bVar20) {\n              uVar12 = uVar12 >> 0x10;\n            }\n            if (bVar20) {\n              puVar9 = (uint *)((int)puVar18 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                            ", r30 free",0xb);\n          }\n        }\n        else if (uVar12 == 0x4000) {\n          do {\n            puVar18 = puVar9;\n            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar12 = uVar17 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar12 == 0);\n          bVar20 = (uVar17 & 0x8080) == 0;\n          if (bVar20) {\n            uVar12 = uVar12 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                          ", r2 fixed",0xb);\n        }\n        else if (uVar12 == 0x8000) {\n          do {\n            puVar18 = puVar9;\n            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar12 = uVar17 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar12 == 0);\n          bVar20 = (uVar17 & 0x8080) == 0;\n          if (bVar20) {\n            uVar12 = uVar12 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                          ", r2 free",10);\n        }\n        else if (uVar12 == 0x2000) {\n          do {\n            puVar18 = puVar9;\n            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar12 = uVar17 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar12 == 0);\n          bVar20 = (uVar17 & 0x8080) == 0;\n          if (bVar20) {\n            uVar12 = uVar12 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                          ", r5 free",10);\n        }\n        uVar13 = uVar13 & uVar13 - 1;\n      } while (uVar13 != 0);\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    goto LAB_0003b840;\n  }\n  if (0x24 < uVar2) {\n    if (uVar2 == 0x32) {\n      if (((uint)local_38 & 0x10) == 0) {\n        DAT_000b57a0 = 0x3233202c;\n      }\n      else {\n        DAT_000b57a0 = 0x3436202c;\n      }\n      _DAT_000b57a8 = _DAT_000b57a8 & 0xffffff00;\n      DAT_000b57a4 = 0x7469622d;\n      if (((uint)local_38 & 0x20) != 0) {\n        uVar13 = 0xffffffff;\n        pcVar4 = (char *)&DAT_000b57a0;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar4 = ", reduced fp model";\n        pcVar5 = &DAT_000b579f + ~uVar13;\n        for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      if (((uint)local_38 & 0x80) == 0) {\n        if (((uint)local_38 & 0x40) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", constant gp";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n      }\n      else {\n        uVar13 = 0xffffffff;\n        pcVar4 = (char *)&DAT_000b57a0;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar4 = ", no function descriptors, constant gp";\n        pcVar5 = &DAT_000b579f + ~uVar13;\n        for (iVar11 = 0x27; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      if (((uint)local_38 & 0x100) != 0) {\n        uVar13 = 0xffffffff;\n        pcVar4 = (char *)&DAT_000b57a0;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar4 = ", absolute";\n        pcVar5 = &DAT_000b579f + ~uVar13;\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      if (param_1[0x17] == '\r') {\n        if (((uint)local_38 & 4) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", vms_linkages";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        uVar13 = (uint)local_38 & 3;\n        if (uVar13 == 2) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7265202c;\n          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x726f72;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 3) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6261202c;\n          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x74726f;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 1) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", warning";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else {\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 < 0x33) {\n      if (uVar2 == 0x2a) {\n        switch((uint)local_38 & 0x1f) {\n        default:\n          pcVar4 = (char *)dcgettext(0,", unknown ISA",5,&DAT_00076943);\n          strcat((char *)&DAT_000b57a0,pcVar4);\n          break;\n        case 1:\n          DAT_000b57a0 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x31);\n          break;\n        case 2:\n          DAT_000b57a0 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x32);\n          break;\n        case 3:\n          DAT_000b57a0 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x33);\n          break;\n        case 4:\n          pcVar4 = ", sh-dsp";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 5:\n          pcVar4 = ", sh3-dsp";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 6:\n          pcVar4 = ", sh4al-dsp";\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 8:\n          puVar8 = &UNK_0007cd94;\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined *)puVar19 = *puVar8;\n            puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n            puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n          }\n          break;\n        case 9:\n          DAT_000b57a0 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x34);\n          break;\n        case 10:\n          DAT_000b57a0 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x35);\n          break;\n        case 0xb:\n          puVar8 = &UNK_0007cd9b;\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined *)puVar19 = *puVar8;\n            puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n            puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n          }\n          break;\n        case 0xc:\n          puVar8 = &UNK_0007cda2;\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined *)puVar19 = *puVar8;\n            puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n            puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n          }\n          break;\n        case 0xd:\n          puVar8 = &UNK_0007cda9;\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined *)puVar19 = *puVar8;\n            puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n            puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n          }\n          break;\n        case 0x10:\n          pcVar4 = ", sh4-nofpu";\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x11:\n          pcVar4 = ", sh4a-nofpu";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x12:\n          pcVar4 = ", sh4-nommu-nofpu";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x13:\n          pcVar4 = ", sh2a-nofpu";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x14:\n          pcVar4 = ", sh3-nommu";\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x15:\n          pcVar4 = ", sh2a-nofpu-or-sh4-nommu-nofpu";\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 8; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x16:\n          pcVar4 = ", sh2a-nofpu-or-sh3-nommu";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0x1a; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x17:\n          pcVar4 = ", sh2a-or-sh4";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x18:\n          pcVar4 = ", sh2a-or-sh3e";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        local_34 = &DAT_000b57a0;\n        if (((uint)local_38 & 0x100) != 0) {\n          uVar13 = 0xffffffff;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6970202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 99;\n        }\n        if (((uint)local_38 & 0x8000) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          uVar13 = 0xffffffff;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)local_34;\n            local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6466202c;\n          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x636970;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 == 0x2b) {\n        if (((uint)local_38 & 0x100) != 0) {\n          DAT_000b57a0 = 0x3876202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x2b);\n        }\n        if (((uint)local_38 & 0x200) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", ultrasparcI";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x800) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", ultrasparcIII";\n          puVar19 = (undefined4 *)(&DAT_000b579f + ~uVar13);\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x400) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6168202c;\n          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x31726c;\n        }\n        if (((uint)local_38 & 0x800000) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", ledata";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        uVar13 = (uint)local_38 & 3;\n        if (uVar13 == 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7374202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x6f;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 1) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7370202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x6f;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 2) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6d72202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x6f;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 == 0x28) {\n        uVar13 = (uint)local_38 & 0xff000000;\n        if (((uint)local_38 & 1) == 0) {\n          local_38 = (char *)((uint)local_38 & 0xffffff);\n          pcVar4 = (char *)&DAT_000b57a0;\n        }\n        else {\n          pcVar4 = &DAT_000b57b8;\n          pcVar5 = ", relocatable executable";\n          pcVar14 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0x19; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar14 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            pcVar14 = pcVar14 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = (char *)((uint)local_38 & 0xfffffe);\n        }\n        local_34 = &DAT_000b57a0;\n        if (((uint)local_38 & 0x20) != 0) {\n          pcVar5 = ", position independent";\n          for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar4 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = (char *)((uint)local_38 & 0xffffffdf);\n          uVar12 = 0xffffffff;\n          puVar9 = local_34;\n          do {\n            if (uVar12 == 0) break;\n            uVar12 = uVar12 - 1;\n            uVar17 = *puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while ((char)uVar17 != '\0');\n          pcVar4 = &DAT_000b579f + ~uVar12;\n        }\n        if (uVar13 == 0x2000000) {\n          bVar20 = false;\n          pcVar5 = ", Version2 EABI";\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n            pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n          }\n          if (local_38 != (char *)0x0) {\n            do {\n              uVar13 = -(int)local_38 & (uint)local_38;\n              local_38 = (char *)((uint)local_38 & ~uVar13);\n              if (uVar13 == 8) {\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                pcVar4 = ", dynamic symbols use segment index";\n                puVar19 = (undefined4 *)(&DAT_000b579f + ~uVar13);\n                for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n                  *puVar19 = *(undefined4 *)pcVar4;\n                  pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                }\n              }\n              else if (uVar13 == 0x10) {\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                pcVar4 = ", mapping symbols precede others";\n                pcVar5 = &DAT_000b579f + ~uVar13;\n                for (iVar11 = 0x21; iVar11 != 0; iVar11 = iVar11 + -1) {\n                  *pcVar5 = *pcVar4;\n                  pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                  pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                }\n              }\n              else if (uVar13 == 4) {\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                pcVar4 = ", sorted symbol tables";\n                pcVar5 = &DAT_000b579f + ~uVar13;\n                for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {\n                  *pcVar5 = *pcVar4;\n                  pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                  pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                }\n              }\n              else {\n                bVar20 = true;\n              }\n            } while (local_38 != (char *)0x0);\n            goto LAB_0003d8e9;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 < 0x2000001) {\n          if (uVar13 == 0) {\n            bVar20 = false;\n            pcVar5 = ", GNU EABI";\n            for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar4 = *pcVar5;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            }\n            if (local_38 != (char *)0x0) {\n              do {\n                uVar13 = -(int)local_38 & (uint)local_38;\n                local_38 = (char *)((uint)local_38 & ~uVar13);\n                if (uVar13 == 0x40) {\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  pcVar4 = ", 8 bit structure alignment";\n                  puVar19 = (undefined4 *)(&DAT_000b579f + ~uVar13);\n                  for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n                    *puVar19 = *(undefined4 *)pcVar4;\n                    pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n                    puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                  }\n                }\n                else if (uVar13 < 0x41) {\n                  if (uVar13 == 8) {\n                    uVar13 = 0xffffffff;\n                    puVar9 = local_34;\n                    do {\n                      if (uVar13 == 0) break;\n                      uVar13 = uVar13 - 1;\n                      uVar12 = *puVar9;\n                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                    } while ((char)uVar12 != '\0');\n                    pcVar4 = ", uses APCS/26";\n                    pcVar5 = &DAT_000b579f + ~uVar13;\n                    for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n                      *pcVar5 = *pcVar4;\n                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                    }\n                  }\n                  else if (uVar13 < 9) {\n                    if (uVar13 == 4) {\n                      uVar13 = 0xffffffff;\n                      puVar9 = local_34;\n                      do {\n                        if (uVar13 == 0) break;\n                        uVar13 = uVar13 - 1;\n                        uVar12 = *puVar9;\n                        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                      } while ((char)uVar12 != '\0');\n                      pcVar4 = ", interworking enabled";\n                      pcVar5 = &DAT_000b579f + ~uVar13;\n                      for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {\n                        *pcVar5 = *pcVar4;\n                        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                      }\n                    }\n                    else {\nLAB_0003edd8:\n                      bVar20 = true;\n                    }\n                  }\n                  else if (uVar13 == 0x10) {\n                    uVar13 = 0xffffffff;\n                    puVar9 = local_34;\n                    do {\n                      if (uVar13 == 0) break;\n                      uVar13 = uVar13 - 1;\n                      uVar12 = *puVar9;\n                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                    } while ((char)uVar12 != '\0');\n                    pcVar4 = ", uses APCS/float";\n                    pcVar5 = &DAT_000b579f + ~uVar13;\n                    for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {\n                      *pcVar5 = *pcVar4;\n                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                    }\n                  }\n                  else {\n                    if (uVar13 != 0x20) goto LAB_0003edd8;\n                    uVar13 = 0xffffffff;\n                    puVar9 = local_34;\n                    do {\n                      if (uVar13 == 0) break;\n                      uVar13 = uVar13 - 1;\n                      uVar12 = *puVar9;\n                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                    } while ((char)uVar12 != '\0');\n                    pcVar4 = ", position independent";\n                    pcVar5 = &DAT_000b579f + ~uVar13;\n                    for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {\n                      *pcVar5 = *pcVar4;\n                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                    }\n                  }\n                }\n                else if (uVar13 == 0x200) {\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  pcVar4 = ", software FP";\n                  pcVar5 = &DAT_000b579f + ~uVar13;\n                  for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n                    *pcVar5 = *pcVar4;\n                    pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                  }\n                }\n                else if (uVar13 < 0x201) {\n                  if (uVar13 == 0x80) {\n                    uVar13 = 0xffffffff;\n                    puVar9 = local_34;\n                    do {\n                      if (uVar13 == 0) break;\n                      uVar13 = uVar13 - 1;\n                      uVar12 = *puVar9;\n                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                    } while ((char)uVar12 != '\0');\n                    pcVar4 = ", uses new ABI";\n                    pcVar5 = &DAT_000b579f + ~uVar13;\n                    for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n                      *pcVar5 = *pcVar4;\n                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                    }\n                  }\n                  else {\n                    if (uVar13 != 0x100) goto LAB_0003edd8;\n                    uVar13 = 0xffffffff;\n                    puVar9 = local_34;\n                    do {\n                      if (uVar13 == 0) break;\n                      uVar13 = uVar13 - 1;\n                      uVar12 = *puVar9;\n                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                    } while ((char)uVar12 != '\0');\n                    pcVar4 = ", uses old ABI";\n                    pcVar5 = &DAT_000b579f + ~uVar13;\n                    for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n                      *pcVar5 = *pcVar4;\n                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                    }\n                  }\n                }\n                else if (uVar13 == 0x400) {\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x4656202c;\n                  *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x50;\n                }\n                else {\n                  if (uVar13 != 0x800) goto LAB_0003edd8;\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  pcVar4 = ", Maverick FP";\n                  pcVar5 = &DAT_000b579f + ~uVar13;\n                  for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n                    *pcVar5 = *pcVar4;\n                    pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                  }\n                }\n              } while (local_38 != (char *)0x0);\n              goto LAB_0003d8e9;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else if (uVar13 == 0x1000000) {\n            bVar20 = false;\n            pcVar5 = ", Version1 EABI";\n            for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n              pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n              pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            }\n            if (local_38 != (char *)0x0) {\n              do {\n                uVar13 = -(int)local_38 & (uint)local_38;\n                local_38 = (char *)((uint)local_38 & ~uVar13);\n                if (uVar13 == 4) {\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  pcVar4 = ", sorted symbol tables";\n                  pcVar5 = &DAT_000b579f + ~uVar13;\n                  for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {\n                    *pcVar5 = *pcVar4;\n                    pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                  }\n                }\n                else {\n                  bVar20 = true;\n                }\n              } while (local_38 != (char *)0x0);\n              goto LAB_0003d8e9;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\nLAB_0003c1eb:\n            pcVar5 = ", <unrecognized EABI>";\n            for (iVar11 = 0x16; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar4 = *pcVar5;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            }\n            if (local_38 == (char *)0x0) {\n              local_38 = *(char **)(param_1 + 0x3c);\n            }\n            else {\nLAB_0003d8f4:\n              pcVar4 = (char *)dcgettext(0,", <unknown>",5);\n              strcat((char *)&DAT_000b57a0,pcVar4);\n              local_38 = *(char **)(param_1 + 0x3c);\n            }\n          }\n        }\n        else if (uVar13 == 0x4000000) {\n          pcVar5 = ", Version4 EABI";\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n            pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n          }\n          bVar20 = false;\n          if (local_38 == (char *)0x0) {\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\n            do {\n              uVar13 = -(int)local_38 & (uint)local_38;\n              local_38 = (char *)((uint)local_38 & ~uVar13);\n              puVar9 = local_34;\n              if (uVar13 == 0x400000) {\n                do {\n                  puVar18 = puVar9;\n                  uVar12 = *puVar18 + 0xfefefeff & ~*puVar18;\n                  uVar13 = uVar12 & 0x80808080;\n                  puVar9 = puVar18 + 1;\n                } while (uVar13 == 0);\n                bVar21 = (uVar12 & 0x8080) == 0;\n                if (bVar21) {\n                  uVar13 = uVar13 >> 0x10;\n                }\n                if (bVar21) {\n                  puVar9 = (uint *)((int)puVar18 + 6);\n                }\n                builtin_strncpy((char *)((int)puVar9 +\n                                        (-3 - (uint)CARRY1((byte)uVar13,(byte)uVar13))),", LE8",6);\n              }\n              else if (uVar13 == 0x800000) {\n                do {\n                  puVar18 = puVar9;\n                  uVar12 = *puVar18 + 0xfefefeff & ~*puVar18;\n                  uVar13 = uVar12 & 0x80808080;\n                  puVar9 = puVar18 + 1;\n                } while (uVar13 == 0);\n                bVar21 = (uVar12 & 0x8080) == 0;\n                if (bVar21) {\n                  uVar13 = uVar13 >> 0x10;\n                }\n                if (bVar21) {\n                  puVar9 = (uint *)((int)puVar18 + 6);\n                }\n                builtin_strncpy((char *)((int)puVar9 +\n                                        (-3 - (uint)CARRY1((byte)uVar13,(byte)uVar13))),", BE8",6);\n              }\n              else {\n                bVar20 = true;\n              }\n            } while (local_38 != (char *)0x0);\nLAB_0003d8e9:\n            if (bVar20) goto LAB_0003d8f4;\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else if (uVar13 == 0x5000000) {\n          bVar20 = false;\n          pcVar5 = ", Version5 EABI";\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n            pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n          }\n          if (local_38 != (char *)0x0) {\n            do {\n              uVar13 = -(int)local_38 & (uint)local_38;\n              local_38 = (char *)((uint)local_38 & ~uVar13);\n              if (uVar13 == 0x400) {\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                pcVar4 = ", hard-float ABI";\n                pcVar5 = &DAT_000b579f + ~uVar13;\n                for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n                  *pcVar5 = *pcVar4;\n                  pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                  pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                }\n              }\n              else if (uVar13 < 0x401) {\n                if (uVar13 == 0x200) {\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  pcVar4 = ", soft-float ABI";\n                  pcVar5 = &DAT_000b579f + ~uVar13;\n                  for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n                    *pcVar5 = *pcVar4;\n                    pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                  }\n                }\n                else {\nLAB_0003ef43:\n                  bVar20 = true;\n                }\n              }\n              else if (uVar13 == 0x400000) {\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x454c202c;\n                *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x38;\n              }\n              else {\n                if (uVar13 != 0x800000) goto LAB_0003ef43;\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x4542202c;\n                *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x38;\n              }\n            } while (local_38 != (char *)0x0);\n            goto LAB_0003d8e9;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          if (uVar13 != 0x3000000) goto LAB_0003c1eb;\n          pcVar5 = ", Version3 EABI";\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n            pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    else if (uVar2 == 0x53) {\n      switch((uint)local_38 & 0x7f) {\n      default:\n        pcVar4 = ", avr:<unknown>";\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *puVar19 = *(undefined4 *)pcVar4;\n          pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n          puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n        }\n        break;\n      case 1:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x313a72;\n        break;\n      case 2:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x323a72;\n        break;\n      case 3:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x333a72;\n        break;\n      case 4:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x343a72;\n        break;\n      case 5:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x353a72;\n        break;\n      case 6:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x363a72;\n        break;\n      case 0x19:\n        puVar8 = &UNK_0007c7e5;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x1f:\n        puVar8 = &UNK_0007c7ee;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x23:\n        puVar8 = &UNK_0007c7f7;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x33:\n        puVar8 = &UNK_0007c800;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 100:\n        puVar8 = &UNK_0007c809;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x65:\n        puVar8 = &UNK_0007c813;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x66:\n        puVar8 = &UNK_0007c81d;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x67:\n        puVar8 = &UNK_0007c827;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE 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 IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_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 IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return LIT ;) })) (expression_statement (call_expression IDENT (argument_list ( (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) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (binary_expression (parenthesized_expression ( IDENT )) * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) != IDENT) )) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (pointer_expression & IDENT) , LIT ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , IDENT , IDENT ))) ;) })) }))) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence string_content ")) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , IDENT , LIT ))))) ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence string_content ")) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , IDENT , IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (string_literal " ")) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " escape_sequence string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (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) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (switch_statement switch (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) (compound_statement { (case_statement default : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) })) }))) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }))) }))) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) & (unary_expression ~ (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) }) (else_clause else (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 ")) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;)) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) )) * LIT))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) }))))))) }) (else_clause else (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) & (unary_expression ~ (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (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 IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ))) ))) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) - LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT)) )))))) ;) (switch_statement switch (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) (compound_statement { (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (break_statement break ;)) (case_statement default : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }))) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT , IDENT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , IDENT ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT , IDENT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (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 (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , LIT )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (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 (pointer_expression & IDENT) + (unary_expression ~ IDENT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (unary_expression ~ IDENT)) + LIT) )))) = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) }))) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , LIT , (string_literal " string_content ") , (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT >> LIT) ]) )))) ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) ))) )) (goto_statement goto statement_identifier ;)))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) ))) , (binary_expression LIT - IDENT) , (string_literal " string_content ") , (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ]) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) ))) , (binary_expression LIT - IDENT) , (string_literal " string_content ") ))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) , (binary_expression LIT - (parenthesized_expression ( (binary_expression IDENT + LIT) ))) , (string_literal " string_content ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") , (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ]) )))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") , IDENT ))))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") , IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) & LIT)) ;) (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 = IDENT) ;) }) (else_clause else (compound_statement { (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 = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression LIT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) ))) , (binary_expression LIT - IDENT) , (string_literal " string_content ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (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 (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (unary_expression ~ IDENT)) + LIT) )))) = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (unary_expression ~ IDENT)) + LIT) )))) = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) })) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) & (unary_expression ~ (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (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 *)) ) IDENT)) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 *)) ) (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 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) )))) = (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) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (unary_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 IDENT + LIT) ))))) ;) }))) })))))))))))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) & LIT)) ;) (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 = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) }) (else_clause else (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 = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) })))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , LIT )))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (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 (pointer_expression & IDENT) + (unary_expression ~ IDENT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (unary_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 IDENT + LIT) ))))) ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , LIT )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (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 (pointer_expression & IDENT) + (unary_expression ~ IDENT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (unary_expression ~ IDENT)) + LIT) )))) = LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) }) (else_clause else (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 = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (labeled_statement 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) ))))) ;)) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) }))))))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , LIT )))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , LIT )))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , LIT )))) ;) })))))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) }))) })))))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) }))) }) (else_clause else (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 = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) }) (else_clause else (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 = LIT) ;) (expression_statement (assignment_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) ))))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_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) ))))) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_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) ))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) }))))))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_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) ))))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_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) ))))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_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) ))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_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) ))))) ;) }))))))))))) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT , (pointer_expression & IDENT) ))))) ;)) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , IDENT ))) ;) }))))) }) (else_clause else (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression & IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT , IDENT ))))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , IDENT ))))) ;) }))) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }))))))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT)) )))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT)) , (string_literal " string_content ") , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) , LIT ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT)) , IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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) ))))) ;) }))) })) }))))))))))))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (unary_expression - IDENT) & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) & (unary_expression ~ (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (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 (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ))) ))) , (string_literal " string_content ") , LIT ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) & (unary_expression ~ (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (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 (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ))) ))) , (string_literal " string_content ") , LIT ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) & (unary_expression ~ (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (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 (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ))) ))) , (string_literal " string_content ") , LIT ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) & (unary_expression ~ (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (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 (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ))) ))) , (string_literal " string_content ") , LIT ))) ;) })))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) & (unary_expression ~ (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (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 (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ))) ))) , (string_literal " string_content ") , LIT ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) & (unary_expression ~ (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (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 (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ))) ))) , (string_literal " string_content ") , LIT ))) ;) })))))))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) & (unary_expression ~ (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (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 (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ))) ))) , (string_literal " string_content ") , LIT ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) & (unary_expression ~ (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (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 (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ))) ))) , (string_literal " string_content ") , LIT ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) & (unary_expression ~ (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (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 (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ))) ))) , (string_literal " string_content ") , LIT ))) ;) })))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) & (unary_expression ~ (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (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 (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ))) ))) , (string_literal " string_content ") , LIT ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) & (unary_expression ~ (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (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 (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ))) ))) , (string_literal " string_content ") , LIT ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) & (unary_expression ~ (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (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 (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ))) ))) , (string_literal " string_content ") , LIT ))) ;) })))))))))))))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & (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) ))))) ;) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (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 (pointer_expression & IDENT) + (unary_expression ~ IDENT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (unary_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 IDENT + LIT) ))))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (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 (pointer_expression & IDENT) + (unary_expression ~ IDENT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (unary_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 IDENT + LIT) ))))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))))))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (switch_statement switch (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) (compound_statement { (case_statement default : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT , (pointer_expression & IDENT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , IDENT ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , LIT )))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , LIT )))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , LIT )))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , LIT )))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , LIT )))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }))) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (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 (pointer_expression & IDENT) + (unary_expression ~ IDENT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (unary_expression ~ IDENT)) + LIT) )))) = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (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 (pointer_expression & IDENT) + (unary_expression ~ IDENT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (unary_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 IDENT + LIT) ))))) ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , LIT )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT)) )))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (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 (pointer_expression & IDENT) + (unary_expression ~ IDENT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (unary_expression ~ IDENT)) + LIT) )))) = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (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 (pointer_expression & IDENT) + (unary_expression ~ IDENT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (unary_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 IDENT + LIT) ))))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (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 (pointer_expression & IDENT) + (unary_expression ~ IDENT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (unary_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 IDENT + LIT) ))))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (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 (pointer_expression & IDENT) + (unary_expression ~ IDENT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (unary_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 IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))))))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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) ) IDENT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (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 IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (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 IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) )) * LIT))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT)) & (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & (unary_expression ~ IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT)) )))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) }))))))) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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) ))))) ;) }) (else_clause else (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 = BOOL) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT)) & (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & (unary_expression ~ IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT)) )))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (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 = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (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 = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = BOOL) ;)) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }))))))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (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 = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (unary_expression ~ IDENT)) + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }))))))))))) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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) ))))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) )) * LIT))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT)) & (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & (unary_expression ~ IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) }))) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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) ))))) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;)) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;)) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) }))))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) )) * LIT))) ;) })) (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT)) & (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & (unary_expression ~ IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) & (unary_expression ~ (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (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 (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ))) ))) , (string_literal " string_content ") , LIT ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) & (unary_expression ~ (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (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 (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ))) ))) , (string_literal " string_content ") , LIT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) }))))) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( IDENT )) (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) ))))) ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) )) * LIT))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT)) & (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & (unary_expression ~ IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (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 = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = BOOL) ;)) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (unary_expression ~ IDENT)) + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (unary_expression ~ IDENT)) + LIT) )))) = LIT) ;) }))))))) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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) ))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) )) * LIT))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))))))))) })))))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (switch_statement switch (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) (compound_statement { (case_statement default : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }))) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , (string_literal " string_content ") , (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) ))))) ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) }))) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;)) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) }) (else_clause else (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_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) ))))) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT , (pointer_expression & IDENT) ))))) ;)) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))))) }) (else_clause else (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) }) (else_clause else (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) }))))))))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)))))))))))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (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 = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) })) }) (else_clause else (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 = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) })) }) (else_clause else (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 = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) })) })))))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (unary_expression ~ IDENT)) + LIT) )))) = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (unary_expression ~ IDENT)) + LIT) )))) = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) + (char_literal ' character ')) , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , LIT )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT , (pointer_expression & IDENT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT , IDENT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) })))))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) })) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (unary_expression ~ IDENT))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (string_literal " string_content ") , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (unary_expression ~ IDENT))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (string_literal " string_content ") , LIT ))) ;) }) (else_clause else (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 = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (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 = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }))))))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (unary_expression ~ IDENT))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (string_literal " string_content ") , LIT ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }))))))))))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (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 = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (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 = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT , IDENT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }))))))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (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 = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }))))))))))))))) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (unary_expression ~ IDENT))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (string_literal " string_content ") , LIT ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (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 = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (unary_expression ~ IDENT))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (string_literal " string_content ") , LIT ))) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT , IDENT ))))) ;)) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) }))))))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) }) (else_clause else (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 = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (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 (pointer_expression & IDENT) + (unary_expression ~ IDENT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (unary_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 IDENT + LIT) ))))) ;) }) (else_clause else (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 = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (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 (pointer_expression & IDENT) + (unary_expression ~ IDENT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (unary_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 IDENT + LIT) ))))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (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 (pointer_expression & IDENT) + (unary_expression ~ IDENT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (unary_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 IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT , IDENT ))))) ;)) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (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 (pointer_expression & IDENT) + (unary_expression ~ IDENT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (unary_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 IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (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 (pointer_expression & IDENT) + (unary_expression ~ IDENT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (unary_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 IDENT + LIT) ))))) ;) }))))))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) }) (else_clause else (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 = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) }))))))))))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_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) ))))) ;) (goto_statement goto statement_identifier ;) })) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (switch_statement switch (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) (compound_statement { (case_statement default : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (unary_expression ~ IDENT) + LIT) ))) , IDENT ))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (unary_expression ~ IDENT)) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + 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) ;) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (unary_expression ~ IDENT))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (unary_expression ~ IDENT) + LIT) ))) , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (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 (pointer_expression & IDENT) + (unary_expression ~ IDENT)) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (unary_expression ~ IDENT)) + LIT) )))) = LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( (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 (pointer_expression & IDENT) + (unary_expression ~ IDENT)) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (unary_expression ~ IDENT)) + LIT) ))) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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) ))))) ;) }))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (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 ( (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (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) )))) ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor 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) ))))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }))) }) (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) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ))) ;) }))) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (labeled_statement 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 IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return 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 IDENT + LIT) )))) == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) )))) = IDENT) ;) })) (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 IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) )))) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (return_statement return LIT ;) })))
(function_definition "undefined4 __regparm3 FUN_0003b300(char *param_1)\n\n{\n  char cVar1;\n  ushort uVar2;\n  void *__ptr;\n  undefined4 uVar3;\n  char *pcVar4;\n  char *pcVar5;\n  Elf32_Ehdr *pEVar6;\n  int iVar7;\n  undefined *puVar8;\n  uint *puVar9;\n  size_t sVar10;\n  int extraout_ECX;\n  undefined4 extraout_ECX_00;\n  undefined4 extraout_ECX_01;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  int iVar11;\n  undefined4 extraout_ECX_04;\n  undefined4 extraout_ECX_05;\n  undefined4 extraout_ECX_06;\n  undefined4 extraout_ECX_07;\n  undefined4 extraout_ECX_08;\n  undefined4 extraout_ECX_09;\n  undefined4 extraout_ECX_10;\n  undefined4 extraout_ECX_11;\n  undefined4 extraout_ECX_12;\n  undefined4 extraout_ECX_13;\n  undefined4 extraout_ECX_14;\n  undefined4 extraout_ECX_15;\n  undefined4 extraout_ECX_16;\n  undefined4 extraout_ECX_17;\n  undefined4 extraout_ECX_18;\n  undefined4 extraout_ECX_19;\n  undefined4 extraout_ECX_20;\n  uint uVar12;\n  uint uVar13;\n  char *pcVar14;\n  char *extraout_EDX;\n  undefined4 extraout_EDX_00;\n  char *extraout_EDX_01;\n  byte bVar15;\n  undefined1 *puVar16;\n  uint uVar17;\n  uint *puVar18;\n  undefined4 *puVar19;\n  bool bVar20;\n  bool bVar21;\n  byte bVar22;\n  char *local_40;\n  char *local_3c;\n  char *local_38;\n  uint *local_34;\n  byte *local_30;\n  char local_24 [4];\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  bVar22 = 0;\n  uStack_14 = 0x3b30b;\n  if (*(int *)(param_1 + 0x10) != 0x464c457f) {\n    uVar3 = dcgettext(0,"Not an ELF file - it has the wrong magic bytes at the start\n",5);\n    error(uVar3);\n    return 0;\n  }\n  FUN_0005d920(*(undefined2 *)(param_1 + 0x42));\n  if (DAT_000b6344 == 0) goto LAB_0003b371;\n  pcVar4 = (char *)dcgettext(0,"ELF Header:\n",5);\n  printf(pcVar4);\n  pcVar4 = (char *)dcgettext(0,"  Magic:   ",5);\n  printf(pcVar4);\n  local_30 = (byte *)(param_1 + 0x10);\n  do {\n    printf("%2.2x ",(uint)*local_30);\n    local_30 = local_30 + 1;\n  } while ((byte *)(param_1 + 0x20) != local_30);\n  putchar(10);\n  cVar1 = param_1[0x14];\n  pcVar4 = "ELF32";\n  if (cVar1 != '\x01') {\n    if (cVar1 == '\0') {\n      pcVar4 = (char *)dcgettext(0,&DAT_00076afd,5);\n    }\n    else {\n      pcVar4 = "ELF64";\n      if (cVar1 != '\x02') {\n        pcVar4 = &DAT_000b5c40;\n        pcVar5 = (char *)dcgettext(0,"<unknown: %x>",5);\n        snprintf(&DAT_000b5c40,0x20,pcVar5,cVar1);\n      }\n    }\n  }\n  pcVar5 = (char *)dcgettext(0,"  Class:                             %s\n",5);\n  printf(pcVar5,pcVar4);\n  cVar1 = param_1[0x15];\n  if (cVar1 == '\x01') {\n    pcVar4 = "2\'s complement, little endian";\nLAB_0003c46b:\n    puVar8 = (undefined *)dcgettext(0,pcVar4,5);\n  }\n  else {\n    if (cVar1 == '\0') {\n      pcVar4 = "none";\n      goto LAB_0003c46b;\n    }\n    if (cVar1 == '\x02') {\n      pcVar4 = "2\'s complement, big endian";\n      goto LAB_0003c46b;\n    }\n    puVar8 = &DAT_000b5c20;\n    pcVar4 = (char *)dcgettext(0,"<unknown: %x>",5);\n    snprintf(&DAT_000b5c20,0x20,pcVar4,cVar1);\n  }\n  pcVar5 = (char *)dcgettext(0,"  Data:                              %s\n",5);\n  pcVar4 = "(current)";\n  printf(pcVar5,puVar8);\n  bVar15 = param_1[0x16];\n  if ((bVar15 != 1) && (pcVar4 = "", bVar15 != 0)) {\n    pcVar4 = (char *)dcgettext(0,"<unknown: %lx>",5);\n    bVar15 = param_1[0x16];\n  }\n  pcVar5 = (char *)dcgettext(0,"  Version:                           %d %s\n",5);\n  printf(pcVar5,(uint)bVar15,pcVar4);\n  uVar3 = FUN_000241c0();\n  pcVar4 = (char *)dcgettext(0,"  OS/ABI:                            %s\n",5);\n  printf(pcVar4,uVar3);\n  bVar15 = param_1[0x18];\n  pcVar4 = (char *)dcgettext(0,"  ABI Version:                       %d\n",5);\n  printf(pcVar4,(uint)bVar15);\n  uVar3 = FUN_0001c2b0();\n  pcVar4 = (char *)dcgettext(0,"  Type:                              %s\n",5);\n  printf(pcVar4,uVar3);\n  uVar3 = FUN_0001c3f0();\n  pcVar4 = (char *)dcgettext(0,"  Machine:                           %s\n",5);\n  printf(pcVar4,uVar3);\n  uVar3 = *(undefined4 *)(param_1 + 0x38);\n  pcVar5 = (char *)dcgettext(0,"  Version:                           0x%lx\n",5);\n  pcVar4 = "%lld";\n  printf(pcVar5,uVar3);\n  pcVar5 = (char *)dcgettext(0,"  Entry point address:               ",5);\n  printf(pcVar5);\n  FUN_0001e910();\n  pcVar5 = (char *)dcgettext(0,"\n  Start of program headers:          ",5);\n  printf(pcVar5);\n  printf("%lld",*(undefined4 *)(param_1 + 0x28),*(undefined4 *)(param_1 + 0x2c));\n  pcVar5 = (char *)dcgettext(0," (bytes into file)\n  Start of section headers:          ",5);\n  printf(pcVar5);\n  printf("%lld",*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34));\n  pcVar5 = (char *)dcgettext(0," (bytes into file)\n",5);\n  printf(pcVar5);\n  local_38 = *(char **)(param_1 + 0x3c);\n  uVar2 = *(ushort *)(param_1 + 0x42);\n  DAT_000b57a0 = DAT_000b57a0 & 0xffffff00;\n  if (local_38 == (char *)0x0) goto LAB_0003b840;\n  if (uVar2 == 0x5b) {\nLAB_0003bdf2:\n    if (((uint)local_38 & 0x10) != 0) {\n      pcVar4 = ", new calling convention";\n      pcVar5 = (char *)&DAT_000b57a0;\n      for (iVar11 = 0x19; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x20) == 0) {\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    else {\n      uVar13 = 0xffffffff;\n      pcVar4 = (char *)&DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar4 = ", gnu calling convention";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0x19; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    goto LAB_0003b840;\n  }\n  if (0x5b < uVar2) {\n    if (uVar2 == 0xc3) {\nLAB_0003cc32:\n      switch((uint)local_38 & 0xff) {\n      default:\n        if (uVar2 == 0x5d) {\n          puVar9 = (uint *)", Unknown ARCompact";\n          puVar18 = &DAT_000b57a0;\n          for (iVar11 = 5; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar18 = *puVar9;\n            puVar9 = puVar9 + (uint)bVar22 * -2 + 1;\n            puVar18 = puVar18 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else {\n          pcVar4 = ", Unknown ARC";\n          puVar9 = &DAT_000b57a0;\n          for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(char *)puVar9 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          }\n        }\n        break;\n      case 2:\n        pcVar4 = ", ARC600";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 3:\n        pcVar4 = ", ARC700";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 4:\n        pcVar4 = ", ARC601";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 5:\n        pcVar4 = ", ARC EM";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 6:\n        pcVar4 = ", ARC HS";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n      }\n      uVar13 = (uint)local_38 & 0xf00;\n      puVar9 = &DAT_000b57a0;\n      do {\n        puVar18 = puVar9;\n        uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n        uVar12 = uVar17 & 0x80808080;\n        puVar9 = puVar18 + 1;\n      } while (uVar12 == 0);\n      bVar20 = (uVar17 & 0x8080) == 0;\n      if (bVar20) {\n        uVar12 = uVar12 >> 0x10;\n      }\n      if (bVar20) {\n        puVar9 = (uint *)((int)puVar18 + 6);\n      }\n      pcVar4 = (char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12)));\n      if (uVar13 == 0x200) {\n        pcVar5 = ", (ABI:v2)";\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar4 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else if (uVar13 < 0x201) {\n        if (uVar13 == 0) {\n          pcVar5 = ", (ABI:legacy)";\n          for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar4 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\nLAB_0003e7fe:\n          pcVar5 = ", unrecognised ARC OSABI flag";\n          for (iVar11 = 0x1e; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar4 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar13 == 0x300) {\n        pcVar5 = ", v3 no-legacy-syscalls ABI";\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n          pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n          pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else {\n        if (uVar13 != 0x400) goto LAB_0003e7fe;\n        pcVar5 = ", v4 ABI";\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar4 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 < 0xc4) {\n      if (uVar2 == 0x69) {\n        pcVar4 = (char *)dcgettext(0,": architecture variant: ",5);\n        puVar9 = &DAT_000b57a0;\n        do {\n          puVar18 = puVar9;\n          uVar12 = *puVar18 + 0xfefefeff & ~*puVar18;\n          uVar13 = uVar12 & 0x80808080;\n          puVar9 = puVar18 + 1;\n        } while (uVar13 == 0);\n        bVar20 = (uVar12 & 0x8080) == 0;\n        if (bVar20) {\n          uVar13 = uVar13 >> 0x10;\n        }\n        if (bVar20) {\n          puVar9 = (uint *)((int)puVar18 + 6);\n        }\n        pcVar5 = stpcpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar13,(byte)uVar13))),\n                        pcVar4);\n        uVar13 = ((uint)local_38 & 0xff) - 0xb;\n        iVar11 = extraout_ECX;\n        if (uVar13 < 100) {\n          iVar11 = (int)&__DT_PLTGOT + *(int *)(&DAT_0008dec0 + uVar13 * 4);\n          switch((uint)local_38 & 0xff) {\n          case 0xb:\n            pcVar4 = "MSP430x11";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0xc:\n            pcVar4 = "MSP430x12";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0xd:\n            pcVar4 = "MSP430x13";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0xe:\n            pcVar4 = "MSP430x14";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0xf:\n            pcVar4 = "MSP430x15";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x10:\n            pcVar4 = "MSP430x16";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          default:\n            goto LAB_0003e9dc;\n          case 0x1f:\n            pcVar4 = "MSP430x31";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x20:\n            pcVar4 = "MSP430x32";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x21:\n            pcVar4 = "MSP430x33";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x29:\n            pcVar4 = "MSP430x41";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x2a:\n            pcVar4 = "MSP430x42";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x2b:\n            pcVar4 = "MSP430x43";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x2c:\n            pcVar4 = "MSP430x44";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x2d:\n            builtin_strncpy(pcVar5,"MSP430X",8);\n            break;\n          case 0x6e:\n            pcVar4 = "MSP430x11x1 ";\n            for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n          }\n        }\n        else {\nLAB_0003e9dc:\n          pcVar4 = (char *)0x0;\n          pcVar5 = (char *)dcgettext(0,": unknown",5,iVar11);\n          strcat((char *)&DAT_000b57a0,pcVar5);\n        }\n        if (((uint)local_38 & 0xffffff00) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          pcVar4 = (char *)dcgettext(0,": unknown extra flag bits also present",5,pcVar4);\n          strcat((char *)&DAT_000b57a0,pcVar4);\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 < 0x6a) {\n        if (uVar2 == 0x5d) goto LAB_0003cc32;\n        if (uVar2 < 0x5d) {\n          if (((uint)local_38 & 1) != 0) {\n            pcVar4 = ", no delay";\n            pcVar5 = (char *)&DAT_000b57a0;\n            for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else if (uVar2 == 99) goto LAB_0003bdf2;\n      }\n      else if (uVar2 == 0x8c) {\n        if (((uint)local_38 & 1) != 0) {\n          pcVar4 = ", relocatable module";\n          puVar9 = &DAT_000b57a0;\n          for (iVar11 = 0x15; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(char *)puVar9 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 < 0x8d) {\n        if (uVar2 == 0x6a) {\n          if (((uint)local_38 & 1) != 0) {\n            DAT_000b57a0 = 0x4950202c;\n            DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x43);\n          }\n          if (((uint)local_38 & 2) != 0) {\n            uVar13 = 0xffffffff;\n            pcVar4 = (char *)&DAT_000b57a0;\n            do {\n              if (uVar13 == 0) break;\n              uVar13 = uVar13 - 1;\n              cVar1 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            } while (cVar1 != '\0');\n            *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x4446202c;\n            *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x434950;\n          }\n          if (((uint)local_38 & 0x10) != 0) {\n            uVar13 = 0xffffffff;\n            pcVar4 = (char *)&DAT_000b57a0;\n            do {\n              if (uVar13 == 0) break;\n              uVar13 = uVar13 - 1;\n              cVar1 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            } while (cVar1 != '\0');\n            pcVar4 = ", code in L1";\n            pcVar5 = &DAT_000b579f + ~uVar13;\n            for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n          }\n          if (((uint)local_38 & 0x20) == 0) {\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\n            uVar13 = 0xffffffff;\n            pcVar4 = (char *)&DAT_000b57a0;\n            do {\n              if (uVar13 == 0) break;\n              uVar13 = uVar13 - 1;\n              cVar1 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            } while (cVar1 != '\0');\n            pcVar4 = ", data in L1";\n            pcVar5 = &DAT_000b579f + ~uVar13;\n            for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n      }\n      else if (uVar2 == 0xa7) {\n        uVar13 = (uint)local_38 & 0xf0000000;\n        uVar12 = (uint)local_38 & 0xf0;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 0x100; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *puVar19 = 0;\n          puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n        }\n        if (uVar12 == 0x20) {\nLAB_0003d15d:\n          iVar11 = snprintf((char *)&DAT_000b57a0,0x400,", %s",(&PTR_s_ABI_v0_000b333c)[uVar12 >> 4]\n                           );\n        }\n        else {\n          if (uVar12 < 0x21) {\n            if ((uVar12 == 0) || (uVar12 == 0x10)) goto LAB_0003d15d;\n          }\n          else if ((uVar12 == 0x40) || ((uVar12 == 0x50 || (uVar12 == 0x30)))) goto LAB_0003d15d;\n          DAT_000b57a0 = 0x753c202c;\n          iVar11 = 0x14;\n          DAT_000b57a4 = 0x6365726e;\n          _DAT_000b57a8 = 0x696e676f;\n          DAT_000b57ac = 0x2064657a;\n          DAT_000b57b0 = 0x3e494241;\n          DAT_000b57b4 = 0;\n        }\n        if (((uint)local_38 & 0xf) < 3) {\n          iVar7 = snprintf((char *)((int)&DAT_000b57a0 + iVar11),0x400U - iVar11,", %s",\n                           (&PTR_s_Andes_ELF_V1_3_or_older_000b3330)[(uint)local_38 & 0xf]);\n          uVar17 = iVar11 + iVar7;\n        }\n        else {\n          uVar17 = iVar11 + 0x23;\n          snprintf((char *)((int)&DAT_000b57a0 + iVar11),0x400U - iVar11,\n                   ", <unrecognized ELF version number>");\n        }\n        sVar10 = 0x400 - uVar17;\n        pcVar4 = (char *)((int)&DAT_000b57a0 + uVar17);\n        if (uVar12 == 0) {\n          iVar11 = snprintf(pcVar4,sVar10,", Andes Star v1.0, N1213HC, MAC, PERF1",&DAT_000b57a0);\n          if (uVar13 == 0x10000000) {\n            snprintf((char *)(uVar17 + 0xb57c6),0x400 - (uVar17 + 0x26),", 16b",iVar11);\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else if (uVar13 == 0x20000000) {\nLAB_0003d678:\n          iVar11 = snprintf(pcVar4,sVar10,", %s",(&PTR_DAT_000b331c)[(uint)local_38 >> 0x1c]);\n          iVar11 = iVar11 + uVar17;\n          uVar12 = (uint)local_38 & 0x100;\n          uVar3 = extraout_ECX_00;\n          if (uVar13 == 0x10000000) {\n            if (uVar12 != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 10;\n              uVar12 = snprintf(pcVar4,sVar10,", MFUSR_PC",uVar12);\n              uVar3 = extraout_ECX_20;\n            }\n            if (((uint)local_38 & 0x100000) == 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 5;\n              uVar12 = snprintf(pcVar4,sVar10,", MAC",uVar12);\n              uVar3 = extraout_ECX_19;\n            }\n            if (((uint)local_38 & 0x2000) != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 5;\n              uVar12 = snprintf(pcVar4,sVar10,", DIV",uVar12);\n              uVar3 = extraout_ECX_18;\n            }\n            if (((uint)local_38 & 0x4000) != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 5;\n              uVar12 = snprintf(pcVar4,sVar10,", 16b",uVar12);\n              uVar3 = extraout_ECX_10;\n            }\n          }\n          else {\n            if (uVar12 != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              if (((uint)local_38 & 0xe) == 0) {\n                iVar11 = iVar11 + 6;\n                uVar12 = snprintf(pcVar4,sVar10,", [B8]",uVar17);\n                uVar3 = extraout_ECX_01;\n              }\n              else {\n                iVar11 = iVar11 + 5;\n                uVar12 = snprintf(pcVar4,sVar10,", EX9",extraout_EDX_00);\n                uVar3 = extraout_ECX_11;\n              }\n            }\n            if (((uint)local_38 & 0x100000) != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 8;\n              uVar12 = snprintf(pcVar4,sVar10,", MAC_DX",uVar12);\n              uVar3 = extraout_ECX_09;\n            }\n            if (((uint)local_38 & 0x2000) != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 8;\n              uVar12 = snprintf(pcVar4,sVar10,", DIV_DX",uVar12);\n              uVar3 = extraout_ECX_14;\n            }\n            if (((uint)local_38 & 0x4000) != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              uVar13 = (uint)local_38 & 0xffffff0e;\n              if (((uint)local_38 & 0xe) == 0) {\n                pcVar5 = ", 16b";\n                uVar13 = uVar17;\n              }\n              else {\n                pcVar5 = ", IFC";\n              }\n              iVar11 = iVar11 + 5;\n              uVar12 = snprintf(pcVar4,sVar10,pcVar5,uVar13);\n              uVar3 = extraout_ECX_02;\n            }\n          }\n          if (((uint)local_38 & 0x200) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 7;\n            uVar12 = snprintf(pcVar4,sVar10,", PERF1",uVar12);\n            uVar3 = extraout_ECX_13;\n          }\n          if (((uint)local_38 & 0x400) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 7;\n            snprintf(pcVar4,sVar10,", PERF2",uVar12);\n            uVar3 = extraout_ECX_12;\n          }\n          uVar13 = (uint)local_38 & 0x1000000;\n          if (((uint)local_38 & 0x800) == 0) {\n            pcVar4 = local_38;\n            if (((uint)local_38 & 0x80000) != 0) {\nLAB_0003eba3:\n              sVar10 = 0x400 - iVar11;\n              pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 8;\n              pcVar4 = (char *)snprintf(pcVar5,sVar10,", FPU_DP",pcVar4);\n              goto LAB_0003ebc4;\n            }\n            if (uVar13 != 0) goto LAB_0003ebc8;\n          }\n          else {\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 8;\n            pcVar4 = (char *)snprintf(pcVar4,sVar10,", FPU_SP",local_38);\n            if (((uint)local_38 & 0x80000) != 0) goto LAB_0003eba3;\nLAB_0003ebc4:\n            if (uVar13 != 0) {\nLAB_0003ebc8:\n              sVar10 = 0x400 - iVar11;\n              pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 9;\n              snprintf(pcVar5,sVar10,", FPU_MAC",pcVar4);\n            }\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            uVar12 = (uint)local_38 >> 0x16 & 3;\n            if (uVar12 == 2) {\n              pcVar5 = ", FPU_REG:32/16";\n              uVar12 = uVar13;\n            }\n            else {\n              if (uVar12 != 3) {\n                if (uVar12 == 1) {\n                  iVar11 = iVar11 + 0xe;\n                  pcVar4 = (char *)snprintf(pcVar4,sVar10,", FPU_REG:16/8",0);\n                  uVar3 = extraout_ECX_16;\n                }\n                else {\n                  iVar11 = iVar11 + 0xd;\n                  pcVar4 = (char *)snprintf(pcVar4,sVar10,", FPU_REG:8/4",uVar13);\n                  uVar3 = extraout_ECX_06;\n                }\n                goto LAB_0003d76f;\n              }\n              pcVar5 = ", FPU_REG:32/32";\n              uVar12 = 3;\n            }\n            iVar11 = iVar11 + 0xf;\n            pcVar4 = (char *)snprintf(pcVar4,sVar10,pcVar5,uVar12);\n            uVar3 = extraout_ECX_17;\n          }\nLAB_0003d76f:\n          if (((uint)local_38 & 0x1000) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 7;\n            pcVar4 = (char *)snprintf(pcVar5,sVar10,", AUDIO",pcVar4);\n            uVar3 = extraout_ECX_05;\n          }\n          if (((uint)local_38 & 0x8000) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 5;\n            pcVar4 = (char *)snprintf(pcVar5,sVar10,", STR",pcVar4);\n            uVar3 = extraout_ECX_08;\n          }\n          if (((uint)local_38 & 0x10000) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 7;\n            snprintf(pcVar5,sVar10,", 16REG",pcVar4);\n            uVar3 = extraout_ECX_07;\n          }\n          if (((uint)local_38 & 0x20000) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            if (((uint)local_38 & 0xe) == 0) {\n              iVar11 = iVar11 + 7;\n              snprintf(pcVar4,sVar10,", VIDEO",uVar13);\n              uVar3 = extraout_ECX_03;\n            }\n            else {\n              iVar11 = iVar11 + 0xc;\n              snprintf(pcVar4,sVar10,", SATURATION",(uint)local_38 & 0xffffff0e);\n              uVar3 = extraout_ECX_15;\n            }\n          }\n          if (((uint)local_38 & 0x40000) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 7;\n            snprintf(pcVar4,sVar10,", ENCRP",uVar13);\n            uVar3 = extraout_ECX_04;\n          }\n          if (((uint)local_38 & 0x200000) == 0) {\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\n            snprintf((char *)((int)&DAT_000b57a0 + iVar11),0x400 - iVar11,", L2C",uVar3);\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else {\n          if (uVar13 < 0x20000001) {\n            if (uVar13 == 0x10000000) goto LAB_0003d678;\n          }\n          else if ((uVar13 == 0x30000000) || (uVar13 == 0x40000000)) goto LAB_0003d678;\n          snprintf(pcVar4,sVar10,", <unrecognized architecture>");\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 == 0xad) {\n        if (((uint)local_38 & 1) != 0) {\n          pcVar4 = ", 64-bit doubles";\n          puVar9 = &DAT_000b57a0;\n          for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(char *)puVar9 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          }\n        }\n        if (((uint)local_38 & 2) != 0) {\n          uVar13 = 0xffffffff;\n          puVar9 = &DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            uVar12 = *puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while ((char)uVar12 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7364202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x70;\n        }\n        if (((uint)local_38 & 4) != 0) {\n          uVar13 = 0xffffffff;\n          puVar9 = &DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            uVar12 = *puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while ((char)uVar12 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6970202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 100;\n        }\n        if (((uint)local_38 & 8) != 0) {\n          uVar13 = 0xffffffff;\n          puVar9 = &DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            uVar12 = *puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while ((char)uVar12 != '\0');\n          pcVar4 = ", RX ABI";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x40) != 0) {\n          puVar9 = &DAT_000b57a0;\n          pcVar4 = ", uses String instructions";\n          if (((uint)local_38 & 0x80) == 0) {\n            pcVar4 = ", bans String instructions";\n          }\n          do {\n            puVar18 = puVar9;\n            uVar12 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar13 = uVar12 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar13 == 0);\n          bVar20 = (uVar12 & 0x8080) == 0;\n          if (bVar20) {\n            uVar13 = uVar13 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          pcVar5 = (char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar13,(byte)uVar13)));\n          *(undefined4 *)pcVar5 = *(undefined4 *)pcVar4;\n          *(undefined4 *)(pcVar5 + 4) = *(undefined4 *)(pcVar4 + 4);\n          *(undefined4 *)(pcVar5 + 8) = *(undefined4 *)(pcVar4 + 8);\n          *(undefined4 *)(pcVar5 + 0xc) = *(undefined4 *)(pcVar4 + 0xc);\n          *(undefined4 *)(pcVar5 + 0x10) = *(undefined4 *)(pcVar4 + 0x10);\n          *(undefined4 *)(pcVar5 + 0x14) = *(undefined4 *)(pcVar4 + 0x14);\n          cVar1 = pcVar4[0x1a];\n          *(undefined2 *)(pcVar5 + 0x18) = *(undefined2 *)(pcVar4 + 0x18);\n          pcVar5[0x1a] = cVar1;\n        }\n        if (((uint)local_38 & 0x100) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          uVar13 = 0xffffffff;\n          puVar9 = &DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            uVar12 = *puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while ((char)uVar12 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x3256202c;\n          *(undefined1 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    else if (uVar2 == 0xfa) {\n      uVar13 = (uint)local_38 >> 8 & 0xffff;\n      if (uVar13 == 0x3200) {\n        pcVar4 = ", NFP-32xx";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else if (uVar13 == 0x6000) {\n        pcVar4 = ", NFP-6xxx";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 < 0xfb) {\n      if (uVar2 == 0xdd) {\n        if (((uint)local_38 & 1) == 0) {\n          if (((uint)local_38 & 2) != 0) {\n            DAT_000b57a0 = 0x636d202c;\n            DAT_000b57a4 = 0x34326d;\n          }\n        }\n        else {\n          DAT_000b57a0 = 0x636d202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x6d);\n        }\n        if (((uint)local_38 & 4) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7267202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x36;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 == 0xf3) {\n        if (((uint)local_38 & 1) != 0) {\n          DAT_000b57a0 = 0x5652202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x43);\n        }\n        if (((uint)local_38 & 8) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x5652202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x45;\n        }\n        uVar13 = (uint)local_38 & 6;\n        if (uVar13 == 2) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", single-float ABI";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 < 3) {\n          if (uVar13 == 0) {\n            uVar13 = 0xffffffff;\n            pcVar4 = (char *)&DAT_000b57a0;\n            do {\n              if (uVar13 == 0) break;\n              uVar13 = uVar13 - 1;\n              cVar1 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            } while (cVar1 != '\0');\n            pcVar4 = ", soft-float ABI";\n            pcVar5 = &DAT_000b579f + ~uVar13;\n            for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\nLAB_0003e76f:\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else if (uVar13 == 4) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", double-float ABI";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          if (uVar13 != 6) goto LAB_0003e76f;\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", quad-float ABI";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 == 0xc5) {\n        uVar13 = (uint)local_38 & 0xc;\n        if (uVar13 == 8) {\n          DAT_000b57a0 = 0x3147202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x33);\n        }\n        else if (uVar13 == 0xc) {\n          DAT_000b57a0 = 0x3147202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x34);\n        }\n        else if (uVar13 == 4) {\n          DAT_000b57a0 = 0x3147202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x30);\n        }\n        if (((uint)local_38 & 1) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", 64-bit doubles";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    else if (uVar2 == 0x9041) {\nLAB_0003bb50:\n      if (((uint)local_38 & 0x30000000) == 0) {\n        puVar16 = &DAT_0007ca93;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined1 *)puVar19 = *puVar16;\n          puVar16 = puVar16 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 < 0x9042) {\n      if (uVar2 == 0x5441) {\n        uVar13 = (uint)local_38 & 0xff000000;\n        if (uVar13 == 0x4000000) {\n          pcVar4 = ", tomcat";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 < 0x4000001) {\n          if (uVar13 == 0x1000000) {\n            DAT_000b57a0 = 0x7266202c;\n            DAT_000b57a4 = 0x303035;\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else if (uVar13 < 0x1000001) {\n            if (uVar13 != 0) {\nLAB_0003d4b1:\n              DAT_000b57a0 = 0x7266202c;\n              DAT_000b57a4 = 0x3f3f3f;\n              local_38 = *(char **)(param_1 + 0x3c);\n            }\n          }\n          else if (uVar13 == 0x2000000) {\n            DAT_000b57a0 = 0x7266202c;\n            DAT_000b57a4 = 0x303033;\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\n            if (uVar13 != 0x3000000) goto LAB_0003d4b1;\n            pcVar4 = ", simple";\n            pcVar5 = (char *)&DAT_000b57a0;\n            for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else if (uVar13 == 0x6000000) {\n          DAT_000b57a0 = 0x7266202c;\n          DAT_000b57a4 = 0x303535;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 < 0x6000001) {\n          if (uVar13 != 0x5000000) goto LAB_0003d4b1;\n          DAT_000b57a0 = 0x7266202c;\n          DAT_000b57a4 = 0x303034;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 0x7000000) {\n          DAT_000b57a0 = 0x7266202c;\n          DAT_000b57a4 = 0x353034;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          if (uVar13 != 0x8000000) goto LAB_0003d4b1;\n          DAT_000b57a0 = 0x7266202c;\n          DAT_000b57a4 = 0x303534;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    else {\n      if (uVar2 == 0x9080) goto LAB_0003c0c0;\n      if (uVar2 == 0xf00d) {\n        uVar13 = (uint)local_38 & 0xff000000;\n        if (uVar13 == 0x2000000) {\n          pcVar4 = ", MeP C3";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else if (uVar13 < 0x2000001) {\n          if (uVar13 == 0) {\n            pcVar4 = ", generic MeP";\n            pcVar5 = (char *)&DAT_000b57a0;\n            for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n          }\n          else if (uVar13 == 0x1000000) {\n            pcVar4 = ", MeP C2";\n            pcVar5 = (char *)&DAT_000b57a0;\n            for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n          }\n          else {\nLAB_0003ba2e:\n            pcVar4 = (char *)dcgettext(0,", <unknown MeP cpu type>",5,&DAT_00076943);\n            strcat((char *)&DAT_000b57a0,pcVar4);\n          }\n        }\n        else if (uVar13 == 0x8000000) {\n          pcVar4 = ", MeP C5";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else if (uVar13 == 0x10000000) {\n          pcVar4 = ", MeP H1";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else {\n          if (uVar13 != 0x4000000) goto LAB_0003ba2e;\n          pcVar4 = ", MeP C4";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        local_34 = &DAT_000b57a0;\n        pEVar6 = (Elf32_Ehdr *)((uint)local_38 & 0xff0000);\n        if (pEVar6 == (Elf32_Ehdr *)0x20000) {\n          uVar13 = 0xffffffff;\n          pEVar6 = (Elf32_Ehdr *)0x0;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pcVar4 = ", AVC2 coprocessor";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else if (pEVar6 < (Elf32_Ehdr *)0x20001) {\n          if (pEVar6 != (Elf32_Ehdr *)0x0) {\n            if (pEVar6 == &Elf32_Ehdr_00010000) {\n              uVar13 = 0xffffffff;\n              pEVar6 = (Elf32_Ehdr *)0x0;\n              puVar9 = local_34;\n              do {\n                if (uVar13 == 0) break;\n                uVar13 = uVar13 - 1;\n                cVar1 = *(char *)puVar9;\n                puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n              } while (cVar1 != '\0');\n              pcVar4 = ", AVC coprocessor";\n              pcVar5 = &DAT_000b579f + ~uVar13;\n              for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {\n                *pcVar5 = *pcVar4;\n                pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n              }\n            }\n            else {\nLAB_0003e6fc:\n              pcVar4 = (char *)dcgettext(0,"<unknown MeP copro type>",5,pEVar6);\n              pEVar6 = (Elf32_Ehdr *)strcat((char *)&DAT_000b57a0,pcVar4);\n            }\n          }\n        }\n        else if (pEVar6 == (Elf32_Ehdr *)&DAT_00030000) {\n          uVar13 = 0xffffffff;\n          pEVar6 = (Elf32_Ehdr *)0x0;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pcVar4 = ", FMAX coprocessor";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else {\n          if (pEVar6 != (Elf32_Ehdr *)0x60000) goto LAB_0003e6fc;\n          uVar13 = 0xffffffff;\n          pEVar6 = (Elf32_Ehdr *)0x0;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pcVar4 = ", IVC2 coprocessor";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x100) != 0) {\n          uVar13 = 0xffffffff;\n          pEVar6 = (Elf32_Ehdr *)0x0;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pcVar4 = ", Built for Library";\n          puVar19 = (undefined4 *)(&DAT_000b579f + ~uVar13);\n          for (iVar11 = 5; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0xff) != 0) {\n          uVar13 = 0xffffffff;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pEVar6 = (Elf32_Ehdr *)\n                   sprintf(&DAT_000b579f + ~uVar13,", Configuration Index: %#x",\n                           (uint)local_38 & 0xff,0);\n        }\n        if (((uint)local_38 & 0xfe00) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          pcVar4 = (char *)dcgettext(0,", unknown flags bits: %#x",5,pEVar6);\n          uVar13 = 0xffffffff;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)local_34;\n            local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          sprintf(&DAT_000b579f + ~uVar13,pcVar4,(uint)local_38 & 0xfe00);\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    goto LAB_0003b840;\n  }\n  if (uVar2 == 0x24) {\n    if (((uint)local_38 & 0xf0000000) == 0xf0000000) {\n      puVar9 = (uint *)", RH850 ABI";\n      puVar18 = &DAT_000b57a0;\n      for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *puVar18 = *puVar9;\n        puVar9 = puVar9 + (uint)bVar22 * -2 + 1;\n        puVar18 = puVar18 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x100000) != 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", V3 architecture";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 3) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", FPU not used";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x60) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", regmode: COMMON";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x300) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", r4 not used";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0xc00) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", r30 not used";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x3000) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", r5 not used";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0xc000) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", r2 not used";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    uVar13 = (uint)local_38 & 0xffff;\n    if (uVar13 == 0) {\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    else {\n      do {\n        uVar12 = -uVar13 & uVar13;\n        puVar9 = &DAT_000b57a0;\n        if (uVar12 == 0x200) {\n          do {\n            puVar18 = puVar9;\n            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar12 = uVar17 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar12 == 0);\n          bVar20 = (uVar17 & 0x8080) == 0;\n          if (bVar20) {\n            uVar12 = uVar12 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                          ", r4 free",10);\n        }\n        else if (uVar12 < 0x201) {\n          if (uVar12 == 0x20) {\n            do {\n              puVar18 = puVar9;\n              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n              uVar12 = uVar17 & 0x80808080;\n              puVar9 = puVar18 + 1;\n            } while (uVar12 == 0);\n            bVar20 = (uVar17 & 0x8080) == 0;\n            if (bVar20) {\n              uVar12 = uVar12 >> 0x10;\n            }\n            if (bVar20) {\n              puVar9 = (uint *)((int)puVar18 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                            ", regmode:22",0xd);\n          }\n          else if (uVar12 < 0x21) {\n            if (uVar12 == 1) {\n              do {\n                puVar18 = puVar9;\n                uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n                uVar12 = uVar17 & 0x80808080;\n                puVar9 = puVar18 + 1;\n              } while (uVar12 == 0);\n              bVar20 = (uVar17 & 0x8080) == 0;\n              if (bVar20) {\n                uVar12 = uVar12 >> 0x10;\n              }\n              if (bVar20) {\n                puVar9 = (uint *)((int)puVar18 + 6);\n              }\n              builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12)))\n                              ,", double precision FPU",0x17);\n            }\n            else if (uVar12 == 2) {\n              do {\n                puVar18 = puVar9;\n                uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n                uVar12 = uVar17 & 0x80808080;\n                puVar9 = puVar18 + 1;\n              } while (uVar12 == 0);\n              bVar20 = (uVar17 & 0x8080) == 0;\n              if (bVar20) {\n                uVar12 = uVar12 >> 0x10;\n              }\n              if (bVar20) {\n                puVar9 = (uint *)((int)puVar18 + 6);\n              }\n              builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12)))\n                              ,", single precision FPU",0x17);\n            }\n          }\n          else if (uVar12 == 0x40) {\n            do {\n              puVar18 = puVar9;\n              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n              uVar12 = uVar17 & 0x80808080;\n              puVar9 = puVar18 + 1;\n            } while (uVar12 == 0);\n            bVar20 = (uVar17 & 0x8080) == 0;\n            if (bVar20) {\n              uVar12 = uVar12 >> 0x10;\n            }\n            if (bVar20) {\n              puVar9 = (uint *)((int)puVar18 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                            ", regmode:23",0xd);\n          }\n          else if (uVar12 == 0x100) {\n            do {\n              puVar18 = puVar9;\n              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n              uVar12 = uVar17 & 0x80808080;\n              puVar9 = puVar18 + 1;\n            } while (uVar12 == 0);\n            bVar20 = (uVar17 & 0x8080) == 0;\n            if (bVar20) {\n              uVar12 = uVar12 >> 0x10;\n            }\n            if (bVar20) {\n              puVar9 = (uint *)((int)puVar18 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                            ", r4 fixed",0xb);\n          }\n        }\n        else if (uVar12 == 0x1000) {\n          do {\n            puVar18 = puVar9;\n            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar12 = uVar17 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar12 == 0);\n          bVar20 = (uVar17 & 0x8080) == 0;\n          if (bVar20) {\n            uVar12 = uVar12 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                          ", r5 fixed",0xb);\n        }\n        else if (uVar12 < 0x1001) {\n          if (uVar12 == 0x400) {\n            do {\n              puVar18 = puVar9;\n              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n              uVar12 = uVar17 & 0x80808080;\n              puVar9 = puVar18 + 1;\n            } while (uVar12 == 0);\n            bVar20 = (uVar17 & 0x8080) == 0;\n            if (bVar20) {\n              uVar12 = uVar12 >> 0x10;\n            }\n            if (bVar20) {\n              puVar9 = (uint *)((int)puVar18 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                            ", r30 fixed",0xc);\n          }\n          else if (uVar12 == 0x800) {\n            do {\n              puVar18 = puVar9;\n              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n              uVar12 = uVar17 & 0x80808080;\n              puVar9 = puVar18 + 1;\n            } while (uVar12 == 0);\n            bVar20 = (uVar17 & 0x8080) == 0;\n            if (bVar20) {\n              uVar12 = uVar12 >> 0x10;\n            }\n            if (bVar20) {\n              puVar9 = (uint *)((int)puVar18 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                            ", r30 free",0xb);\n          }\n        }\n        else if (uVar12 == 0x4000) {\n          do {\n            puVar18 = puVar9;\n            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar12 = uVar17 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar12 == 0);\n          bVar20 = (uVar17 & 0x8080) == 0;\n          if (bVar20) {\n            uVar12 = uVar12 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                          ", r2 fixed",0xb);\n        }\n        else if (uVar12 == 0x8000) {\n          do {\n            puVar18 = puVar9;\n            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar12 = uVar17 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar12 == 0);\n          bVar20 = (uVar17 & 0x8080) == 0;\n          if (bVar20) {\n            uVar12 = uVar12 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                          ", r2 free",10);\n        }\n        else if (uVar12 == 0x2000) {\n          do {\n            puVar18 = puVar9;\n            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar12 = uVar17 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar12 == 0);\n          bVar20 = (uVar17 & 0x8080) == 0;\n          if (bVar20) {\n            uVar12 = uVar12 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                          ", r5 free",10);\n        }\n        uVar13 = uVar13 & uVar13 - 1;\n      } while (uVar13 != 0);\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    goto LAB_0003b840;\n  }\n  if (0x24 < uVar2) {\n    if (uVar2 == 0x32) {\n      if (((uint)local_38 & 0x10) == 0) {\n        DAT_000b57a0 = 0x3233202c;\n      }\n      else {\n        DAT_000b57a0 = 0x3436202c;\n      }\n      _DAT_000b57a8 = _DAT_000b57a8 & 0xffffff00;\n      DAT_000b57a4 = 0x7469622d;\n      if (((uint)local_38 & 0x20) != 0) {\n        uVar13 = 0xffffffff;\n        pcVar4 = (char *)&DAT_000b57a0;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar4 = ", reduced fp model";\n        pcVar5 = &DAT_000b579f + ~uVar13;\n        for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      if (((uint)local_38 & 0x80) == 0) {\n        if (((uint)local_38 & 0x40) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", constant gp";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n      }\n      else {\n        uVar13 = 0xffffffff;\n        pcVar4 = (char *)&DAT_000b57a0;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar4 = ", no function descriptors, constant gp";\n        pcVar5 = &DAT_000b579f + ~uVar13;\n        for (iVar11 = 0x27; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      if (((uint)local_38 & 0x100) != 0) {\n        uVar13 = 0xffffffff;\n        pcVar4 = (char *)&DAT_000b57a0;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar4 = ", absolute";\n        pcVar5 = &DAT_000b579f + ~uVar13;\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      if (param_1[0x17] == '\r') {\n        if (((uint)local_38 & 4) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", vms_linkages";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        uVar13 = (uint)local_38 & 3;\n        if (uVar13 == 2) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7265202c;\n          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x726f72;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 3) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6261202c;\n          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x74726f;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 1) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", warning";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else {\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 < 0x33) {\n      if (uVar2 == 0x2a) {\n        switch((uint)local_38 & 0x1f) {\n        default:\n          pcVar4 = (char *)dcgettext(0,", unknown ISA",5,&DAT_00076943);\n          strcat((char *)&DAT_000b57a0,pcVar4);\n          break;\n        case 1:\n          DAT_000b57a0 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x31);\n          break;\n        case 2:\n          DAT_000b57a0 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x32);\n          break;\n        case 3:\n          DAT_000b57a0 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x33);\n          break;\n        case 4:\n          pcVar4 = ", sh-dsp";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 5:\n          pcVar4 = ", sh3-dsp";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 6:\n          pcVar4 = ", sh4al-dsp";\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 8:\n          puVar8 = &UNK_0007cd94;\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined *)puVar19 = *puVar8;\n            puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n            puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n          }\n          break;\n        case 9:\n          DAT_000b57a0 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x34);\n          break;\n        case 10:\n          DAT_000b57a0 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x35);\n          break;\n        case 0xb:\n          puVar8 = &UNK_0007cd9b;\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined *)puVar19 = *puVar8;\n            puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n            puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n          }\n          break;\n        case 0xc:\n          puVar8 = &UNK_0007cda2;\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined *)puVar19 = *puVar8;\n            puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n            puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n          }\n          break;\n        case 0xd:\n          puVar8 = &UNK_0007cda9;\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined *)puVar19 = *puVar8;\n            puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n            puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n          }\n          break;\n        case 0x10:\n          pcVar4 = ", sh4-nofpu";\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x11:\n          pcVar4 = ", sh4a-nofpu";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x12:\n          pcVar4 = ", sh4-nommu-nofpu";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x13:\n          pcVar4 = ", sh2a-nofpu";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x14:\n          pcVar4 = ", sh3-nommu";\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x15:\n          pcVar4 = ", sh2a-nofpu-or-sh4-nommu-nofpu";\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 8; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x16:\n          pcVar4 = ", sh2a-nofpu-or-sh3-nommu";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0x1a; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x17:\n          pcVar4 = ", sh2a-or-sh4";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x18:\n          pcVar4 = ", sh2a-or-sh3e";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        local_34 = &DAT_000b57a0;\n        if (((uint)local_38 & 0x100) != 0) {\n          uVar13 = 0xffffffff;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6970202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 99;\n        }\n        if (((uint)local_38 & 0x8000) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          uVar13 = 0xffffffff;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)local_34;\n            local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6466202c;\n          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x636970;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 == 0x2b) {\n        if (((uint)local_38 & 0x100) != 0) {\n          DAT_000b57a0 = 0x3876202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x2b);\n        }\n        if (((uint)local_38 & 0x200) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", ultrasparcI";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x800) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", ultrasparcIII";\n          puVar19 = (undefined4 *)(&DAT_000b579f + ~uVar13);\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x400) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6168202c;\n          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x31726c;\n        }\n        if (((uint)local_38 & 0x800000) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", ledata";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        uVar13 = (uint)local_38 & 3;\n        if (uVar13 == 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7374202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x6f;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 1) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7370202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x6f;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 2) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6d72202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x6f;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 == 0x28) {\n        uVar13 = (uint)local_38 & 0xff000000;\n        if (((uint)local_38 & 1) == 0) {\n          local_38 = (char *)((uint)local_38 & 0xffffff);\n          pcVar4 = (char *)&DAT_000b57a0;\n        }\n        else {\n          pcVar4 = &DAT_000b57b8;\n          pcVar5 = ", relocatable executable";\n          pcVar14 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0x19; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar14 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            pcVar14 = pcVar14 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = (char *)((uint)local_38 & 0xfffffe);\n        }\n        local_34 = &DAT_000b57a0;\n        if (((uint)local_38 & 0x20) != 0) {\n          pcVar5 = ", position independent";\n          for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar4 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = (char *)((uint)local_38 & 0xffffffdf);\n          uVar12 = 0xffffffff;\n          puVar9 = local_34;\n          do {\n            if (uVar12 == 0) break;\n            uVar12 = uVar12 - 1;\n            uVar17 = *puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while ((char)uVar17 != '\0');\n          pcVar4 = &DAT_000b579f + ~uVar12;\n        }\n        if (uVar13 == 0x2000000) {\n          bVar20 = false;\n          pcVar5 = ", Version2 EABI";\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n            pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n          }\n          if (local_38 != (char *)0x0) {\n            do {\n              uVar13 = -(int)local_38 & (uint)local_38;\n              local_38 = (char *)((uint)local_38 & ~uVar13);\n              if (uVar13 == 8) {\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                pcVar4 = ", dynamic symbols use segment index";\n                puVar19 = (undefined4 *)(&DAT_000b579f + ~uVar13);\n                for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n                  *puVar19 = *(undefined4 *)pcVar4;\n                  pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                }\n              }\n              else if (uVar13 == 0x10) {\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                pcVar4 = ", mapping symbols precede others";\n                pcVar5 = &DAT_000b579f + ~uVar13;\n                for (iVar11 = 0x21; iVar11 != 0; iVar11 = iVar11 + -1) {\n                  *pcVar5 = *pcVar4;\n                  pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                  pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                }\n              }\n              else if (uVar13 == 4) {\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                pcVar4 = ", sorted symbol tables";\n                pcVar5 = &DAT_000b579f + ~uVar13;\n                for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {\n                  *pcVar5 = *pcVar4;\n                  pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                  pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                }\n              }\n              else {\n                bVar20 = true;\n              }\n            } while (local_38 != (char *)0x0);\n            goto LAB_0003d8e9;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 < 0x2000001) {\n          if (uVar13 == 0) {\n            bVar20 = false;\n            pcVar5 = ", GNU EABI";\n            for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar4 = *pcVar5;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            }\n            if (local_38 != (char *)0x0) {\n              do {\n                uVar13 = -(int)local_38 & (uint)local_38;\n                local_38 = (char *)((uint)local_38 & ~uVar13);\n                if (uVar13 == 0x40) {\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  pcVar4 = ", 8 bit structure alignment";\n                  puVar19 = (undefined4 *)(&DAT_000b579f + ~uVar13);\n                  for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n                    *puVar19 = *(undefined4 *)pcVar4;\n                    pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n                    puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                  }\n                }\n                else if (uVar13 < 0x41) {\n                  if (uVar13 == 8) {\n                    uVar13 = 0xffffffff;\n                    puVar9 = local_34;\n                    do {\n                      if (uVar13 == 0) break;\n                      uVar13 = uVar13 - 1;\n                      uVar12 = *puVar9;\n                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                    } while ((char)uVar12 != '\0');\n                    pcVar4 = ", uses APCS/26";\n                    pcVar5 = &DAT_000b579f + ~uVar13;\n                    for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n                      *pcVar5 = *pcVar4;\n                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                    }\n                  }\n                  else if (uVar13 < 9) {\n                    if (uVar13 == 4) {\n                      uVar13 = 0xffffffff;\n                      puVar9 = local_34;\n                      do {\n                        if (uVar13 == 0) break;\n                        uVar13 = uVar13 - 1;\n                        uVar12 = *puVar9;\n                        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                      } while ((char)uVar12 != '\0');\n                      pcVar4 = ", interworking enabled";\n                      pcVar5 = &DAT_000b579f + ~uVar13;\n                      for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {\n                        *pcVar5 = *pcVar4;\n                        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                      }\n                    }\n                    else {\nLAB_0003edd8:\n                      bVar20 = true;\n                    }\n                  }\n                  else if (uVar13 == 0x10) {\n                    uVar13 = 0xffffffff;\n                    puVar9 = local_34;\n                    do {\n                      if (uVar13 == 0) break;\n                      uVar13 = uVar13 - 1;\n                      uVar12 = *puVar9;\n                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                    } while ((char)uVar12 != '\0');\n                    pcVar4 = ", uses APCS/float";\n                    pcVar5 = &DAT_000b579f + ~uVar13;\n                    for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {\n                      *pcVar5 = *pcVar4;\n                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                    }\n                  }\n                  else {\n                    if (uVar13 != 0x20) goto LAB_0003edd8;\n                    uVar13 = 0xffffffff;\n                    puVar9 = local_34;\n                    do {\n                      if (uVar13 == 0) break;\n                      uVar13 = uVar13 - 1;\n                      uVar12 = *puVar9;\n                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                    } while ((char)uVar12 != '\0');\n                    pcVar4 = ", position independent";\n                    pcVar5 = &DAT_000b579f + ~uVar13;\n                    for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {\n                      *pcVar5 = *pcVar4;\n                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                    }\n                  }\n                }\n                else if (uVar13 == 0x200) {\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  pcVar4 = ", software FP";\n                  pcVar5 = &DAT_000b579f + ~uVar13;\n                  for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n                    *pcVar5 = *pcVar4;\n                    pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                  }\n                }\n                else if (uVar13 < 0x201) {\n                  if (uVar13 == 0x80) {\n                    uVar13 = 0xffffffff;\n                    puVar9 = local_34;\n                    do {\n                      if (uVar13 == 0) break;\n                      uVar13 = uVar13 - 1;\n                      uVar12 = *puVar9;\n                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                    } while ((char)uVar12 != '\0');\n                    pcVar4 = ", uses new ABI";\n                    pcVar5 = &DAT_000b579f + ~uVar13;\n                    for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n                      *pcVar5 = *pcVar4;\n                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                    }\n                  }\n                  else {\n                    if (uVar13 != 0x100) goto LAB_0003edd8;\n                    uVar13 = 0xffffffff;\n                    puVar9 = local_34;\n                    do {\n                      if (uVar13 == 0) break;\n                      uVar13 = uVar13 - 1;\n                      uVar12 = *puVar9;\n                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                    } while ((char)uVar12 != '\0');\n                    pcVar4 = ", uses old ABI";\n                    pcVar5 = &DAT_000b579f + ~uVar13;\n                    for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n                      *pcVar5 = *pcVar4;\n                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                    }\n                  }\n                }\n                else if (uVar13 == 0x400) {\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x4656202c;\n                  *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x50;\n                }\n                else {\n                  if (uVar13 != 0x800) goto LAB_0003edd8;\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  pcVar4 = ", Maverick FP";\n                  pcVar5 = &DAT_000b579f + ~uVar13;\n                  for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n                    *pcVar5 = *pcVar4;\n                    pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                  }\n                }\n              } while (local_38 != (char *)0x0);\n              goto LAB_0003d8e9;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else if (uVar13 == 0x1000000) {\n            bVar20 = false;\n            pcVar5 = ", Version1 EABI";\n            for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n              pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n              pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            }\n            if (local_38 != (char *)0x0) {\n              do {\n                uVar13 = -(int)local_38 & (uint)local_38;\n                local_38 = (char *)((uint)local_38 & ~uVar13);\n                if (uVar13 == 4) {\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  pcVar4 = ", sorted symbol tables";\n                  pcVar5 = &DAT_000b579f + ~uVar13;\n                  for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {\n                    *pcVar5 = *pcVar4;\n                    pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                  }\n                }\n                else {\n                  bVar20 = true;\n                }\n              } while (local_38 != (char *)0x0);\n              goto LAB_0003d8e9;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\nLAB_0003c1eb:\n            pcVar5 = ", <unrecognized EABI>";\n            for (iVar11 = 0x16; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar4 = *pcVar5;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            }\n            if (local_38 == (char *)0x0) {\n              local_38 = *(char **)(param_1 + 0x3c);\n            }\n            else {\nLAB_0003d8f4:\n              pcVar4 = (char *)dcgettext(0,", <unknown>",5);\n              strcat((char *)&DAT_000b57a0,pcVar4);\n              local_38 = *(char **)(param_1 + 0x3c);\n            }\n          }\n        }\n        else if (uVar13 == 0x4000000) {\n          pcVar5 = ", Version4 EABI";\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n            pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n          }\n          bVar20 = false;\n          if (local_38 == (char *)0x0) {\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\n            do {\n              uVar13 = -(int)local_38 & (uint)local_38;\n              local_38 = (char *)((uint)local_38 & ~uVar13);\n              puVar9 = local_34;\n              if (uVar13 == 0x400000) {\n                do {\n                  puVar18 = puVar9;\n                  uVar12 = *puVar18 + 0xfefefeff & ~*puVar18;\n                  uVar13 = uVar12 & 0x80808080;\n                  puVar9 = puVar18 + 1;\n                } while (uVar13 == 0);\n                bVar21 = (uVar12 & 0x8080) == 0;\n                if (bVar21) {\n                  uVar13 = uVar13 >> 0x10;\n                }\n                if (bVar21) {\n                  puVar9 = (uint *)((int)puVar18 + 6);\n                }\n                builtin_strncpy((char *)((int)puVar9 +\n                                        (-3 - (uint)CARRY1((byte)uVar13,(byte)uVar13))),", LE8",6);\n              }\n              else if (uVar13 == 0x800000) {\n                do {\n                  puVar18 = puVar9;\n                  uVar12 = *puVar18 + 0xfefefeff & ~*puVar18;\n                  uVar13 = uVar12 & 0x80808080;\n                  puVar9 = puVar18 + 1;\n                } while (uVar13 == 0);\n                bVar21 = (uVar12 & 0x8080) == 0;\n                if (bVar21) {\n                  uVar13 = uVar13 >> 0x10;\n                }\n                if (bVar21) {\n                  puVar9 = (uint *)((int)puVar18 + 6);\n                }\n                builtin_strncpy((char *)((int)puVar9 +\n                                        (-3 - (uint)CARRY1((byte)uVar13,(byte)uVar13))),", BE8",6);\n              }\n              else {\n                bVar20 = true;\n              }\n            } while (local_38 != (char *)0x0);\nLAB_0003d8e9:\n            if (bVar20) goto LAB_0003d8f4;\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else if (uVar13 == 0x5000000) {\n          bVar20 = false;\n          pcVar5 = ", Version5 EABI";\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n            pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n          }\n          if (local_38 != (char *)0x0) {\n            do {\n              uVar13 = -(int)local_38 & (uint)local_38;\n              local_38 = (char *)((uint)local_38 & ~uVar13);\n              if (uVar13 == 0x400) {\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                pcVar4 = ", hard-float ABI";\n                pcVar5 = &DAT_000b579f + ~uVar13;\n                for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n                  *pcVar5 = *pcVar4;\n                  pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                  pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                }\n              }\n              else if (uVar13 < 0x401) {\n                if (uVar13 == 0x200) {\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  pcVar4 = ", soft-float ABI";\n                  pcVar5 = &DAT_000b579f + ~uVar13;\n                  for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n                    *pcVar5 = *pcVar4;\n                    pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                  }\n                }\n                else {\nLAB_0003ef43:\n                  bVar20 = true;\n                }\n              }\n              else if (uVar13 == 0x400000) {\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x454c202c;\n                *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x38;\n              }\n              else {\n                if (uVar13 != 0x800000) goto LAB_0003ef43;\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x4542202c;\n                *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x38;\n              }\n            } while (local_38 != (char *)0x0);\n            goto LAB_0003d8e9;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          if (uVar13 != 0x3000000) goto LAB_0003c1eb;\n          pcVar5 = ", Version3 EABI";\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n            pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    else if (uVar2 == 0x53) {\n      switch((uint)local_38 & 0x7f) {\n      default:\n        pcVar4 = ", avr:<unknown>";\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *puVar19 = *(undefined4 *)pcVar4;\n          pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n          puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n        }\n        break;\n      case 1:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x313a72;\n        break;\n      case 2:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x323a72;\n        break;\n      case 3:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x333a72;\n        break;\n      case 4:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x343a72;\n        break;\n      case 5:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x353a72;\n        break;\n      case 6:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x363a72;\n        break;\n      case 0x19:\n        puVar8 = &UNK_0007c7e5;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x1f:\n        puVar8 = &UNK_0007c7ee;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x23:\n        puVar8 = &UNK_0007c7f7;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x33:\n        puVar8 = &UNK_0007c800;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 100:\n        puVar8 = &UNK_0007c809;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x65:\n        puVar8 = &UNK_0007c813;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x66:\n        puVar8 = &UNK_0007c81d;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x67:\n        puVar8 = &UNK_0007c827;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x68:\n        puVar8 = &UNK_0007c831;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x69:\n        puVar8 = &UNK_0007c83b;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x6a:\n        puVar8 = &UNK_0007c845;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x6b:\n        puVar8 = &UNK_0007c84f;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n      }\n      local_34 = &DAT_000b57a0;\n      if (((uint)local_38 & 0x80) == 0) {\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else {\n        iVar11 = -1;\n        do {\n          if (iVar11 == 0) break;\n          iVar11 = iVar11 + -1;\n          cVar1 = *(char *)local_34;\n          local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n        } while (cVar1 != '\0');\n        strncat((char *)&DAT_000b57a0,", link-relax",iVar11 + 0x401);\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 < 0x54) {\n      if (uVar2 == 0x4b) {\n        if (((uint)local_38 & 1) != 0) {\n          pcVar4 = ", non-PIC";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x100) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", D-Float";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x200) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", G-Float";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    else if (uVar2 == 0x57) {\nLAB_0003c0c0:\n      uVar13 = (uint)local_38 & 0xf0000000;\n      if (uVar13 == 0x20000000) {\n        pcVar4 = ", v850e1";\n        pcVar5 = (char *)&DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else if (uVar13 < 0x20000001) {\n        if (uVar13 == 0) {\n          pcVar4 = ", v850";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 0x10000000) {\n          DAT_000b57a0 = 0x3876202c;\n          DAT_000b57a4 = 0x653035;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\nLAB_0003c0ff:\n          pcVar4 = (char *)dcgettext(0,", unknown v850 architecture variant",5,&DAT_000b57a0);\n          strcat((char *)&DAT_000b57a0,pcVar4);\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar13 == 0x40000000) {\n        pcVar4 = ", v850e2v3";\n        pcVar5 = (char *)&DAT_000b57a0;\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else if (uVar13 == 0x60000000) {\n        pcVar4 = ", v850e3v5";\n        pcVar5 = (char *)&DAT_000b57a0;\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else {\n        if (uVar13 != 0x30000000) goto LAB_0003c0ff;\n        pcVar4 = ", v850e2";\n        pcVar5 = (char *)&DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 == 0x58) goto LAB_0003bb50;\n    goto LAB_0003b840;\n  }\n  if (uVar2 == 0xf) {\n    uVar13 = (uint)local_38 & 0xffff;\n    if (uVar13 == 0x210) {\n      pcVar4 = ", PA-RISC 1.1";\n      puVar9 = &DAT_000b57a0;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *(char *)puVar9 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      }\n    }\n    else if (uVar13 == 0x214) {\n      pcVar4 = ", PA-RISC 2.0";\n      puVar9 = &DAT_000b57a0;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *(char *)puVar9 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      }\n    }\n    else if (uVar13 == 0x20b) {\n      pcVar4 = ", PA-RISC 1.0";\n      puVar9 = &DAT_000b57a0;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *(char *)puVar9 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      }\n    }\n    if (((uint)local_38 & 0x10000) != 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", trapnil";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x20000) != 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7865202c;\n      *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x74;\n    }\n    if (((uint)local_38 & 0x40000) != 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x736c202c;\n      *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x62;\n    }\n    if (((uint)local_38 & 0x80000) != 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", wide";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x100000) != 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", no kabp";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x400000) == 0) {\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    else {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", lazyswap";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    goto LAB_0003b840;\n  }\n  if (0xf < uVar2) {\n    if (uVar2 == 0x15) {\n      if (((uint)local_38 & 3) != 0) {\n        local_20 = (uint)CONCAT12((char)((uint)local_38 & 3) + '0',0x7669);\n        builtin_strncpy(local_24,", ab",4);\n        strcpy((char *)&DAT_000b57a0,local_24);\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 == 0x16) {\n      if (((uint)local_38 & 1) != 0) {\n        pcVar4 = ", highgprs";\n        pcVar5 = (char *)&DAT_000b57a0;\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 == 0x14) {\n      if ((int)local_38 < 0) {\n        DAT_000b57a0 = 0x6d65202c;\n        DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x62);\n      }\n      if (((uint)local_38 & 0x10000) != 0) {\n        pcVar4 = (char *)0x0;\n        pcVar5 = (char *)dcgettext(0,", relocatable",5,&DAT_000b57a0);\n        strcat((char *)&DAT_000b57a0,pcVar5);\n      }\n      if (((uint)local_38 & 0x8000) == 0) {\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else {\n        pcVar4 = (char *)dcgettext(0,", relocatable-lib",5,pcVar4);\n        strcat((char *)&DAT_000b57a0,pcVar4);\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    goto LAB_0003b840;\n  }\n  if ((uVar2 == 8) || (uVar2 == 10)) {\n    pcVar5 = (char *)&DAT_000b57a0;\n    local_34 = &DAT_000b57a0;\n    puVar9 = (uint *)param_1;\n    if (((uint)local_38 & 1) != 0) {\n      pcVar4 = ", noreorder";\n      puVar9 = (uint *)pcVar5;\n      for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *puVar9 = *(undefined4 *)pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -8 + 4;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -8 + 4);\n      }\n    }\n    pcVar14 = local_38;\n    if (((uint)local_38 & 2) != 0) {\n      uVar13 = 0xffffffff;\n      pcVar14 = pcVar5;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar14;\n        pcVar14 = pcVar14 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = (char *)~uVar13;\n      builtin_strncpy(pcVar14 + 0xb579f,", pic",6);\n      puVar9 = local_34;\n    }\n    if (((uint)local_38 & 4) != 0) {\n      uVar13 = 0xffffffff;\n      pcVar4 = pcVar5;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", cpic";\n      puVar9 = (uint *)pcVar14;\n      for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *(char *)puVar9 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      }\n    }\n    if (((uint)local_38 & 0x10) != 0) {\n      uVar13 = 0xffffffff;\n      pcVar4 = pcVar5;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", ugen_reserved";\n      puVar9 = (uint *)pcVar14;\n      for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *puVar9 = *(undefined4 *)pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -8 + 4;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -8 + 4);\n      }\n    }\n    if (((uint)local_38 & 0x20) != 0) {\n      uVar13 = 0xffffffff;\n      pcVar4 = pcVar5;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", abi2";\n      puVar9 = (uint *)pcVar14;\n      for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *(char *)puVar9 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      }\n    }\n    if (((uint)local_38 & 0x80) != 0) {\n      uVar13 = 0xffffffff;\n      pcVar4 = pcVar5;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", odk first";\n      puVar9 = (uint *)pcVar14;\n      for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *puVar9 = *(undefined4 *)pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -8 + 4;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -8 + 4);\n      }\n    }\n    if (((uint)local_38 & 0x100) != 0) {\n      uVar13 = 0xffffffff;\n      pcVar4 = pcVar5;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", 32bitmode";\n      puVar9 = (uint *)pcVar14;\n      for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *puVar9 = *(undefined4 *)pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -8 + 4;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -8 + 4);\n      }\n    }\n    if (((uint)local_38 & 0x400) != 0) {\n      uVar13 = 0xffffffff;\n      pcVar4 = pcVar5;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", nan2008";\n      puVar9 = (uint *)pcVar14;\n      for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *(char *)puVar9 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      }\n    }\n    if (((uint)local_38 & 0x200) != 0) {\n      uVar13 = 0xffffffff;\n      pcVar4 = pcVar5;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", fp64";\n      puVar9 = (uint *)pcVar14;\n      for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *(char *)puVar9 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      }\n    }\n    uVar13 = (uint)local_38 & 0xff0000;\n    if (uVar13 == 0x8c0000) {\n      uVar13 = 0xffffffff;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar5;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar5 = (char *)&DAT_000b57a0;\n      pcVar14 = (char *)~uVar13;\n      builtin_strncpy(pcVar14 + 0xb579f,", xlr",6);\n    }\n    else if (uVar13 < 0x8c0001) {\n      if (uVar13 == 0x850000) {\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar14 = &DAT_000b579f + ~uVar13;\n        pcVar4 = ", 4650";\n        pcVar5 = pcVar14;\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      else if (uVar13 < 0x850001) {\n        if (uVar13 == 0x810000) {\n          uVar13 = 0xffffffff;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar14 = &DAT_000b579f + ~uVar13;\n          pcVar4 = ", 3900";\n          pcVar5 = pcVar14;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else if (uVar13 < 0x810001) {\n          pcVar5 = (char *)puVar9;\n          if (uVar13 != 0) goto LAB_0003d280;\n        }\n        else if (uVar13 == 0x820000) {\n          uVar13 = 0xffffffff;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar14 = &DAT_000b579f + ~uVar13;\n          pcVar4 = ", 4010";\n          pcVar5 = pcVar14;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else {\n          if (uVar13 != 0x830000) goto LAB_0003d280;\n          uVar13 = 0xffffffff;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar14 = &DAT_000b579f + ~uVar13;\n          pcVar4 = ", 4100";\n          pcVar5 = pcVar14;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n      }\n      else if (uVar13 == 0x880000) {\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar14 = &DAT_000b579f + ~uVar13;\n        pcVar4 = ", 4111";\n        pcVar5 = pcVar14;\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      else if (uVar13 < 0x880001) {\n        if (uVar13 != 0x870000) goto LAB_0003d280;\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar14 = &DAT_000b579f + ~uVar13;\n        pcVar4 = ", 4120";\n        pcVar5 = pcVar14;\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      else if (uVar13 == 0x8a0000) {\n        uVar13 = 0xffffffff;\n        pcVar4 = pcVar5;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar14 = (char *)~uVar13;\n        builtin_strncpy(pcVar14 + 0xb579f,", sb1",6);\n      }\n      else {\n        if (uVar13 != 0x8b0000) goto LAB_0003d280;\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar14 = &DAT_000b579f + ~uVar13;\n        pcVar4 = ", octeon";\n        pcVar5 = pcVar14;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n    }\n    else if (uVar13 == 0x930000) {\n      uVar13 = 0xffffffff;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar5;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", interaptiv-mr2";\n      pcVar5 = pcVar14;\n      for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    else if (uVar13 < 0x930001) {\n      if (uVar13 == 0x8e0000) {\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar14 = &DAT_000b579f + ~uVar13;\n        pcVar4 = ", octeon3";\n        pcVar5 = pcVar14;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      else if (uVar13 < 0x8e0001) {\n        if (uVar13 == 0x8d0000) {\n          uVar13 = 0xffffffff;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar14 = &DAT_000b579f + ~uVar13;\n          pcVar4 = ", octeon2";\n          pcVar5 = pcVar14;\n          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else {\nLAB_0003d280:\n          pcVar5 = (char *)0x0;\n          pcVar4 = (char *)dcgettext(0,", unknown CPU",5,pcVar4);\n          strcat((char *)&DAT_000b57a0,pcVar4);\n          pcVar14 = extraout_EDX;\n        }\n      }\n      else if (uVar13 == 0x910000) {\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar14 = &DAT_000b579f + ~uVar13;\n        pcVar4 = ", 5400";\n        pcVar5 = pcVar14;\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      else {\n        if (uVar13 != 0x920000) goto LAB_0003d280;\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar14 = &DAT_000b579f + ~uVar13;\n        pcVar4 = ", 5900";\n        pcVar5 = pcVar14;\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n    }\n    else if (uVar13 == 0xa00000) {\n      uVar13 = 0xffffffff;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar5;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", loongson-2e";\n      pcVar5 = pcVar14;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    else if (uVar13 < 0xa00001) {\n      if (uVar13 == 0x980000) {\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar14 = &DAT_000b579f + ~uVar13;\n        pcVar4 = ", 5500";\n        pcVar5 = pcVar14;\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      else {\n        if (uVar13 != 0x990000) goto LAB_0003d280;\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar14 = &DAT_000b579f + ~uVar13;\n        pcVar4 = ", 9000";\n        pcVar5 = pcVar14;\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n    }\n    else if (uVar13 == 0xa10000) {\n      uVar13 = 0xffffffff;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar5;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", loongson-2f";\n      pcVar5 = pcVar14;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    else {\n      if (uVar13 != 0xa20000) goto LAB_0003d280;\n      uVar13 = 0xffffffff;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar5;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", loongson-3a";\n      pcVar5 = pcVar14;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    local_34 = &DAT_000b57a0;\n    uVar13 = (uint)local_38 & 0xf000;\n    if (uVar13 == 0x2000) {\n      uVar13 = 0xffffffff;\n      puVar9 = local_34;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *(char *)puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while (cVar1 != '\0');\n      pcVar14 = (char *)~uVar13;\n      builtin_strncpy(pcVar14 + 0xb579f,", o64",6);\n    }\n    else if (uVar13 < 0x2001) {\n      if (uVar13 != 0) {\n        if (uVar13 == 0x1000) {\n          uVar13 = 0xffffffff;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pcVar14 = (char *)~uVar13;\n          builtin_strncpy(pcVar14 + 0xb579f,", o32",6);\n        }\n        else {\nLAB_0003e7da:\n          pcVar4 = (char *)dcgettext(0,", unknown ABI",5,pcVar5);\n          strcat((char *)&DAT_000b57a0,pcVar4);\n          pcVar14 = extraout_EDX_01;\n        }\n      }\n    }\n    else if (uVar13 == 0x3000) {\n      uVar13 = 0xffffffff;\n      puVar9 = local_34;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *(char *)puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", eabi32";\n      pcVar5 = pcVar14;\n      for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    else {\n      if (uVar13 != 0x4000) goto LAB_0003e7da;\n      uVar13 = 0xffffffff;\n      puVar9 = local_34;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *(char *)puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", eabi64";\n      pcVar5 = pcVar14;\n      for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x8000000) != 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = local_34;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *(char *)puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", mdmx";\n      pcVar5 = pcVar14;\n      for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x4000000) != 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = local_34;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *(char *)puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", mips16";\n      pcVar5 = pcVar14;\n      for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x2000000) != 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = local_34;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *(char *)puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while (cVar1 != '\0');\n      pcVar14 = &DAT_000b579f + ~uVar13;\n      pcVar4 = ", micromips";\n      pcVar5 = pcVar14;\n      for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *(undefined4 *)pcVar5 = *(undefined4 *)pcVar4;\n        pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n        pcVar5 = pcVar5 + (uint)bVar22 * -8 + 4;\n      }\n    }\n    uVar13 = (uint)local_38 & 0xf0000000;\n    if (uVar13 == 0x50000000) {\n      uVar13 = 0xffffffff;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *(char *)local_34;\n        local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n      } while (cVar1 != '\0');\n      pcVar4 = ", mips32";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    else if (uVar13 < 0x50000001) {\n      if (uVar13 == 0x20000000) {\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *(char *)local_34;\n          local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n        } while (cVar1 != '\0');\n        *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x696d202c;\n        *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x337370;\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else if (uVar13 < 0x20000001) {\n        if (uVar13 == 0) {\n          uVar13 = 0xffffffff;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)local_34;\n            local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x696d202c;\n          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x317370;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 0x10000000) {\n          uVar13 = 0xffffffff;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)local_34;\n            local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x696d202c;\n          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x327370;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\nLAB_0003e94f:\n          pcVar4 = (char *)dcgettext(0,", unknown ISA",5,pcVar14);\n          strcat((char *)&DAT_000b57a0,pcVar4);\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar13 == 0x30000000) {\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *(char *)local_34;\n          local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n        } while (cVar1 != '\0');\n        *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x696d202c;\n        *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x347370;\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else {\n        if (uVar13 != 0x40000000) goto LAB_0003e94f;\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *(char *)local_34;\n          local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n        } while (cVar1 != '\0');\n        *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x696d202c;\n        *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x357370;\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar13 == 0x80000000) {\n      uVar13 = 0xffffffff;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *(char *)local_34;\n        local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n      } while (cVar1 != '\0');\n      pcVar4 = ", mips64r2";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    else if (uVar13 < 0x80000001) {\n      if (uVar13 == 0x60000000) {\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *(char *)local_34;\n          local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n        } while (cVar1 != '\0');\n        pcVar4 = ", mips64";\n        pcVar5 = &DAT_000b579f + ~uVar13;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else {\n        if (uVar13 != 0x70000000) goto LAB_0003e94f;\n        uVar13 = 0xffffffff;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *(char *)local_34;\n          local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n        } while (cVar1 != '\0');\n        pcVar4 = ", mips32r2";\n        pcVar5 = &DAT_000b579f + ~uVar13;\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar13 == 0x90000000) {\n      uVar13 = 0xffffffff;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *(char *)local_34;\n        local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n      } while (cVar1 != '\0');\n      pcVar4 = ", mips32r6";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    else {\n      if (uVar13 != 0xa0000000) goto LAB_0003e94f;\n      uVar13 = 0xffffffff;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *(char *)local_34;\n        local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n      } while (cVar1 != '\0');\n      pcVar4 = ", mips64r6";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    goto LAB_0003b840;\n  }\n  if (uVar2 != 4) goto LAB_0003b840;\n  uVar13 = (uint)local_38 & 0x3818000;\n  if (uVar13 == 0x1000000) {\n    pcVar4 = ", m68000";\n    pcVar5 = (char *)&DAT_000b57a0;\n    for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n      *pcVar5 = *pcVar4;\n      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n    }\n    local_38 = *(char **)(param_1 + 0x3c);\n    goto LAB_0003b840;\n  }\n  if (uVar13 == 0x810000) {\n    DAT_000b57a0 = 0x7063202c;\n    DAT_000b57a4 = 0x323375;\n    local_38 = *(char **)(param_1 + 0x3c);\n    goto LAB_0003b840;\n  }\n  if (uVar13 == 0x2000000) {\n    pcVar4 = ", fido_a";\n    pcVar5 = (char *)&DAT_000b57a0;\n    for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n      *pcVar5 = *pcVar4;\n      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n    }\n    local_38 = *(char **)(param_1 + 0x3c);\n    goto LAB_0003b840;\n  }\n  pcVar4 = (char *)dcgettext(0,"unknown",5);\n  local_3c = (char *)dcgettext(0,"unknown mac",5);\n  switch((uint)local_38 & 0xf) {\n  default:\n    uVar13 = 0xffffffff;\n    pcVar5 = (char *)&DAT_000b57a0;\n    do {\n      if (uVar13 == 0) break;\n      uVar13 = uVar13 - 1;\n      cVar1 = *pcVar5;\n      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n    } while (cVar1 != '\0');\n    pcVar5 = ", cf, isa ";\n    pcVar14 = &DAT_000b579f + ~uVar13;\n    for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n      *pcVar14 = *pcVar5;\n      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      pcVar14 = pcVar14 + (uint)bVar22 * -2 + 1;\n    }\n    strcpy((char *)(~uVar13 + 0xb57a9),pcVar4);\n    goto LAB_0003c31a;\n  case 1:\n    local_40 = ", nodiv";\n    pcVar4 = "A";\n    goto code_r0x0003c39b;\n  case 2:\n    pcVar4 = "A";\n    break;\n  case 3:\n    pcVar4 = "A+";\n    break;\n  case 4:\n    pcVar4 = "B";\n    local_40 = ", nousp";\n    goto code_r0x0003c39b;\n  case 5:\n    pcVar4 = "B";\n    break;\n  case 6:\n    pcVar4 = "C";\n    break;\n  case 7:\n    local_40 = ", nodiv";\n    pcVar4 = "C";\ncode_r0x0003c39b:\n    uVar13 = 0xffffffff;\n    pcVar5 = (char *)&DAT_000b57a0;\n    do {\n      if (uVar13 == 0) break;\n      uVar13 = uVar13 - 1;\n      cVar1 = *pcVar5;\n      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n    } while (cVar1 != '\0');\n    cVar1 = *pcVar4;\n    uVar13 = ~uVar13;\n    pcVar4 = ", cf, isa ";\n    pcVar5 = &DAT_000b579f + uVar13;\n    for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n      *pcVar5 = *pcVar4;\n      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n    }\n    *(char *)(uVar13 + 0xb57a9) = cVar1;\n    uVar3 = *(undefined4 *)local_40;\n    *(undefined4 *)((int)&DAT_000b57ac + uVar13 + 2) = *(undefined4 *)(local_40 + 4);\n    *(undefined4 *)(uVar13 + 0xb57aa) = uVar3;\n    goto LAB_0003c31a;\n  }\n  uVar13 = 0xffffffff;\n  pcVar5 = (char *)&DAT_000b57a0;\n  do {\n    if (uVar13 == 0) break;\n    uVar13 = uVar13 - 1;\n    cVar1 = *pcVar5;\n    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n  } while (cVar1 != '\0');\n  pcVar5 = ", cf, isa ";\n  pcVar14 = &DAT_000b579f + ~uVar13;\n  for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n    *pcVar14 = *pcVar5;\n    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n    pcVar14 = pcVar14 + (uint)bVar22 * -2 + 1;\n  }\n  strcpy((char *)(~uVar13 + 0xb57a9),pcVar4);\nLAB_0003c31a:\n  local_34 = &DAT_000b57a0;\n  if (((uint)local_38 & 0x40) != 0) {\n    uVar13 = 0xffffffff;\n    puVar9 = local_34;\n    do {\n      if (uVar13 == 0) break;\n      uVar13 = uVar13 - 1;\n      cVar1 = *(char *)puVar9;\n      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n    } while (cVar1 != '\0');\n    *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6c66202c;\n    *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x74616f;\n  }\n  uVar13 = (uint)local_38 & 0x30;\n  if (uVar13 == 0x10) {\n    local_3c = "mac";\nLAB_0003c354:\n    uVar13 = 0xffffffff;\n    do {\n      if (uVar13 == 0) break;\n      uVar13 = uVar13 - 1;\n      cVar1 = *(char *)local_34;\n      local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n    } while (cVar1 != '\0');\n    *(undefined2 *)(&DAT_000b579f + ~uVar13) = 0x202c;\n    strcpy((char *)((int)&DAT_000b57a0 + ~uVar13 + 1),local_3c);\n    local_38 = *(char **)(param_1 + 0x3c);\n  }\n  else {\n    if (0x10 < uVar13) {\n      if (uVar13 == 0x20) {\n        local_3c = "emac";\n      }\n      else {\n        if (uVar13 != 0x30) goto LAB_0003e4f5;\n        local_3c = "emac_b";\n      }\n      goto LAB_0003c354;\n    }\n    if (uVar13 == 0) {\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    else {\nLAB_0003e4f5:\n      if (local_3c != (char *)0x0) goto LAB_0003c354;\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n  }\nLAB_0003b840:\n  pcVar4 = (char *)dcgettext(0,"  Flags:                             0x%lx%s\n",5);\n  printf(pcVar4,local_38,&DAT_000b57a0);\n  uVar3 = *(undefined4 *)(param_1 + 0x44);\n  pcVar4 = (char *)dcgettext(0,"  Size of this header:               %ld (bytes)\n",5);\n  printf(pcVar4,uVar3);\n  uVar3 = *(undefined4 *)(param_1 + 0x48);\n  pcVar4 = (char *)dcgettext(0,"  Size of program headers:           %ld (bytes)\n",5);\n  printf(pcVar4,uVar3);\n  uVar3 = *(undefined4 *)(param_1 + 0x4c);\n  pcVar4 = (char *)dcgettext(0,"  Number of program headers:         %ld",5);\n  printf(pcVar4,uVar3);\n  if (((*(int *)(param_1 + 0x5c) != 0) && (*(int *)(param_1 + 0x4c) == 0xffff)) &&\n     (iVar11 = *(int *)(*(int *)(param_1 + 0x5c) + 0x2c), iVar11 != 0)) {\n    printf(" (%ld)",iVar11);\n  }\n  puVar8 = PTR_stdout_000b3fd8;\n  putc(10,*(FILE **)PTR_stdout_000b3fd8);\n  uVar3 = *(undefined4 *)(param_1 + 0x50);\n  pcVar4 = (char *)dcgettext(0,"  Size of section headers:           %ld (bytes)\n",5);\n  printf(pcVar4,uVar3);\n  uVar3 = *(undefined4 *)(param_1 + 0x54);\n  pcVar4 = (char *)dcgettext(0,"  Number of section headers:         %ld",5);\n  printf(pcVar4,uVar3);\n  if ((*(int *)(param_1 + 0x5c) != 0) && (*(int *)(param_1 + 0x54) == 0)) {\n    printf(" (%ld)",*(undefined4 *)(*(int *)(param_1 + 0x5c) + 0x20));\n  }\n  putc(10,*(FILE **)puVar8);\n  uVar3 = *(undefined4 *)(param_1 + 0x58);\n  pcVar4 = (char *)dcgettext(0,"  Section header string table index: %ld",5);\n  printf(pcVar4,uVar3);\n  if (*(int *)(param_1 + 0x5c) == 0) {\n    uVar13 = *(uint *)(param_1 + 0x58);\nLAB_0003b994:\n    if ((uVar13 != 0) && (*(uint *)(param_1 + 0x54) <= uVar13)) {\n      pcVar4 = (char *)dcgettext(0," <corrupt: out of range>",5);\n      printf(pcVar4);\n    }\n  }\n  else {\n    uVar13 = *(uint *)(param_1 + 0x58);\n    if (uVar13 != 0xffff) goto LAB_0003b994;\n    printf(" (%u)",*(undefined4 *)(*(int *)(param_1 + 0x5c) + 0x28));\n  }\n  putc(10,*(FILE **)puVar8);\nLAB_0003b371:\n  __ptr = *(void **)(param_1 + 0x5c);\n  if (__ptr == (void *)0x0) {\n    return 1;\n  }\n  if ((*(int *)(param_1 + 0x4c) == 0xffff) && (*(int *)((int)__ptr + 0x2c) != 0)) {\n    *(int *)(param_1 + 0x4c) = *(int *)((int)__ptr + 0x2c);\n  }\n  uVar13 = *(uint *)(param_1 + 0x54);\n  if (uVar13 == 0) {\n    uVar13 = *(uint *)((int)__ptr + 0x20);\n    *(uint *)(param_1 + 0x54) = uVar13;\n  }\n  uVar12 = *(uint *)(param_1 + 0x58);\n  if (uVar12 == 0xffff) {\n    uVar12 = *(uint *)((int)__ptr + 0x28);\n    *(uint *)(param_1 + 0x58) = uVar12;\n  }\n  if (uVar13 <= uVar12) {\n    param_1[0x58] = '\0';\n    param_1[0x59] = '\0';\n    param_1[0x5a] = '\0';\n    param_1[0x5b] = '\0';\n  }\n  free(__ptr);\n  param_1[0x5c] = '\0';\n  param_1[0x5d] = '\0';\n  param_1[0x5e] = '\0';\n  param_1[0x5f] = '\0';\n  return 1;\n}" (type_identifier "undefined4") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_0003b300(char *param_1)" (identifier "FUN_0003b300") (parameter_list "(char *param_1)" (( "(") (parameter_declaration "char *param_1" (primitive_type "char") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  char cVar1;\n  ushort uVar2;\n  void *__ptr;\n  undefined4 uVar3;\n  char *pcVar4;\n  char *pcVar5;\n  Elf32_Ehdr *pEVar6;\n  int iVar7;\n  undefined *puVar8;\n  uint *puVar9;\n  size_t sVar10;\n  int extraout_ECX;\n  undefined4 extraout_ECX_00;\n  undefined4 extraout_ECX_01;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  int iVar11;\n  undefined4 extraout_ECX_04;\n  undefined4 extraout_ECX_05;\n  undefined4 extraout_ECX_06;\n  undefined4 extraout_ECX_07;\n  undefined4 extraout_ECX_08;\n  undefined4 extraout_ECX_09;\n  undefined4 extraout_ECX_10;\n  undefined4 extraout_ECX_11;\n  undefined4 extraout_ECX_12;\n  undefined4 extraout_ECX_13;\n  undefined4 extraout_ECX_14;\n  undefined4 extraout_ECX_15;\n  undefined4 extraout_ECX_16;\n  undefined4 extraout_ECX_17;\n  undefined4 extraout_ECX_18;\n  undefined4 extraout_ECX_19;\n  undefined4 extraout_ECX_20;\n  uint uVar12;\n  uint uVar13;\n  char *pcVar14;\n  char *extraout_EDX;\n  undefined4 extraout_EDX_00;\n  char *extraout_EDX_01;\n  byte bVar15;\n  undefined1 *puVar16;\n  uint uVar17;\n  uint *puVar18;\n  undefined4 *puVar19;\n  bool bVar20;\n  bool bVar21;\n  byte bVar22;\n  char *local_40;\n  char *local_3c;\n  char *local_38;\n  uint *local_34;\n  byte *local_30;\n  char local_24 [4];\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  bVar22 = 0;\n  uStack_14 = 0x3b30b;\n  if (*(int *)(param_1 + 0x10) != 0x464c457f) {\n    uVar3 = dcgettext(0,"Not an ELF file - it has the wrong magic bytes at the start\n",5);\n    error(uVar3);\n    return 0;\n  }\n  FUN_0005d920(*(undefined2 *)(param_1 + 0x42));\n  if (DAT_000b6344 == 0) goto LAB_0003b371;\n  pcVar4 = (char *)dcgettext(0,"ELF Header:\n",5);\n  printf(pcVar4);\n  pcVar4 = (char *)dcgettext(0,"  Magic:   ",5);\n  printf(pcVar4);\n  local_30 = (byte *)(param_1 + 0x10);\n  do {\n    printf("%2.2x ",(uint)*local_30);\n    local_30 = local_30 + 1;\n  } while ((byte *)(param_1 + 0x20) != local_30);\n  putchar(10);\n  cVar1 = param_1[0x14];\n  pcVar4 = "ELF32";\n  if (cVar1 != '\x01') {\n    if (cVar1 == '\0') {\n      pcVar4 = (char *)dcgettext(0,&DAT_00076afd,5);\n    }\n    else {\n      pcVar4 = "ELF64";\n      if (cVar1 != '\x02') {\n        pcVar4 = &DAT_000b5c40;\n        pcVar5 = (char *)dcgettext(0,"<unknown: %x>",5);\n        snprintf(&DAT_000b5c40,0x20,pcVar5,cVar1);\n      }\n    }\n  }\n  pcVar5 = (char *)dcgettext(0,"  Class:                             %s\n",5);\n  printf(pcVar5,pcVar4);\n  cVar1 = param_1[0x15];\n  if (cVar1 == '\x01') {\n    pcVar4 = "2\'s complement, little endian";\nLAB_0003c46b:\n    puVar8 = (undefined *)dcgettext(0,pcVar4,5);\n  }\n  else {\n    if (cVar1 == '\0') {\n      pcVar4 = "none";\n      goto LAB_0003c46b;\n    }\n    if (cVar1 == '\x02') {\n      pcVar4 = "2\'s complement, big endian";\n      goto LAB_0003c46b;\n    }\n    puVar8 = &DAT_000b5c20;\n    pcVar4 = (char *)dcgettext(0,"<unknown: %x>",5);\n    snprintf(&DAT_000b5c20,0x20,pcVar4,cVar1);\n  }\n  pcVar5 = (char *)dcgettext(0,"  Data:                              %s\n",5);\n  pcVar4 = "(current)";\n  printf(pcVar5,puVar8);\n  bVar15 = param_1[0x16];\n  if ((bVar15 != 1) && (pcVar4 = "", bVar15 != 0)) {\n    pcVar4 = (char *)dcgettext(0,"<unknown: %lx>",5);\n    bVar15 = param_1[0x16];\n  }\n  pcVar5 = (char *)dcgettext(0,"  Version:                           %d %s\n",5);\n  printf(pcVar5,(uint)bVar15,pcVar4);\n  uVar3 = FUN_000241c0();\n  pcVar4 = (char *)dcgettext(0,"  OS/ABI:                            %s\n",5);\n  printf(pcVar4,uVar3);\n  bVar15 = param_1[0x18];\n  pcVar4 = (char *)dcgettext(0,"  ABI Version:                       %d\n",5);\n  printf(pcVar4,(uint)bVar15);\n  uVar3 = FUN_0001c2b0();\n  pcVar4 = (char *)dcgettext(0,"  Type:                              %s\n",5);\n  printf(pcVar4,uVar3);\n  uVar3 = FUN_0001c3f0();\n  pcVar4 = (char *)dcgettext(0,"  Machine:                           %s\n",5);\n  printf(pcVar4,uVar3);\n  uVar3 = *(undefined4 *)(param_1 + 0x38);\n  pcVar5 = (char *)dcgettext(0,"  Version:                           0x%lx\n",5);\n  pcVar4 = "%lld";\n  printf(pcVar5,uVar3);\n  pcVar5 = (char *)dcgettext(0,"  Entry point address:               ",5);\n  printf(pcVar5);\n  FUN_0001e910();\n  pcVar5 = (char *)dcgettext(0,"\n  Start of program headers:          ",5);\n  printf(pcVar5);\n  printf("%lld",*(undefined4 *)(param_1 + 0x28),*(undefined4 *)(param_1 + 0x2c));\n  pcVar5 = (char *)dcgettext(0," (bytes into file)\n  Start of section headers:          ",5);\n  printf(pcVar5);\n  printf("%lld",*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34));\n  pcVar5 = (char *)dcgettext(0," (bytes into file)\n",5);\n  printf(pcVar5);\n  local_38 = *(char **)(param_1 + 0x3c);\n  uVar2 = *(ushort *)(param_1 + 0x42);\n  DAT_000b57a0 = DAT_000b57a0 & 0xffffff00;\n  if (local_38 == (char *)0x0) goto LAB_0003b840;\n  if (uVar2 == 0x5b) {\nLAB_0003bdf2:\n    if (((uint)local_38 & 0x10) != 0) {\n      pcVar4 = ", new calling convention";\n      pcVar5 = (char *)&DAT_000b57a0;\n      for (iVar11 = 0x19; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x20) == 0) {\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    else {\n      uVar13 = 0xffffffff;\n      pcVar4 = (char *)&DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        cVar1 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n      } while (cVar1 != '\0');\n      pcVar4 = ", gnu calling convention";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0x19; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    goto LAB_0003b840;\n  }\n  if (0x5b < uVar2) {\n    if (uVar2 == 0xc3) {\nLAB_0003cc32:\n      switch((uint)local_38 & 0xff) {\n      default:\n        if (uVar2 == 0x5d) {\n          puVar9 = (uint *)", Unknown ARCompact";\n          puVar18 = &DAT_000b57a0;\n          for (iVar11 = 5; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar18 = *puVar9;\n            puVar9 = puVar9 + (uint)bVar22 * -2 + 1;\n            puVar18 = puVar18 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else {\n          pcVar4 = ", Unknown ARC";\n          puVar9 = &DAT_000b57a0;\n          for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(char *)puVar9 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          }\n        }\n        break;\n      case 2:\n        pcVar4 = ", ARC600";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 3:\n        pcVar4 = ", ARC700";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 4:\n        pcVar4 = ", ARC601";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 5:\n        pcVar4 = ", ARC EM";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 6:\n        pcVar4 = ", ARC HS";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n      }\n      uVar13 = (uint)local_38 & 0xf00;\n      puVar9 = &DAT_000b57a0;\n      do {\n        puVar18 = puVar9;\n        uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n        uVar12 = uVar17 & 0x80808080;\n        puVar9 = puVar18 + 1;\n      } while (uVar12 == 0);\n      bVar20 = (uVar17 & 0x8080) == 0;\n      if (bVar20) {\n        uVar12 = uVar12 >> 0x10;\n      }\n      if (bVar20) {\n        puVar9 = (uint *)((int)puVar18 + 6);\n      }\n      pcVar4 = (char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12)));\n      if (uVar13 == 0x200) {\n        pcVar5 = ", (ABI:v2)";\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar4 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else if (uVar13 < 0x201) {\n        if (uVar13 == 0) {\n          pcVar5 = ", (ABI:legacy)";\n          for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar4 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\nLAB_0003e7fe:\n          pcVar5 = ", unrecognised ARC OSABI flag";\n          for (iVar11 = 0x1e; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar4 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar13 == 0x300) {\n        pcVar5 = ", v3 no-legacy-syscalls ABI";\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n          pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n          pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else {\n        if (uVar13 != 0x400) goto LAB_0003e7fe;\n        pcVar5 = ", v4 ABI";\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar4 = *pcVar5;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 < 0xc4) {\n      if (uVar2 == 0x69) {\n        pcVar4 = (char *)dcgettext(0,": architecture variant: ",5);\n        puVar9 = &DAT_000b57a0;\n        do {\n          puVar18 = puVar9;\n          uVar12 = *puVar18 + 0xfefefeff & ~*puVar18;\n          uVar13 = uVar12 & 0x80808080;\n          puVar9 = puVar18 + 1;\n        } while (uVar13 == 0);\n        bVar20 = (uVar12 & 0x8080) == 0;\n        if (bVar20) {\n          uVar13 = uVar13 >> 0x10;\n        }\n        if (bVar20) {\n          puVar9 = (uint *)((int)puVar18 + 6);\n        }\n        pcVar5 = stpcpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar13,(byte)uVar13))),\n                        pcVar4);\n        uVar13 = ((uint)local_38 & 0xff) - 0xb;\n        iVar11 = extraout_ECX;\n        if (uVar13 < 100) {\n          iVar11 = (int)&__DT_PLTGOT + *(int *)(&DAT_0008dec0 + uVar13 * 4);\n          switch((uint)local_38 & 0xff) {\n          case 0xb:\n            pcVar4 = "MSP430x11";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0xc:\n            pcVar4 = "MSP430x12";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0xd:\n            pcVar4 = "MSP430x13";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0xe:\n            pcVar4 = "MSP430x14";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0xf:\n            pcVar4 = "MSP430x15";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x10:\n            pcVar4 = "MSP430x16";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          default:\n            goto LAB_0003e9dc;\n          case 0x1f:\n            pcVar4 = "MSP430x31";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x20:\n            pcVar4 = "MSP430x32";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x21:\n            pcVar4 = "MSP430x33";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x29:\n            pcVar4 = "MSP430x41";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x2a:\n            pcVar4 = "MSP430x42";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x2b:\n            pcVar4 = "MSP430x43";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x2c:\n            pcVar4 = "MSP430x44";\n            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            break;\n          case 0x2d:\n            builtin_strncpy(pcVar5,"MSP430X",8);\n            break;\n          case 0x6e:\n            pcVar4 = "MSP430x11x1 ";\n            for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n          }\n        }\n        else {\nLAB_0003e9dc:\n          pcVar4 = (char *)0x0;\n          pcVar5 = (char *)dcgettext(0,": unknown",5,iVar11);\n          strcat((char *)&DAT_000b57a0,pcVar5);\n        }\n        if (((uint)local_38 & 0xffffff00) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          pcVar4 = (char *)dcgettext(0,": unknown extra flag bits also present",5,pcVar4);\n          strcat((char *)&DAT_000b57a0,pcVar4);\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 < 0x6a) {\n        if (uVar2 == 0x5d) goto LAB_0003cc32;\n        if (uVar2 < 0x5d) {\n          if (((uint)local_38 & 1) != 0) {\n            pcVar4 = ", no delay";\n            pcVar5 = (char *)&DAT_000b57a0;\n            for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else if (uVar2 == 99) goto LAB_0003bdf2;\n      }\n      else if (uVar2 == 0x8c) {\n        if (((uint)local_38 & 1) != 0) {\n          pcVar4 = ", relocatable module";\n          puVar9 = &DAT_000b57a0;\n          for (iVar11 = 0x15; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(char *)puVar9 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 < 0x8d) {\n        if (uVar2 == 0x6a) {\n          if (((uint)local_38 & 1) != 0) {\n            DAT_000b57a0 = 0x4950202c;\n            DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x43);\n          }\n          if (((uint)local_38 & 2) != 0) {\n            uVar13 = 0xffffffff;\n            pcVar4 = (char *)&DAT_000b57a0;\n            do {\n              if (uVar13 == 0) break;\n              uVar13 = uVar13 - 1;\n              cVar1 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            } while (cVar1 != '\0');\n            *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x4446202c;\n            *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x434950;\n          }\n          if (((uint)local_38 & 0x10) != 0) {\n            uVar13 = 0xffffffff;\n            pcVar4 = (char *)&DAT_000b57a0;\n            do {\n              if (uVar13 == 0) break;\n              uVar13 = uVar13 - 1;\n              cVar1 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            } while (cVar1 != '\0');\n            pcVar4 = ", code in L1";\n            pcVar5 = &DAT_000b579f + ~uVar13;\n            for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n          }\n          if (((uint)local_38 & 0x20) == 0) {\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\n            uVar13 = 0xffffffff;\n            pcVar4 = (char *)&DAT_000b57a0;\n            do {\n              if (uVar13 == 0) break;\n              uVar13 = uVar13 - 1;\n              cVar1 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            } while (cVar1 != '\0');\n            pcVar4 = ", data in L1";\n            pcVar5 = &DAT_000b579f + ~uVar13;\n            for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n      }\n      else if (uVar2 == 0xa7) {\n        uVar13 = (uint)local_38 & 0xf0000000;\n        uVar12 = (uint)local_38 & 0xf0;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 0x100; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *puVar19 = 0;\n          puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n        }\n        if (uVar12 == 0x20) {\nLAB_0003d15d:\n          iVar11 = snprintf((char *)&DAT_000b57a0,0x400,", %s",(&PTR_s_ABI_v0_000b333c)[uVar12 >> 4]\n                           );\n        }\n        else {\n          if (uVar12 < 0x21) {\n            if ((uVar12 == 0) || (uVar12 == 0x10)) goto LAB_0003d15d;\n          }\n          else if ((uVar12 == 0x40) || ((uVar12 == 0x50 || (uVar12 == 0x30)))) goto LAB_0003d15d;\n          DAT_000b57a0 = 0x753c202c;\n          iVar11 = 0x14;\n          DAT_000b57a4 = 0x6365726e;\n          _DAT_000b57a8 = 0x696e676f;\n          DAT_000b57ac = 0x2064657a;\n          DAT_000b57b0 = 0x3e494241;\n          DAT_000b57b4 = 0;\n        }\n        if (((uint)local_38 & 0xf) < 3) {\n          iVar7 = snprintf((char *)((int)&DAT_000b57a0 + iVar11),0x400U - iVar11,", %s",\n                           (&PTR_s_Andes_ELF_V1_3_or_older_000b3330)[(uint)local_38 & 0xf]);\n          uVar17 = iVar11 + iVar7;\n        }\n        else {\n          uVar17 = iVar11 + 0x23;\n          snprintf((char *)((int)&DAT_000b57a0 + iVar11),0x400U - iVar11,\n                   ", <unrecognized ELF version number>");\n        }\n        sVar10 = 0x400 - uVar17;\n        pcVar4 = (char *)((int)&DAT_000b57a0 + uVar17);\n        if (uVar12 == 0) {\n          iVar11 = snprintf(pcVar4,sVar10,", Andes Star v1.0, N1213HC, MAC, PERF1",&DAT_000b57a0);\n          if (uVar13 == 0x10000000) {\n            snprintf((char *)(uVar17 + 0xb57c6),0x400 - (uVar17 + 0x26),", 16b",iVar11);\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else if (uVar13 == 0x20000000) {\nLAB_0003d678:\n          iVar11 = snprintf(pcVar4,sVar10,", %s",(&PTR_DAT_000b331c)[(uint)local_38 >> 0x1c]);\n          iVar11 = iVar11 + uVar17;\n          uVar12 = (uint)local_38 & 0x100;\n          uVar3 = extraout_ECX_00;\n          if (uVar13 == 0x10000000) {\n            if (uVar12 != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 10;\n              uVar12 = snprintf(pcVar4,sVar10,", MFUSR_PC",uVar12);\n              uVar3 = extraout_ECX_20;\n            }\n            if (((uint)local_38 & 0x100000) == 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 5;\n              uVar12 = snprintf(pcVar4,sVar10,", MAC",uVar12);\n              uVar3 = extraout_ECX_19;\n            }\n            if (((uint)local_38 & 0x2000) != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 5;\n              uVar12 = snprintf(pcVar4,sVar10,", DIV",uVar12);\n              uVar3 = extraout_ECX_18;\n            }\n            if (((uint)local_38 & 0x4000) != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 5;\n              uVar12 = snprintf(pcVar4,sVar10,", 16b",uVar12);\n              uVar3 = extraout_ECX_10;\n            }\n          }\n          else {\n            if (uVar12 != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              if (((uint)local_38 & 0xe) == 0) {\n                iVar11 = iVar11 + 6;\n                uVar12 = snprintf(pcVar4,sVar10,", [B8]",uVar17);\n                uVar3 = extraout_ECX_01;\n              }\n              else {\n                iVar11 = iVar11 + 5;\n                uVar12 = snprintf(pcVar4,sVar10,", EX9",extraout_EDX_00);\n                uVar3 = extraout_ECX_11;\n              }\n            }\n            if (((uint)local_38 & 0x100000) != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 8;\n              uVar12 = snprintf(pcVar4,sVar10,", MAC_DX",uVar12);\n              uVar3 = extraout_ECX_09;\n            }\n            if (((uint)local_38 & 0x2000) != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 8;\n              uVar12 = snprintf(pcVar4,sVar10,", DIV_DX",uVar12);\n              uVar3 = extraout_ECX_14;\n            }\n            if (((uint)local_38 & 0x4000) != 0) {\n              sVar10 = 0x400 - iVar11;\n              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n              uVar13 = (uint)local_38 & 0xffffff0e;\n              if (((uint)local_38 & 0xe) == 0) {\n                pcVar5 = ", 16b";\n                uVar13 = uVar17;\n              }\n              else {\n                pcVar5 = ", IFC";\n              }\n              iVar11 = iVar11 + 5;\n              uVar12 = snprintf(pcVar4,sVar10,pcVar5,uVar13);\n              uVar3 = extraout_ECX_02;\n            }\n          }\n          if (((uint)local_38 & 0x200) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 7;\n            uVar12 = snprintf(pcVar4,sVar10,", PERF1",uVar12);\n            uVar3 = extraout_ECX_13;\n          }\n          if (((uint)local_38 & 0x400) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 7;\n            snprintf(pcVar4,sVar10,", PERF2",uVar12);\n            uVar3 = extraout_ECX_12;\n          }\n          uVar13 = (uint)local_38 & 0x1000000;\n          if (((uint)local_38 & 0x800) == 0) {\n            pcVar4 = local_38;\n            if (((uint)local_38 & 0x80000) != 0) {\nLAB_0003eba3:\n              sVar10 = 0x400 - iVar11;\n              pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 8;\n              pcVar4 = (char *)snprintf(pcVar5,sVar10,", FPU_DP",pcVar4);\n              goto LAB_0003ebc4;\n            }\n            if (uVar13 != 0) goto LAB_0003ebc8;\n          }\n          else {\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 8;\n            pcVar4 = (char *)snprintf(pcVar4,sVar10,", FPU_SP",local_38);\n            if (((uint)local_38 & 0x80000) != 0) goto LAB_0003eba3;\nLAB_0003ebc4:\n            if (uVar13 != 0) {\nLAB_0003ebc8:\n              sVar10 = 0x400 - iVar11;\n              pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);\n              iVar11 = iVar11 + 9;\n              snprintf(pcVar5,sVar10,", FPU_MAC",pcVar4);\n            }\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            uVar12 = (uint)local_38 >> 0x16 & 3;\n            if (uVar12 == 2) {\n              pcVar5 = ", FPU_REG:32/16";\n              uVar12 = uVar13;\n            }\n            else {\n              if (uVar12 != 3) {\n                if (uVar12 == 1) {\n                  iVar11 = iVar11 + 0xe;\n                  pcVar4 = (char *)snprintf(pcVar4,sVar10,", FPU_REG:16/8",0);\n                  uVar3 = extraout_ECX_16;\n                }\n                else {\n                  iVar11 = iVar11 + 0xd;\n                  pcVar4 = (char *)snprintf(pcVar4,sVar10,", FPU_REG:8/4",uVar13);\n                  uVar3 = extraout_ECX_06;\n                }\n                goto LAB_0003d76f;\n              }\n              pcVar5 = ", FPU_REG:32/32";\n              uVar12 = 3;\n            }\n            iVar11 = iVar11 + 0xf;\n            pcVar4 = (char *)snprintf(pcVar4,sVar10,pcVar5,uVar12);\n            uVar3 = extraout_ECX_17;\n          }\nLAB_0003d76f:\n          if (((uint)local_38 & 0x1000) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 7;\n            pcVar4 = (char *)snprintf(pcVar5,sVar10,", AUDIO",pcVar4);\n            uVar3 = extraout_ECX_05;\n          }\n          if (((uint)local_38 & 0x8000) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 5;\n            pcVar4 = (char *)snprintf(pcVar5,sVar10,", STR",pcVar4);\n            uVar3 = extraout_ECX_08;\n          }\n          if (((uint)local_38 & 0x10000) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 7;\n            snprintf(pcVar5,sVar10,", 16REG",pcVar4);\n            uVar3 = extraout_ECX_07;\n          }\n          if (((uint)local_38 & 0x20000) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            if (((uint)local_38 & 0xe) == 0) {\n              iVar11 = iVar11 + 7;\n              snprintf(pcVar4,sVar10,", VIDEO",uVar13);\n              uVar3 = extraout_ECX_03;\n            }\n            else {\n              iVar11 = iVar11 + 0xc;\n              snprintf(pcVar4,sVar10,", SATURATION",(uint)local_38 & 0xffffff0e);\n              uVar3 = extraout_ECX_15;\n            }\n          }\n          if (((uint)local_38 & 0x40000) != 0) {\n            sVar10 = 0x400 - iVar11;\n            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);\n            iVar11 = iVar11 + 7;\n            snprintf(pcVar4,sVar10,", ENCRP",uVar13);\n            uVar3 = extraout_ECX_04;\n          }\n          if (((uint)local_38 & 0x200000) == 0) {\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\n            snprintf((char *)((int)&DAT_000b57a0 + iVar11),0x400 - iVar11,", L2C",uVar3);\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else {\n          if (uVar13 < 0x20000001) {\n            if (uVar13 == 0x10000000) goto LAB_0003d678;\n          }\n          else if ((uVar13 == 0x30000000) || (uVar13 == 0x40000000)) goto LAB_0003d678;\n          snprintf(pcVar4,sVar10,", <unrecognized architecture>");\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 == 0xad) {\n        if (((uint)local_38 & 1) != 0) {\n          pcVar4 = ", 64-bit doubles";\n          puVar9 = &DAT_000b57a0;\n          for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(char *)puVar9 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          }\n        }\n        if (((uint)local_38 & 2) != 0) {\n          uVar13 = 0xffffffff;\n          puVar9 = &DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            uVar12 = *puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while ((char)uVar12 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7364202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x70;\n        }\n        if (((uint)local_38 & 4) != 0) {\n          uVar13 = 0xffffffff;\n          puVar9 = &DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            uVar12 = *puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while ((char)uVar12 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6970202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 100;\n        }\n        if (((uint)local_38 & 8) != 0) {\n          uVar13 = 0xffffffff;\n          puVar9 = &DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            uVar12 = *puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while ((char)uVar12 != '\0');\n          pcVar4 = ", RX ABI";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x40) != 0) {\n          puVar9 = &DAT_000b57a0;\n          pcVar4 = ", uses String instructions";\n          if (((uint)local_38 & 0x80) == 0) {\n            pcVar4 = ", bans String instructions";\n          }\n          do {\n            puVar18 = puVar9;\n            uVar12 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar13 = uVar12 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar13 == 0);\n          bVar20 = (uVar12 & 0x8080) == 0;\n          if (bVar20) {\n            uVar13 = uVar13 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          pcVar5 = (char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar13,(byte)uVar13)));\n          *(undefined4 *)pcVar5 = *(undefined4 *)pcVar4;\n          *(undefined4 *)(pcVar5 + 4) = *(undefined4 *)(pcVar4 + 4);\n          *(undefined4 *)(pcVar5 + 8) = *(undefined4 *)(pcVar4 + 8);\n          *(undefined4 *)(pcVar5 + 0xc) = *(undefined4 *)(pcVar4 + 0xc);\n          *(undefined4 *)(pcVar5 + 0x10) = *(undefined4 *)(pcVar4 + 0x10);\n          *(undefined4 *)(pcVar5 + 0x14) = *(undefined4 *)(pcVar4 + 0x14);\n          cVar1 = pcVar4[0x1a];\n          *(undefined2 *)(pcVar5 + 0x18) = *(undefined2 *)(pcVar4 + 0x18);\n          pcVar5[0x1a] = cVar1;\n        }\n        if (((uint)local_38 & 0x100) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          uVar13 = 0xffffffff;\n          puVar9 = &DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            uVar12 = *puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while ((char)uVar12 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x3256202c;\n          *(undefined1 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    else if (uVar2 == 0xfa) {\n      uVar13 = (uint)local_38 >> 8 & 0xffff;\n      if (uVar13 == 0x3200) {\n        pcVar4 = ", NFP-32xx";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n      else if (uVar13 == 0x6000) {\n        pcVar4 = ", NFP-6xxx";\n        puVar9 = &DAT_000b57a0;\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(char *)puVar9 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 < 0xfb) {\n      if (uVar2 == 0xdd) {\n        if (((uint)local_38 & 1) == 0) {\n          if (((uint)local_38 & 2) != 0) {\n            DAT_000b57a0 = 0x636d202c;\n            DAT_000b57a4 = 0x34326d;\n          }\n        }\n        else {\n          DAT_000b57a0 = 0x636d202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x6d);\n        }\n        if (((uint)local_38 & 4) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7267202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x36;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 == 0xf3) {\n        if (((uint)local_38 & 1) != 0) {\n          DAT_000b57a0 = 0x5652202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x43);\n        }\n        if (((uint)local_38 & 8) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x5652202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x45;\n        }\n        uVar13 = (uint)local_38 & 6;\n        if (uVar13 == 2) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", single-float ABI";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 < 3) {\n          if (uVar13 == 0) {\n            uVar13 = 0xffffffff;\n            pcVar4 = (char *)&DAT_000b57a0;\n            do {\n              if (uVar13 == 0) break;\n              uVar13 = uVar13 - 1;\n              cVar1 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            } while (cVar1 != '\0');\n            pcVar4 = ", soft-float ABI";\n            pcVar5 = &DAT_000b579f + ~uVar13;\n            for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\nLAB_0003e76f:\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else if (uVar13 == 4) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", double-float ABI";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          if (uVar13 != 6) goto LAB_0003e76f;\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", quad-float ABI";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 == 0xc5) {\n        uVar13 = (uint)local_38 & 0xc;\n        if (uVar13 == 8) {\n          DAT_000b57a0 = 0x3147202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x33);\n        }\n        else if (uVar13 == 0xc) {\n          DAT_000b57a0 = 0x3147202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x34);\n        }\n        else if (uVar13 == 4) {\n          DAT_000b57a0 = 0x3147202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x30);\n        }\n        if (((uint)local_38 & 1) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", 64-bit doubles";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    else if (uVar2 == 0x9041) {\nLAB_0003bb50:\n      if (((uint)local_38 & 0x30000000) == 0) {\n        puVar16 = &DAT_0007ca93;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined1 *)puVar19 = *puVar16;\n          puVar16 = puVar16 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 < 0x9042) {\n      if (uVar2 == 0x5441) {\n        uVar13 = (uint)local_38 & 0xff000000;\n        if (uVar13 == 0x4000000) {\n          pcVar4 = ", tomcat";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 < 0x4000001) {\n          if (uVar13 == 0x1000000) {\n            DAT_000b57a0 = 0x7266202c;\n            DAT_000b57a4 = 0x303035;\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else if (uVar13 < 0x1000001) {\n            if (uVar13 != 0) {\nLAB_0003d4b1:\n              DAT_000b57a0 = 0x7266202c;\n              DAT_000b57a4 = 0x3f3f3f;\n              local_38 = *(char **)(param_1 + 0x3c);\n            }\n          }\n          else if (uVar13 == 0x2000000) {\n            DAT_000b57a0 = 0x7266202c;\n            DAT_000b57a4 = 0x303033;\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\n            if (uVar13 != 0x3000000) goto LAB_0003d4b1;\n            pcVar4 = ", simple";\n            pcVar5 = (char *)&DAT_000b57a0;\n            for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else if (uVar13 == 0x6000000) {\n          DAT_000b57a0 = 0x7266202c;\n          DAT_000b57a4 = 0x303535;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 < 0x6000001) {\n          if (uVar13 != 0x5000000) goto LAB_0003d4b1;\n          DAT_000b57a0 = 0x7266202c;\n          DAT_000b57a4 = 0x303034;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 0x7000000) {\n          DAT_000b57a0 = 0x7266202c;\n          DAT_000b57a4 = 0x353034;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          if (uVar13 != 0x8000000) goto LAB_0003d4b1;\n          DAT_000b57a0 = 0x7266202c;\n          DAT_000b57a4 = 0x303534;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    else {\n      if (uVar2 == 0x9080) goto LAB_0003c0c0;\n      if (uVar2 == 0xf00d) {\n        uVar13 = (uint)local_38 & 0xff000000;\n        if (uVar13 == 0x2000000) {\n          pcVar4 = ", MeP C3";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else if (uVar13 < 0x2000001) {\n          if (uVar13 == 0) {\n            pcVar4 = ", generic MeP";\n            pcVar5 = (char *)&DAT_000b57a0;\n            for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n          }\n          else if (uVar13 == 0x1000000) {\n            pcVar4 = ", MeP C2";\n            pcVar5 = (char *)&DAT_000b57a0;\n            for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar5 = *pcVar4;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            }\n          }\n          else {\nLAB_0003ba2e:\n            pcVar4 = (char *)dcgettext(0,", <unknown MeP cpu type>",5,&DAT_00076943);\n            strcat((char *)&DAT_000b57a0,pcVar4);\n          }\n        }\n        else if (uVar13 == 0x8000000) {\n          pcVar4 = ", MeP C5";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else if (uVar13 == 0x10000000) {\n          pcVar4 = ", MeP H1";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else {\n          if (uVar13 != 0x4000000) goto LAB_0003ba2e;\n          pcVar4 = ", MeP C4";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        local_34 = &DAT_000b57a0;\n        pEVar6 = (Elf32_Ehdr *)((uint)local_38 & 0xff0000);\n        if (pEVar6 == (Elf32_Ehdr *)0x20000) {\n          uVar13 = 0xffffffff;\n          pEVar6 = (Elf32_Ehdr *)0x0;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pcVar4 = ", AVC2 coprocessor";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else if (pEVar6 < (Elf32_Ehdr *)0x20001) {\n          if (pEVar6 != (Elf32_Ehdr *)0x0) {\n            if (pEVar6 == &Elf32_Ehdr_00010000) {\n              uVar13 = 0xffffffff;\n              pEVar6 = (Elf32_Ehdr *)0x0;\n              puVar9 = local_34;\n              do {\n                if (uVar13 == 0) break;\n                uVar13 = uVar13 - 1;\n                cVar1 = *(char *)puVar9;\n                puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n              } while (cVar1 != '\0');\n              pcVar4 = ", AVC coprocessor";\n              pcVar5 = &DAT_000b579f + ~uVar13;\n              for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {\n                *pcVar5 = *pcVar4;\n                pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n              }\n            }\n            else {\nLAB_0003e6fc:\n              pcVar4 = (char *)dcgettext(0,"<unknown MeP copro type>",5,pEVar6);\n              pEVar6 = (Elf32_Ehdr *)strcat((char *)&DAT_000b57a0,pcVar4);\n            }\n          }\n        }\n        else if (pEVar6 == (Elf32_Ehdr *)&DAT_00030000) {\n          uVar13 = 0xffffffff;\n          pEVar6 = (Elf32_Ehdr *)0x0;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pcVar4 = ", FMAX coprocessor";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        else {\n          if (pEVar6 != (Elf32_Ehdr *)0x60000) goto LAB_0003e6fc;\n          uVar13 = 0xffffffff;\n          pEVar6 = (Elf32_Ehdr *)0x0;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pcVar4 = ", IVC2 coprocessor";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x100) != 0) {\n          uVar13 = 0xffffffff;\n          pEVar6 = (Elf32_Ehdr *)0x0;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pcVar4 = ", Built for Library";\n          puVar19 = (undefined4 *)(&DAT_000b579f + ~uVar13);\n          for (iVar11 = 5; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0xff) != 0) {\n          uVar13 = 0xffffffff;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          pEVar6 = (Elf32_Ehdr *)\n                   sprintf(&DAT_000b579f + ~uVar13,", Configuration Index: %#x",\n                           (uint)local_38 & 0xff,0);\n        }\n        if (((uint)local_38 & 0xfe00) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          pcVar4 = (char *)dcgettext(0,", unknown flags bits: %#x",5,pEVar6);\n          uVar13 = 0xffffffff;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)local_34;\n            local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          sprintf(&DAT_000b579f + ~uVar13,pcVar4,(uint)local_38 & 0xfe00);\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    goto LAB_0003b840;\n  }\n  if (uVar2 == 0x24) {\n    if (((uint)local_38 & 0xf0000000) == 0xf0000000) {\n      puVar9 = (uint *)", RH850 ABI";\n      puVar18 = &DAT_000b57a0;\n      for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *puVar18 = *puVar9;\n        puVar9 = puVar9 + (uint)bVar22 * -2 + 1;\n        puVar18 = puVar18 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x100000) != 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", V3 architecture";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 3) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", FPU not used";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x60) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", regmode: COMMON";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x300) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", r4 not used";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0xc00) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", r30 not used";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0x3000) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", r5 not used";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    if (((uint)local_38 & 0xc000) == 0) {\n      uVar13 = 0xffffffff;\n      puVar9 = &DAT_000b57a0;\n      do {\n        if (uVar13 == 0) break;\n        uVar13 = uVar13 - 1;\n        uVar12 = *puVar9;\n        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n      } while ((char)uVar12 != '\0');\n      pcVar4 = ", r2 not used";\n      pcVar5 = &DAT_000b579f + ~uVar13;\n      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n        *pcVar5 = *pcVar4;\n        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n      }\n    }\n    uVar13 = (uint)local_38 & 0xffff;\n    if (uVar13 == 0) {\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    else {\n      do {\n        uVar12 = -uVar13 & uVar13;\n        puVar9 = &DAT_000b57a0;\n        if (uVar12 == 0x200) {\n          do {\n            puVar18 = puVar9;\n            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar12 = uVar17 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar12 == 0);\n          bVar20 = (uVar17 & 0x8080) == 0;\n          if (bVar20) {\n            uVar12 = uVar12 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                          ", r4 free",10);\n        }\n        else if (uVar12 < 0x201) {\n          if (uVar12 == 0x20) {\n            do {\n              puVar18 = puVar9;\n              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n              uVar12 = uVar17 & 0x80808080;\n              puVar9 = puVar18 + 1;\n            } while (uVar12 == 0);\n            bVar20 = (uVar17 & 0x8080) == 0;\n            if (bVar20) {\n              uVar12 = uVar12 >> 0x10;\n            }\n            if (bVar20) {\n              puVar9 = (uint *)((int)puVar18 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                            ", regmode:22",0xd);\n          }\n          else if (uVar12 < 0x21) {\n            if (uVar12 == 1) {\n              do {\n                puVar18 = puVar9;\n                uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n                uVar12 = uVar17 & 0x80808080;\n                puVar9 = puVar18 + 1;\n              } while (uVar12 == 0);\n              bVar20 = (uVar17 & 0x8080) == 0;\n              if (bVar20) {\n                uVar12 = uVar12 >> 0x10;\n              }\n              if (bVar20) {\n                puVar9 = (uint *)((int)puVar18 + 6);\n              }\n              builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12)))\n                              ,", double precision FPU",0x17);\n            }\n            else if (uVar12 == 2) {\n              do {\n                puVar18 = puVar9;\n                uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n                uVar12 = uVar17 & 0x80808080;\n                puVar9 = puVar18 + 1;\n              } while (uVar12 == 0);\n              bVar20 = (uVar17 & 0x8080) == 0;\n              if (bVar20) {\n                uVar12 = uVar12 >> 0x10;\n              }\n              if (bVar20) {\n                puVar9 = (uint *)((int)puVar18 + 6);\n              }\n              builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12)))\n                              ,", single precision FPU",0x17);\n            }\n          }\n          else if (uVar12 == 0x40) {\n            do {\n              puVar18 = puVar9;\n              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n              uVar12 = uVar17 & 0x80808080;\n              puVar9 = puVar18 + 1;\n            } while (uVar12 == 0);\n            bVar20 = (uVar17 & 0x8080) == 0;\n            if (bVar20) {\n              uVar12 = uVar12 >> 0x10;\n            }\n            if (bVar20) {\n              puVar9 = (uint *)((int)puVar18 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                            ", regmode:23",0xd);\n          }\n          else if (uVar12 == 0x100) {\n            do {\n              puVar18 = puVar9;\n              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n              uVar12 = uVar17 & 0x80808080;\n              puVar9 = puVar18 + 1;\n            } while (uVar12 == 0);\n            bVar20 = (uVar17 & 0x8080) == 0;\n            if (bVar20) {\n              uVar12 = uVar12 >> 0x10;\n            }\n            if (bVar20) {\n              puVar9 = (uint *)((int)puVar18 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                            ", r4 fixed",0xb);\n          }\n        }\n        else if (uVar12 == 0x1000) {\n          do {\n            puVar18 = puVar9;\n            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar12 = uVar17 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar12 == 0);\n          bVar20 = (uVar17 & 0x8080) == 0;\n          if (bVar20) {\n            uVar12 = uVar12 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                          ", r5 fixed",0xb);\n        }\n        else if (uVar12 < 0x1001) {\n          if (uVar12 == 0x400) {\n            do {\n              puVar18 = puVar9;\n              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n              uVar12 = uVar17 & 0x80808080;\n              puVar9 = puVar18 + 1;\n            } while (uVar12 == 0);\n            bVar20 = (uVar17 & 0x8080) == 0;\n            if (bVar20) {\n              uVar12 = uVar12 >> 0x10;\n            }\n            if (bVar20) {\n              puVar9 = (uint *)((int)puVar18 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                            ", r30 fixed",0xc);\n          }\n          else if (uVar12 == 0x800) {\n            do {\n              puVar18 = puVar9;\n              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n              uVar12 = uVar17 & 0x80808080;\n              puVar9 = puVar18 + 1;\n            } while (uVar12 == 0);\n            bVar20 = (uVar17 & 0x8080) == 0;\n            if (bVar20) {\n              uVar12 = uVar12 >> 0x10;\n            }\n            if (bVar20) {\n              puVar9 = (uint *)((int)puVar18 + 6);\n            }\n            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                            ", r30 free",0xb);\n          }\n        }\n        else if (uVar12 == 0x4000) {\n          do {\n            puVar18 = puVar9;\n            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar12 = uVar17 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar12 == 0);\n          bVar20 = (uVar17 & 0x8080) == 0;\n          if (bVar20) {\n            uVar12 = uVar12 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                          ", r2 fixed",0xb);\n        }\n        else if (uVar12 == 0x8000) {\n          do {\n            puVar18 = puVar9;\n            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar12 = uVar17 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar12 == 0);\n          bVar20 = (uVar17 & 0x8080) == 0;\n          if (bVar20) {\n            uVar12 = uVar12 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                          ", r2 free",10);\n        }\n        else if (uVar12 == 0x2000) {\n          do {\n            puVar18 = puVar9;\n            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;\n            uVar12 = uVar17 & 0x80808080;\n            puVar9 = puVar18 + 1;\n          } while (uVar12 == 0);\n          bVar20 = (uVar17 & 0x8080) == 0;\n          if (bVar20) {\n            uVar12 = uVar12 >> 0x10;\n          }\n          if (bVar20) {\n            puVar9 = (uint *)((int)puVar18 + 6);\n          }\n          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),\n                          ", r5 free",10);\n        }\n        uVar13 = uVar13 & uVar13 - 1;\n      } while (uVar13 != 0);\n      local_38 = *(char **)(param_1 + 0x3c);\n    }\n    goto LAB_0003b840;\n  }\n  if (0x24 < uVar2) {\n    if (uVar2 == 0x32) {\n      if (((uint)local_38 & 0x10) == 0) {\n        DAT_000b57a0 = 0x3233202c;\n      }\n      else {\n        DAT_000b57a0 = 0x3436202c;\n      }\n      _DAT_000b57a8 = _DAT_000b57a8 & 0xffffff00;\n      DAT_000b57a4 = 0x7469622d;\n      if (((uint)local_38 & 0x20) != 0) {\n        uVar13 = 0xffffffff;\n        pcVar4 = (char *)&DAT_000b57a0;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar4 = ", reduced fp model";\n        pcVar5 = &DAT_000b579f + ~uVar13;\n        for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      if (((uint)local_38 & 0x80) == 0) {\n        if (((uint)local_38 & 0x40) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", constant gp";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n      }\n      else {\n        uVar13 = 0xffffffff;\n        pcVar4 = (char *)&DAT_000b57a0;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar4 = ", no function descriptors, constant gp";\n        pcVar5 = &DAT_000b579f + ~uVar13;\n        for (iVar11 = 0x27; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      if (((uint)local_38 & 0x100) != 0) {\n        uVar13 = 0xffffffff;\n        pcVar4 = (char *)&DAT_000b57a0;\n        do {\n          if (uVar13 == 0) break;\n          uVar13 = uVar13 - 1;\n          cVar1 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n        } while (cVar1 != '\0');\n        pcVar4 = ", absolute";\n        pcVar5 = &DAT_000b579f + ~uVar13;\n        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *pcVar5 = *pcVar4;\n          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n        }\n      }\n      if (param_1[0x17] == '\r') {\n        if (((uint)local_38 & 4) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", vms_linkages";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        uVar13 = (uint)local_38 & 3;\n        if (uVar13 == 2) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7265202c;\n          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x726f72;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 3) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6261202c;\n          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x74726f;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 1) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", warning";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else {\n        local_38 = *(char **)(param_1 + 0x3c);\n      }\n    }\n    else if (uVar2 < 0x33) {\n      if (uVar2 == 0x2a) {\n        switch((uint)local_38 & 0x1f) {\n        default:\n          pcVar4 = (char *)dcgettext(0,", unknown ISA",5,&DAT_00076943);\n          strcat((char *)&DAT_000b57a0,pcVar4);\n          break;\n        case 1:\n          DAT_000b57a0 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x31);\n          break;\n        case 2:\n          DAT_000b57a0 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x32);\n          break;\n        case 3:\n          DAT_000b57a0 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x33);\n          break;\n        case 4:\n          pcVar4 = ", sh-dsp";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 5:\n          pcVar4 = ", sh3-dsp";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 6:\n          pcVar4 = ", sh4al-dsp";\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 8:\n          puVar8 = &UNK_0007cd94;\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined *)puVar19 = *puVar8;\n            puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n            puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n          }\n          break;\n        case 9:\n          DAT_000b57a0 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x34);\n          break;\n        case 10:\n          DAT_000b57a0 = 0x6873202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x35);\n          break;\n        case 0xb:\n          puVar8 = &UNK_0007cd9b;\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined *)puVar19 = *puVar8;\n            puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n            puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n          }\n          break;\n        case 0xc:\n          puVar8 = &UNK_0007cda2;\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined *)puVar19 = *puVar8;\n            puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n            puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n          }\n          break;\n        case 0xd:\n          puVar8 = &UNK_0007cda9;\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined *)puVar19 = *puVar8;\n            puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n            puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n          }\n          break;\n        case 0x10:\n          pcVar4 = ", sh4-nofpu";\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x11:\n          pcVar4 = ", sh4a-nofpu";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x12:\n          pcVar4 = ", sh4-nommu-nofpu";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x13:\n          pcVar4 = ", sh2a-nofpu";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x14:\n          pcVar4 = ", sh3-nommu";\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x15:\n          pcVar4 = ", sh2a-nofpu-or-sh4-nommu-nofpu";\n          puVar19 = &DAT_000b57a0;\n          for (iVar11 = 8; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x16:\n          pcVar4 = ", sh2a-nofpu-or-sh3-nommu";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0x1a; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x17:\n          pcVar4 = ", sh2a-or-sh4";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n          break;\n        case 0x18:\n          pcVar4 = ", sh2a-or-sh3e";\n          pcVar5 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        local_34 = &DAT_000b57a0;\n        if (((uint)local_38 & 0x100) != 0) {\n          uVar13 = 0xffffffff;\n          puVar9 = local_34;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6970202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 99;\n        }\n        if (((uint)local_38 & 0x8000) == 0) {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          uVar13 = 0xffffffff;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *(char *)local_34;\n            local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6466202c;\n          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x636970;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 == 0x2b) {\n        if (((uint)local_38 & 0x100) != 0) {\n          DAT_000b57a0 = 0x3876202c;\n          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x2b);\n        }\n        if (((uint)local_38 & 0x200) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", ultrasparcI";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x800) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", ultrasparcIII";\n          puVar19 = (undefined4 *)(&DAT_000b579f + ~uVar13);\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *puVar19 = *(undefined4 *)pcVar4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        if (((uint)local_38 & 0x400) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6168202c;\n          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x31726c;\n        }\n        if (((uint)local_38 & 0x800000) != 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          pcVar4 = ", ledata";\n          pcVar5 = &DAT_000b579f + ~uVar13;\n          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar5 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n          }\n        }\n        uVar13 = (uint)local_38 & 3;\n        if (uVar13 == 0) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7374202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x6f;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 1) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7370202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x6f;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 == 2) {\n          uVar13 = 0xffffffff;\n          pcVar4 = (char *)&DAT_000b57a0;\n          do {\n            if (uVar13 == 0) break;\n            uVar13 = uVar13 - 1;\n            cVar1 = *pcVar4;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          } while (cVar1 != '\0');\n          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6d72202c;\n          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x6f;\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n      else if (uVar2 == 0x28) {\n        uVar13 = (uint)local_38 & 0xff000000;\n        if (((uint)local_38 & 1) == 0) {\n          local_38 = (char *)((uint)local_38 & 0xffffff);\n          pcVar4 = (char *)&DAT_000b57a0;\n        }\n        else {\n          pcVar4 = &DAT_000b57b8;\n          pcVar5 = ", relocatable executable";\n          pcVar14 = (char *)&DAT_000b57a0;\n          for (iVar11 = 0x19; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar14 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            pcVar14 = pcVar14 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = (char *)((uint)local_38 & 0xfffffe);\n        }\n        local_34 = &DAT_000b57a0;\n        if (((uint)local_38 & 0x20) != 0) {\n          pcVar5 = ", position independent";\n          for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *pcVar4 = *pcVar5;\n            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n          }\n          local_38 = (char *)((uint)local_38 & 0xffffffdf);\n          uVar12 = 0xffffffff;\n          puVar9 = local_34;\n          do {\n            if (uVar12 == 0) break;\n            uVar12 = uVar12 - 1;\n            uVar17 = *puVar9;\n            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n          } while ((char)uVar17 != '\0');\n          pcVar4 = &DAT_000b579f + ~uVar12;\n        }\n        if (uVar13 == 0x2000000) {\n          bVar20 = false;\n          pcVar5 = ", Version2 EABI";\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n            pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n          }\n          if (local_38 != (char *)0x0) {\n            do {\n              uVar13 = -(int)local_38 & (uint)local_38;\n              local_38 = (char *)((uint)local_38 & ~uVar13);\n              if (uVar13 == 8) {\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                pcVar4 = ", dynamic symbols use segment index";\n                puVar19 = (undefined4 *)(&DAT_000b579f + ~uVar13);\n                for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n                  *puVar19 = *(undefined4 *)pcVar4;\n                  pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n                  puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                }\n              }\n              else if (uVar13 == 0x10) {\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                pcVar4 = ", mapping symbols precede others";\n                pcVar5 = &DAT_000b579f + ~uVar13;\n                for (iVar11 = 0x21; iVar11 != 0; iVar11 = iVar11 + -1) {\n                  *pcVar5 = *pcVar4;\n                  pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                  pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                }\n              }\n              else if (uVar13 == 4) {\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                pcVar4 = ", sorted symbol tables";\n                pcVar5 = &DAT_000b579f + ~uVar13;\n                for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {\n                  *pcVar5 = *pcVar4;\n                  pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                  pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                }\n              }\n              else {\n                bVar20 = true;\n              }\n            } while (local_38 != (char *)0x0);\n            goto LAB_0003d8e9;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else if (uVar13 < 0x2000001) {\n          if (uVar13 == 0) {\n            bVar20 = false;\n            pcVar5 = ", GNU EABI";\n            for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar4 = *pcVar5;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            }\n            if (local_38 != (char *)0x0) {\n              do {\n                uVar13 = -(int)local_38 & (uint)local_38;\n                local_38 = (char *)((uint)local_38 & ~uVar13);\n                if (uVar13 == 0x40) {\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  pcVar4 = ", 8 bit structure alignment";\n                  puVar19 = (undefined4 *)(&DAT_000b579f + ~uVar13);\n                  for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {\n                    *puVar19 = *(undefined4 *)pcVar4;\n                    pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n                    puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n                  }\n                }\n                else if (uVar13 < 0x41) {\n                  if (uVar13 == 8) {\n                    uVar13 = 0xffffffff;\n                    puVar9 = local_34;\n                    do {\n                      if (uVar13 == 0) break;\n                      uVar13 = uVar13 - 1;\n                      uVar12 = *puVar9;\n                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                    } while ((char)uVar12 != '\0');\n                    pcVar4 = ", uses APCS/26";\n                    pcVar5 = &DAT_000b579f + ~uVar13;\n                    for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n                      *pcVar5 = *pcVar4;\n                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                    }\n                  }\n                  else if (uVar13 < 9) {\n                    if (uVar13 == 4) {\n                      uVar13 = 0xffffffff;\n                      puVar9 = local_34;\n                      do {\n                        if (uVar13 == 0) break;\n                        uVar13 = uVar13 - 1;\n                        uVar12 = *puVar9;\n                        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                      } while ((char)uVar12 != '\0');\n                      pcVar4 = ", interworking enabled";\n                      pcVar5 = &DAT_000b579f + ~uVar13;\n                      for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {\n                        *pcVar5 = *pcVar4;\n                        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                      }\n                    }\n                    else {\nLAB_0003edd8:\n                      bVar20 = true;\n                    }\n                  }\n                  else if (uVar13 == 0x10) {\n                    uVar13 = 0xffffffff;\n                    puVar9 = local_34;\n                    do {\n                      if (uVar13 == 0) break;\n                      uVar13 = uVar13 - 1;\n                      uVar12 = *puVar9;\n                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                    } while ((char)uVar12 != '\0');\n                    pcVar4 = ", uses APCS/float";\n                    pcVar5 = &DAT_000b579f + ~uVar13;\n                    for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {\n                      *pcVar5 = *pcVar4;\n                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                    }\n                  }\n                  else {\n                    if (uVar13 != 0x20) goto LAB_0003edd8;\n                    uVar13 = 0xffffffff;\n                    puVar9 = local_34;\n                    do {\n                      if (uVar13 == 0) break;\n                      uVar13 = uVar13 - 1;\n                      uVar12 = *puVar9;\n                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                    } while ((char)uVar12 != '\0');\n                    pcVar4 = ", position independent";\n                    pcVar5 = &DAT_000b579f + ~uVar13;\n                    for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {\n                      *pcVar5 = *pcVar4;\n                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                    }\n                  }\n                }\n                else if (uVar13 == 0x200) {\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  pcVar4 = ", software FP";\n                  pcVar5 = &DAT_000b579f + ~uVar13;\n                  for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n                    *pcVar5 = *pcVar4;\n                    pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                  }\n                }\n                else if (uVar13 < 0x201) {\n                  if (uVar13 == 0x80) {\n                    uVar13 = 0xffffffff;\n                    puVar9 = local_34;\n                    do {\n                      if (uVar13 == 0) break;\n                      uVar13 = uVar13 - 1;\n                      uVar12 = *puVar9;\n                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                    } while ((char)uVar12 != '\0');\n                    pcVar4 = ", uses new ABI";\n                    pcVar5 = &DAT_000b579f + ~uVar13;\n                    for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n                      *pcVar5 = *pcVar4;\n                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                    }\n                  }\n                  else {\n                    if (uVar13 != 0x100) goto LAB_0003edd8;\n                    uVar13 = 0xffffffff;\n                    puVar9 = local_34;\n                    do {\n                      if (uVar13 == 0) break;\n                      uVar13 = uVar13 - 1;\n                      uVar12 = *puVar9;\n                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                    } while ((char)uVar12 != '\0');\n                    pcVar4 = ", uses old ABI";\n                    pcVar5 = &DAT_000b579f + ~uVar13;\n                    for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {\n                      *pcVar5 = *pcVar4;\n                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                    }\n                  }\n                }\n                else if (uVar13 == 0x400) {\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x4656202c;\n                  *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x50;\n                }\n                else {\n                  if (uVar13 != 0x800) goto LAB_0003edd8;\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  pcVar4 = ", Maverick FP";\n                  pcVar5 = &DAT_000b579f + ~uVar13;\n                  for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {\n                    *pcVar5 = *pcVar4;\n                    pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                  }\n                }\n              } while (local_38 != (char *)0x0);\n              goto LAB_0003d8e9;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else if (uVar13 == 0x1000000) {\n            bVar20 = false;\n            pcVar5 = ", Version1 EABI";\n            for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n              pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n              pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n            }\n            if (local_38 != (char *)0x0) {\n              do {\n                uVar13 = -(int)local_38 & (uint)local_38;\n                local_38 = (char *)((uint)local_38 & ~uVar13);\n                if (uVar13 == 4) {\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  pcVar4 = ", sorted symbol tables";\n                  pcVar5 = &DAT_000b579f + ~uVar13;\n                  for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {\n                    *pcVar5 = *pcVar4;\n                    pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                  }\n                }\n                else {\n                  bVar20 = true;\n                }\n              } while (local_38 != (char *)0x0);\n              goto LAB_0003d8e9;\n            }\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\nLAB_0003c1eb:\n            pcVar5 = ", <unrecognized EABI>";\n            for (iVar11 = 0x16; iVar11 != 0; iVar11 = iVar11 + -1) {\n              *pcVar4 = *pcVar5;\n              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n            }\n            if (local_38 == (char *)0x0) {\n              local_38 = *(char **)(param_1 + 0x3c);\n            }\n            else {\nLAB_0003d8f4:\n              pcVar4 = (char *)dcgettext(0,", <unknown>",5);\n              strcat((char *)&DAT_000b57a0,pcVar4);\n              local_38 = *(char **)(param_1 + 0x3c);\n            }\n          }\n        }\n        else if (uVar13 == 0x4000000) {\n          pcVar5 = ", Version4 EABI";\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n            pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n          }\n          bVar20 = false;\n          if (local_38 == (char *)0x0) {\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n          else {\n            do {\n              uVar13 = -(int)local_38 & (uint)local_38;\n              local_38 = (char *)((uint)local_38 & ~uVar13);\n              puVar9 = local_34;\n              if (uVar13 == 0x400000) {\n                do {\n                  puVar18 = puVar9;\n                  uVar12 = *puVar18 + 0xfefefeff & ~*puVar18;\n                  uVar13 = uVar12 & 0x80808080;\n                  puVar9 = puVar18 + 1;\n                } while (uVar13 == 0);\n                bVar21 = (uVar12 & 0x8080) == 0;\n                if (bVar21) {\n                  uVar13 = uVar13 >> 0x10;\n                }\n                if (bVar21) {\n                  puVar9 = (uint *)((int)puVar18 + 6);\n                }\n                builtin_strncpy((char *)((int)puVar9 +\n                                        (-3 - (uint)CARRY1((byte)uVar13,(byte)uVar13))),", LE8",6);\n              }\n              else if (uVar13 == 0x800000) {\n                do {\n                  puVar18 = puVar9;\n                  uVar12 = *puVar18 + 0xfefefeff & ~*puVar18;\n                  uVar13 = uVar12 & 0x80808080;\n                  puVar9 = puVar18 + 1;\n                } while (uVar13 == 0);\n                bVar21 = (uVar12 & 0x8080) == 0;\n                if (bVar21) {\n                  uVar13 = uVar13 >> 0x10;\n                }\n                if (bVar21) {\n                  puVar9 = (uint *)((int)puVar18 + 6);\n                }\n                builtin_strncpy((char *)((int)puVar9 +\n                                        (-3 - (uint)CARRY1((byte)uVar13,(byte)uVar13))),", BE8",6);\n              }\n              else {\n                bVar20 = true;\n              }\n            } while (local_38 != (char *)0x0);\nLAB_0003d8e9:\n            if (bVar20) goto LAB_0003d8f4;\n            local_38 = *(char **)(param_1 + 0x3c);\n          }\n        }\n        else if (uVar13 == 0x5000000) {\n          bVar20 = false;\n          pcVar5 = ", Version5 EABI";\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n            pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n          }\n          if (local_38 != (char *)0x0) {\n            do {\n              uVar13 = -(int)local_38 & (uint)local_38;\n              local_38 = (char *)((uint)local_38 & ~uVar13);\n              if (uVar13 == 0x400) {\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                pcVar4 = ", hard-float ABI";\n                pcVar5 = &DAT_000b579f + ~uVar13;\n                for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n                  *pcVar5 = *pcVar4;\n                  pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                  pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                }\n              }\n              else if (uVar13 < 0x401) {\n                if (uVar13 == 0x200) {\n                  uVar13 = 0xffffffff;\n                  puVar9 = local_34;\n                  do {\n                    if (uVar13 == 0) break;\n                    uVar13 = uVar13 - 1;\n                    uVar12 = *puVar9;\n                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                  } while ((char)uVar12 != '\0');\n                  pcVar4 = ", soft-float ABI";\n                  pcVar5 = &DAT_000b579f + ~uVar13;\n                  for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {\n                    *pcVar5 = *pcVar4;\n                    pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;\n                    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;\n                  }\n                }\n                else {\nLAB_0003ef43:\n                  bVar20 = true;\n                }\n              }\n              else if (uVar13 == 0x400000) {\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x454c202c;\n                *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x38;\n              }\n              else {\n                if (uVar13 != 0x800000) goto LAB_0003ef43;\n                uVar13 = 0xffffffff;\n                puVar9 = local_34;\n                do {\n                  if (uVar13 == 0) break;\n                  uVar13 = uVar13 - 1;\n                  uVar12 = *puVar9;\n                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);\n                } while ((char)uVar12 != '\0');\n                *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x4542202c;\n                *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x38;\n              }\n            } while (local_38 != (char *)0x0);\n            goto LAB_0003d8e9;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n        else {\n          if (uVar13 != 0x3000000) goto LAB_0003c1eb;\n          pcVar5 = ", Version3 EABI";\n          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n            *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;\n            pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;\n            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n          }\n          local_38 = *(char **)(param_1 + 0x3c);\n        }\n      }\n    }\n    else if (uVar2 == 0x53) {\n      switch((uint)local_38 & 0x7f) {\n      default:\n        pcVar4 = ", avr:<unknown>";\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *puVar19 = *(undefined4 *)pcVar4;\n          pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;\n          puVar19 = puVar19 + (uint)bVar22 * -2 + 1;\n        }\n        break;\n      case 1:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x313a72;\n        break;\n      case 2:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x323a72;\n        break;\n      case 3:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x333a72;\n        break;\n      case 4:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x343a72;\n        break;\n      case 5:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x353a72;\n        break;\n      case 6:\n        DAT_000b57a0 = 0x7661202c;\n        DAT_000b57a4 = 0x363a72;\n        break;\n      case 0x19:\n        puVar8 = &UNK_0007c7e5;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x1f:\n        puVar8 = &UNK_0007c7ee;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x23:\n        puVar8 = &UNK_0007c7f7;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x33:\n        puVar8 = &UNK_0007c800;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 100:\n        puVar8 = &UNK_0007c809;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x65:\n        puVar8 = &UNK_0007c813;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;\n          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);\n        }\n        break;\n      case 0x66:\n        puVar8 = &UNK_0007c81d;\n        puVar19 = &DAT_000b57a0;\n        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {\n          *(undefined *)puVar19 = *puVar8;\n          puVar8

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

type_1 __regparm3 function_1(type_2 *filedata)

{
  type_3 var_8;
  char var_23;
  type_4 var_18;
  type_5 *var_48;
  type_6 uVar4;
  char **ppcVar5;
  type_7 *puVar6;
  char *var_20;
  char *var_21;
  char *var_42;
  type_8 *var_39;
  int var_36;
  type_9 *var_38;
  type_10 *var_24;
  type_2 *pFVar14;
  size_t sVar15;
  int extraout_ECX;
  type_11 extraout_ECX_00;
  type_11 extraout_ECX_01;
  type_11 extraout_ECX_02;
  type_11 extraout_ECX_03;
  type_11 uVar16;
  int var_19;
  type_11 extraout_ECX_04;
  type_11 extraout_ECX_05;
  type_11 extraout_ECX_06;
  type_11 extraout_ECX_07;
  type_11 extraout_ECX_08;
  type_11 extraout_ECX_09;
  type_11 extraout_ECX_10;
  type_11 extraout_ECX_11;
  type_11 extraout_ECX_12;
  type_11 extraout_ECX_13;
  type_11 extraout_ECX_14;
  type_11 extraout_ECX_15;
  type_11 extraout_ECX_16;
  type_11 extraout_ECX_17;
  type_11 extraout_ECX_18;
  type_11 extraout_ECX_19;
  type_11 extraout_ECX_20;
  type_10 var_27;
  type_10 var_22;
  type_2 *pFVar20;
  type_2 *extraout_EDX;
  type_11 extraout_EDX_00;
  type_2 *extraout_EDX_01;
  type_12 var_10;
  type_10 var_26;
  type_10 *var_25;
  type_11 *var_33;
  type_2 *pFVar25;
  bool bVar26;
  bool bVar27;
  type_12 bVar28;
  char *var_45;
  char *var_46;
  type_2 *var_17;
  type_2 *local_34;
  type_13 *var_6;
  char abi [8];
  
  bVar28 = 0;
  if (*(int *)(filedata->file_header).e_ident != 0x464c457f) {
    var_20 = (char *)var_1(0,"Not an ELF file - it has the wrong magic bytes at the start\n",5);
    var_2(var_20);
    return 0;
  }
  var_3((type_10)(filedata->file_header).e_machine);
  if (var_4 == 0) goto LAB_0003b371;
  var_20 = (char *)var_1(0,"ELF Header:\n",5);
  var_5(var_20);
  var_20 = (char *)var_1(0,"  Magic:   ",5);
  var_5(var_20);
  var_6 = &filedata->file_header;
  do {
    var_5("%2.2x ",(type_10)var_6->e_ident[0]);
    var_6 = (type_13 *)(var_6->e_ident + 1);
  } while ((type_13 *)&(filedata->file_header).e_entry != var_6);
  var_7(10);
  var_8 = (filedata->file_header).e_ident[4];
  var_20 = "ELF32";
  if (var_8 != '\x01') {
    if (var_8 == '\0') {
      var_20 = (char *)var_1(0,&DAT_00076afd,5);
    }
    else {
      var_20 = "ELF64";
      if (var_8 != '\x02') {
        var_20 = (char *)var_1(0,"<unknown: %x>",5);
        var_9(buff_17378,0x20,var_20,var_8);
        var_20 = buff_17378;
      }
    }
  }
  var_21 = (char *)var_1(0,"  Class:                             %s\n",5);
  var_5(var_21,var_20);
  var_8 = (filedata->file_header).e_ident[5];
  if (var_8 == '\x01') {
    var_20 = "2\'s complement, little endian";
LAB_0003c46b:
    var_38 = (type_9 *)var_1(0,var_20,5);
  }
  else {
    if (var_8 == '\0') {
      var_20 = "none";
      goto LAB_0003c46b;
    }
    if (var_8 == '\x02') {
      var_20 = "2\'s complement, big endian";
      goto LAB_0003c46b;
    }
    var_38 = buff_17386;
    var_20 = (char *)var_1(0,"<unknown: %x>",5);
    var_9(buff_17386,0x20,var_20,var_8);
  }
  var_21 = (char *)var_1(0,"  Data:                              %s\n",5);
  var_20 = "(current)";
  var_5(var_21,var_38);
  var_10 = (filedata->file_header).e_ident[6];
  if ((var_10 != 1) && (var_20 = "", var_10 != 0)) {
    var_20 = (char *)var_1(0,"<unknown: %lx>",5);
    var_10 = (filedata->file_header).e_ident[6];
  }
  var_21 = (char *)var_1(0,"  Version:                           %d %s\n",5);
  var_5(var_21,(type_10)var_10,var_20);
  var_20 = var_11((type_2 *)&(filedata->file_header).e_machine,
                          (type_10)(filedata->file_header).e_ident[7]);
  var_21 = (char *)var_1(0,"  OS/ABI:                            %s\n",5);
  var_5(var_21,var_20);
  var_10 = (filedata->file_header).e_ident[8];
  var_20 = (char *)var_1(0,"  ABI Version:                       %d\n",5);
  var_5(var_20,(type_10)var_10);
  var_20 = var_12((type_10)(filedata->file_header).e_type);
  var_21 = (char *)var_1(0,"  Type:                              %s\n",5);
  var_5(var_21,var_20);
  var_20 = var_13((type_10)(filedata->file_header).e_machine);
  var_21 = (char *)var_1(0,"  Machine:                           %s\n",5);
  var_5(var_21,var_20);
  uVar4 = (filedata->file_header).e_version;
  var_21 = (char *)var_1(0,"  Version:                           0x%lx\n",5);
  var_20 = "%lld";
  var_5(var_21,uVar4);
  var_21 = "  Entry point address:               ";
  var_42 = (char *)var_1(0,"  Entry point address:               ",5);
  var_5(var_42);
  var_14(var_15(var_21,var_42),(print_mode)(filedata->file_header).e_entry);
  var_21 = (char *)var_1(0,"\n  Start of program headers:          ",5);
  var_5(var_21);
  var_5("%lld",(int)(filedata->file_header).e_phoff,
         *(type_11 *)((int)&(filedata->file_header).e_phoff + 4));
  var_21 = (char *)var_1(0," (bytes into file)\n  Start of section headers:          ",5);
  var_5(var_21);
  var_5("%lld",(int)(filedata->file_header).e_shoff,
         *(type_11 *)((int)&(filedata->file_header).e_shoff + 4));
  var_21 = (char *)var_1(0," (bytes into file)\n",5);
  var_5(var_21);
  var_17 = (type_2 *)(filedata->file_header).e_flags;
  var_18 = (filedata->file_header).e_machine;
  var_16 = var_16 & 0xffffff00;
  if (var_17 == (type_2 *)0x0) goto LAB_0003b840;
  if (var_18 == 0x5b) {
LAB_0003bdf2:
    if (((type_10)var_17 & 0x10) != 0) {
      var_20 = ", new calling convention";
      var_21 = (char *)&var_16;
      for (var_19 = 0x19; var_19 != 0; var_19 = var_19 + -1) {
        *var_21 = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        var_21 = var_21 + (type_10)bVar28 * -2 + 1;
      }
    }
    if (((type_10)var_17 & 0x20) == 0) {
      var_17 = (type_2 *)(filedata->file_header).e_flags;
    }
    else {
      var_22 = 0xffffffff;
      var_20 = (char *)&var_16;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        var_23 = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
      } while (var_23 != '\0');
      var_20 = ", gnu calling convention";
      var_21 = &DAT_000b579f + ~var_22;
      for (var_19 = 0x19; var_19 != 0; var_19 = var_19 + -1) {
        *var_21 = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        var_21 = var_21 + (type_10)bVar28 * -2 + 1;
      }
      var_17 = (type_2 *)(filedata->file_header).e_flags;
    }
    goto LAB_0003b840;
  }
  if (0x5b < var_18) {
    if (var_18 == 0xc3) {
LAB_0003cc32:
      switch((type_10)var_17 & 0xff) {
      default:
        if (var_18 == 0x5d) {
          var_24 = (type_10 *)", Unknown ARCompact";
          var_25 = &var_16;
          for (var_19 = 5; var_19 != 0; var_19 = var_19 + -1) {
            *var_25 = *var_24;
            var_24 = var_24 + (type_10)bVar28 * -2 + 1;
            var_25 = var_25 + (type_10)bVar28 * -2 + 1;
          }
        }
        else {
          var_20 = ", Unknown ARC";
          var_24 = &var_16;
          for (var_19 = 0xe; var_19 != 0; var_19 = var_19 + -1) {
            *(char *)var_24 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_24 = (type_10 *)((int)var_24 + (type_10)bVar28 * -2 + 1);
          }
        }
        break;
      case 2:
        var_20 = ", ARC600";
        var_24 = &var_16;
        for (var_19 = 9; var_19 != 0; var_19 = var_19 + -1) {
          *(char *)var_24 = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          var_24 = (type_10 *)((int)var_24 + (type_10)bVar28 * -2 + 1);
        }
        break;
      case 3:
        var_20 = ", ARC700";
        var_24 = &var_16;
        for (var_19 = 9; var_19 != 0; var_19 = var_19 + -1) {
          *(char *)var_24 = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          var_24 = (type_10 *)((int)var_24 + (type_10)bVar28 * -2 + 1);
        }
        break;
      case 4:
        var_20 = ", ARC601";
        var_24 = &var_16;
        for (var_19 = 9; var_19 != 0; var_19 = var_19 + -1) {
          *(char *)var_24 = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          var_24 = (type_10 *)((int)var_24 + (type_10)bVar28 * -2 + 1);
        }
        break;
      case 5:
        var_20 = ", ARC EM";
        var_24 = &var_16;
        for (var_19 = 9; var_19 != 0; var_19 = var_19 + -1) {
          *(char *)var_24 = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          var_24 = (type_10 *)((int)var_24 + (type_10)bVar28 * -2 + 1);
        }
        break;
      case 6:
        var_20 = ", ARC HS";
        var_24 = &var_16;
        for (var_19 = 9; var_19 != 0; var_19 = var_19 + -1) {
          *(char *)var_24 = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          var_24 = (type_10 *)((int)var_24 + (type_10)bVar28 * -2 + 1);
        }
      }
      var_22 = (type_10)var_17 & 0xf00;
      var_24 = &var_16;
      do {
        var_25 = var_24;
        var_26 = *var_25 + 0xfefefeff & ~*var_25;
        var_27 = var_26 & 0x80808080;
        var_24 = var_25 + 1;
      } while (var_27 == 0);
      bVar26 = (var_26 & 0x8080) == 0;
      if (bVar26) {
        var_27 = var_27 >> 0x10;
      }
      if (bVar26) {
        var_24 = (type_10 *)((int)var_25 + 6);
      }
      var_20 = (char *)((int)var_24 + (-3 - (type_10)var_28((type_12)var_27,(type_12)var_27)));
      if (var_22 == 0x200) {
        var_21 = ", (ABI:v2)";
        for (var_19 = 0xb; var_19 != 0; var_19 = var_19 + -1) {
          *var_20 = *var_21;
          var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        }
        var_17 = (type_2 *)(filedata->file_header).e_flags;
      }
      else if (var_22 < 0x201) {
        if (var_22 == 0) {
          var_21 = ", (ABI:legacy)";
          for (var_19 = 0xf; var_19 != 0; var_19 = var_19 + -1) {
            *var_20 = *var_21;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          }
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
        else {
LAB_0003e7fe:
          var_21 = ", unrecognised ARC OSABI flag";
          for (var_19 = 0x1e; var_19 != 0; var_19 = var_19 + -1) {
            *var_20 = *var_21;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          }
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
      }
      else if (var_22 == 0x300) {
        var_21 = ", v3 no-legacy-syscalls ABI";
        for (var_19 = 7; var_19 != 0; var_19 = var_19 + -1) {
          *(type_11 *)var_20 = *(type_11 *)var_21;
          var_21 = var_21 + ((type_10)bVar28 * -2 + 1) * 4;
          var_20 = var_20 + ((type_10)bVar28 * -2 + 1) * 4;
        }
        var_17 = (type_2 *)(filedata->file_header).e_flags;
      }
      else {
        if (var_22 != 0x400) goto LAB_0003e7fe;
        var_21 = ", v4 ABI";
        for (var_19 = 9; var_19 != 0; var_19 = var_19 + -1) {
          *var_20 = *var_21;
          var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        }
        var_17 = (type_2 *)(filedata->file_header).e_flags;
      }
    }
    else if (var_18 < 0xc4) {
      if (var_18 == 0x69) {
        var_20 = (char *)var_1(0,": architecture variant: ",5);
        var_24 = &var_16;
        do {
          var_25 = var_24;
          var_27 = *var_25 + 0xfefefeff & ~*var_25;
          var_22 = var_27 & 0x80808080;
          var_24 = var_25 + 1;
        } while (var_22 == 0);
        bVar26 = (var_27 & 0x8080) == 0;
        if (bVar26) {
          var_22 = var_22 >> 0x10;
        }
        if (bVar26) {
          var_24 = (type_10 *)((int)var_25 + 6);
        }
        var_21 = var_29((char *)((int)var_24 + (-3 - (type_10)var_28((type_12)var_22,(type_12)var_22))),
                        var_20);
        var_22 = ((type_10)var_17 & 0xff) - 0xb;
        var_19 = extraout_ECX;
        if (var_22 < 100) {
          var_19 = (int)&_GLOBAL_OFFSET_TABLE_ + (&switchD_0003d36f::switchdataD_0008dec0)[var_22];
          switch((type_10)var_17 & 0xff) {
          case 0xb:
            var_20 = "MSP430x11";
            for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
              *var_21 = *var_20;
              var_20 = var_20 + (type_10)bVar28 * -2 + 1;
              var_21 = var_21 + (type_10)bVar28 * -2 + 1;
            }
            break;
          case 0xc:
            var_20 = "MSP430x12";
            for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
              *var_21 = *var_20;
              var_20 = var_20 + (type_10)bVar28 * -2 + 1;
              var_21 = var_21 + (type_10)bVar28 * -2 + 1;
            }
            break;
          case 0xd:
            var_20 = "MSP430x13";
            for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
              *var_21 = *var_20;
              var_20 = var_20 + (type_10)bVar28 * -2 + 1;
              var_21 = var_21 + (type_10)bVar28 * -2 + 1;
            }
            break;
          case 0xe:
            var_20 = "MSP430x14";
            for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
              *var_21 = *var_20;
              var_20 = var_20 + (type_10)bVar28 * -2 + 1;
              var_21 = var_21 + (type_10)bVar28 * -2 + 1;
            }
            break;
          case 0xf:
            var_20 = "MSP430x15";
            for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
              *var_21 = *var_20;
              var_20 = var_20 + (type_10)bVar28 * -2 + 1;
              var_21 = var_21 + (type_10)bVar28 * -2 + 1;
            }
            break;
          case 0x10:
            var_20 = "MSP430x16";
            for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
              *var_21 = *var_20;
              var_20 = var_20 + (type_10)bVar28 * -2 + 1;
              var_21 = var_21 + (type_10)bVar28 * -2 + 1;
            }
            break;
          default:
            goto _L11134;
          case 0x1f:
            var_20 = "MSP430x31";
            for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
              *var_21 = *var_20;
              var_20 = var_20 + (type_10)bVar28 * -2 + 1;
              var_21 = var_21 + (type_10)bVar28 * -2 + 1;
            }
            break;
          case 0x20:
            var_20 = "MSP430x32";
            for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
              *var_21 = *var_20;
              var_20 = var_20 + (type_10)bVar28 * -2 + 1;
              var_21 = var_21 + (type_10)bVar28 * -2 + 1;
            }
            break;
          case 0x21:
            var_20 = "MSP430x33";
            for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
              *var_21 = *var_20;
              var_20 = var_20 + (type_10)bVar28 * -2 + 1;
              var_21 = var_21 + (type_10)bVar28 * -2 + 1;
            }
            break;
          case 0x29:
            var_20 = "MSP430x41";
            for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
              *var_21 = *var_20;
              var_20 = var_20 + (type_10)bVar28 * -2 + 1;
              var_21 = var_21 + (type_10)bVar28 * -2 + 1;
            }
            break;
          case 0x2a:
            var_20 = "MSP430x42";
            for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
              *var_21 = *var_20;
              var_20 = var_20 + (type_10)bVar28 * -2 + 1;
              var_21 = var_21 + (type_10)bVar28 * -2 + 1;
            }
            break;
          case 0x2b:
            var_20 = "MSP430x43";
            for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
              *var_21 = *var_20;
              var_20 = var_20 + (type_10)bVar28 * -2 + 1;
              var_21 = var_21 + (type_10)bVar28 * -2 + 1;
            }
            break;
          case 0x2c:
            var_20 = "MSP430x44";
            for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
              *var_21 = *var_20;
              var_20 = var_20 + (type_10)bVar28 * -2 + 1;
              var_21 = var_21 + (type_10)bVar28 * -2 + 1;
            }
            break;
          case 0x2d:
            var_30(var_21,"MSP430X",8);
            break;
          case 0x6e:
            var_20 = "MSP430x11x1 ";
            for (var_19 = 0xd; var_19 != 0; var_19 = var_19 + -1) {
              *var_21 = *var_20;
              var_20 = var_20 + (type_10)bVar28 * -2 + 1;
              var_21 = var_21 + (type_10)bVar28 * -2 + 1;
            }
          }
        }
        else {
_L11134:
          var_20 = (char *)0x0;
          var_21 = (char *)var_1(0,": unknown",5,var_19);
          var_31((char *)&var_16,var_21);
        }
        if (((type_10)var_17 & 0xffffff00) == 0) {
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
        else {
          var_20 = (char *)var_1(0,": unknown extra flag bits also present",5,var_20);
          var_31((char *)&var_16,var_20);
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
      }
      else if (var_18 < 0x6a) {
        if (var_18 == 0x5d) goto LAB_0003cc32;
        if (var_18 < 0x5d) {
          if (((type_10)var_17 & 1) != 0) {
            var_20 = ", no delay";
            var_21 = (char *)&var_16;
            for (var_19 = 0xb; var_19 != 0; var_19 = var_19 + -1) {
              *var_21 = *var_20;
              var_20 = var_20 + (type_10)bVar28 * -2 + 1;
              var_21 = var_21 + (type_10)bVar28 * -2 + 1;
            }
            var_17 = (type_2 *)(filedata->file_header).e_flags;
          }
        }
        else if (var_18 == 99) goto LAB_0003bdf2;
      }
      else if (var_18 == 0x8c) {
        if (((type_10)var_17 & 1) != 0) {
          var_20 = ", relocatable module";
          var_24 = &var_16;
          for (var_19 = 0x15; var_19 != 0; var_19 = var_19 + -1) {
            *(char *)var_24 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_24 = (type_10 *)((int)var_24 + (type_10)bVar28 * -2 + 1);
          }
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
      }
      else if (var_18 < 0x8d) {
        if (var_18 == 0x6a) {
          if (((type_10)var_17 & 1) != 0) {
            var_16 = 0x4950202c;
            DAT_000b57a4 = var_32(DAT_000b57a4._2_2_,0x43);
          }
          if (((type_10)var_17 & 2) != 0) {
            var_22 = 0xffffffff;
            var_20 = (char *)&var_16;
            do {
              if (var_22 == 0) break;
              var_22 = var_22 - 1;
              var_23 = *var_20;
              var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            } while (var_23 != '\0');
            *(type_11 *)(&DAT_000b579f + ~var_22) = 0x4446202c;
            *(type_11 *)((int)&var_16 + ~var_22 + 3) = 0x434950;
          }
          if (((type_10)var_17 & 0x10) != 0) {
            var_22 = 0xffffffff;
            var_20 = (char *)&var_16;
            do {
              if (var_22 == 0) break;
              var_22 = var_22 - 1;
              var_23 = *var_20;
              var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            } while (var_23 != '\0');
            var_20 = ", code in L1";
            var_21 = &DAT_000b579f + ~var_22;
            for (var_19 = 0xd; var_19 != 0; var_19 = var_19 + -1) {
              *var_21 = *var_20;
              var_20 = var_20 + (type_10)bVar28 * -2 + 1;
              var_21 = var_21 + (type_10)bVar28 * -2 + 1;
            }
          }
          if (((type_10)var_17 & 0x20) == 0) {
            var_17 = (type_2 *)(filedata->file_header).e_flags;
          }
          else {
            var_22 = 0xffffffff;
            var_20 = (char *)&var_16;
            do {
              if (var_22 == 0) break;
              var_22 = var_22 - 1;
              var_23 = *var_20;
              var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            } while (var_23 != '\0');
            var_20 = ", data in L1";
            var_21 = &DAT_000b579f + ~var_22;
            for (var_19 = 0xd; var_19 != 0; var_19 = var_19 + -1) {
              *var_21 = *var_20;
              var_20 = var_20 + (type_10)bVar28 * -2 + 1;
              var_21 = var_21 + (type_10)bVar28 * -2 + 1;
            }
            var_17 = (type_2 *)(filedata->file_header).e_flags;
          }
        }
      }
      else if (var_18 == 0xa7) {
        var_22 = (type_10)var_17 & 0xf0000000;
        var_27 = (type_10)var_17 & 0xf0;
        var_33 = &var_16;
        for (var_19 = 0x100; var_19 != 0; var_19 = var_19 + -1) {
          *var_33 = 0;
          var_33 = var_33 + (type_10)bVar28 * -2 + 1;
        }
        if (var_27 == 0x20) {
LAB_0003d15d:
          var_19 = var_9((char *)&var_16,0x400,", %s",
                            *(type_11 *)(var_34 + (var_27 >> 4) * 4));
        }
        else {
          if (var_27 < 0x21) {
            if ((var_27 == 0) || (var_27 == 0x10)) goto LAB_0003d15d;
          }
          else if ((var_27 == 0x40) || ((var_27 == 0x50 || (var_27 == 0x30)))) goto LAB_0003d15d;
          var_16 = 0x753c202c;
          var_19 = 0x14;
          DAT_000b57a4 = 0x6365726e;
          var_41 = 0x696e676f;
          DAT_000b57ac = 0x2064657a;
          DAT_000b57b0 = 0x3e494241;
          DAT_000b57b4 = 0;
        }
        if (((type_10)var_17 & 0xf) < 3) {
          var_36 = var_9((char *)((int)&var_16 + var_19),0x400U - var_19,", %s",
                            *(type_11 *)(var_35 + ((type_10)var_17 & 0xf) * 4));
          var_26 = var_19 + var_36;
        }
        else {
          var_26 = var_19 + 0x23;
          var_9((char *)((int)&var_16 + var_19),0x400U - var_19,
                   ", <unrecognized ELF version number>");
        }
        sVar15 = 0x400 - var_26;
        var_20 = (char *)((int)&var_16 + var_26);
        if (var_27 == 0) {
          var_19 = var_9(var_20,sVar15,", Andes Star v1.0, N1213HC, MAC, PERF1",&var_16);
          if (var_22 == 0x10000000) {
            var_9((char *)(var_26 + 0xb57c6),0x400 - (var_26 + 0x26),", 16b",var_19);
            var_17 = (type_2 *)(filedata->file_header).e_flags;
          }
          else {
            var_17 = (type_2 *)(filedata->file_header).e_flags;
          }
        }
        else if (var_22 == 0x20000000) {
LAB_0003d678:
          var_19 = var_9(var_20,sVar15,", %s",
                            *(type_11 *)(var_37 + ((type_10)var_17 >> 0x1c) * 4));
          var_19 = var_19 + var_26;
          var_27 = (type_10)var_17 & 0x100;
          uVar16 = extraout_ECX_00;
          if (var_22 == 0x10000000) {
            if (var_27 != 0) {
              sVar15 = 0x400 - var_19;
              var_20 = (char *)((int)&var_16 + var_19);
              var_19 = var_19 + 10;
              var_27 = var_9(var_20,sVar15,", MFUSR_PC",var_27);
              uVar16 = extraout_ECX_20;
            }
            if (((type_10)var_17 & 0x100000) == 0) {
              sVar15 = 0x400 - var_19;
              var_20 = (char *)((int)&var_16 + var_19);
              var_19 = var_19 + 5;
              var_27 = var_9(var_20,sVar15,", MAC",var_27);
              uVar16 = extraout_ECX_19;
            }
            if (((type_10)var_17 & 0x2000) != 0) {
              sVar15 = 0x400 - var_19;
              var_20 = (char *)((int)&var_16 + var_19);
              var_19 = var_19 + 5;
              var_27 = var_9(var_20,sVar15,", DIV",var_27);
              uVar16 = extraout_ECX_18;
            }
            if (((type_10)var_17 & 0x4000) != 0) {
              sVar15 = 0x400 - var_19;
              var_20 = (char *)((int)&var_16 + var_19);
              var_19 = var_19 + 5;
              var_27 = var_9(var_20,sVar15,", 16b",var_27);
              uVar16 = extraout_ECX_10;
            }
          }
          else {
            if (var_27 != 0) {
              sVar15 = 0x400 - var_19;
              var_20 = (char *)((int)&var_16 + var_19);
              if (((type_10)var_17 & 0xe) == 0) {
                var_19 = var_19 + 6;
                var_27 = var_9(var_20,sVar15,", [B8]",var_26);
                uVar16 = extraout_ECX_01;
              }
              else {
                var_19 = var_19 + 5;
                var_27 = var_9(var_20,sVar15,", EX9",extraout_EDX_00);
                uVar16 = extraout_ECX_11;
              }
            }
            if (((type_10)var_17 & 0x100000) != 0) {
              sVar15 = 0x400 - var_19;
              var_20 = (char *)((int)&var_16 + var_19);
              var_19 = var_19 + 8;
              var_27 = var_9(var_20,sVar15,", MAC_DX",var_27);
              uVar16 = extraout_ECX_09;
            }
            if (((type_10)var_17 & 0x2000) != 0) {
              sVar15 = 0x400 - var_19;
              var_20 = (char *)((int)&var_16 + var_19);
              var_19 = var_19 + 8;
              var_27 = var_9(var_20,sVar15,", DIV_DX",var_27);
              uVar16 = extraout_ECX_14;
            }
            if (((type_10)var_17 & 0x4000) != 0) {
              sVar15 = 0x400 - var_19;
              var_20 = (char *)((int)&var_16 + var_19);
              var_22 = (type_10)var_17 & 0xffffff0e;
              if (((type_10)var_17 & 0xe) == 0) {
                var_21 = ", 16b";
                var_22 = var_26;
              }
              else {
                var_21 = ", IFC";
              }
              var_19 = var_19 + 5;
              var_27 = var_9(var_20,sVar15,var_21,var_22);
              uVar16 = extraout_ECX_02;
            }
          }
          if (((type_10)var_17 & 0x200) != 0) {
            sVar15 = 0x400 - var_19;
            var_20 = (char *)((int)&var_16 + var_19);
            var_19 = var_19 + 7;
            var_27 = var_9(var_20,sVar15,", PERF1",var_27);
            uVar16 = extraout_ECX_13;
          }
          if (((type_10)var_17 & 0x400) != 0) {
            sVar15 = 0x400 - var_19;
            var_20 = (char *)((int)&var_16 + var_19);
            var_19 = var_19 + 7;
            var_9(var_20,sVar15,", PERF2",var_27);
            uVar16 = extraout_ECX_12;
          }
          var_22 = (type_10)var_17 & 0x1000000;
          if (((type_10)var_17 & 0x800) == 0) {
            pFVar14 = var_17;
            if (((type_10)var_17 & 0x80000) != 0) {
LAB_0003eba3:
              sVar15 = 0x400 - var_19;
              var_20 = (char *)((int)&var_16 + var_19);
              var_19 = var_19 + 8;
              pFVar14 = (type_2 *)var_9(var_20,sVar15,", FPU_DP",pFVar14);
              goto LAB_0003ebc4;
            }
            if (var_22 != 0) goto LAB_0003ebc8;
          }
          else {
            sVar15 = 0x400 - var_19;
            var_20 = (char *)((int)&var_16 + var_19);
            var_19 = var_19 + 8;
            pFVar14 = (type_2 *)var_9(var_20,sVar15,", FPU_SP",var_17);
            if (((type_10)var_17 & 0x80000) != 0) goto LAB_0003eba3;
LAB_0003ebc4:
            if (var_22 != 0) {
LAB_0003ebc8:
              sVar15 = 0x400 - var_19;
              var_20 = (char *)((int)&var_16 + var_19);
              var_19 = var_19 + 9;
              var_9(var_20,sVar15,", FPU_MAC",pFVar14);
            }
            sVar15 = 0x400 - var_19;
            var_20 = (char *)((int)&var_16 + var_19);
            var_27 = (type_10)var_17 >> 0x16 & 3;
            if (var_27 == 2) {
              var_21 = ", FPU_REG:32/16";
              var_27 = var_22;
            }
            else {
              if (var_27 != 3) {
                if (var_27 == 1) {
                  var_19 = var_19 + 0xe;
                  pFVar14 = (type_2 *)var_9(var_20,sVar15,", FPU_REG:16/8",0);
                  uVar16 = extraout_ECX_16;
                }
                else {
                  var_19 = var_19 + 0xd;
                  pFVar14 = (type_2 *)var_9(var_20,sVar15,", FPU_REG:8/4",var_22);
                  uVar16 = extraout_ECX_06;
                }
                goto LAB_0003d76f;
              }
              var_21 = ", FPU_REG:32/32";
              var_27 = 3;
            }
            var_19 = var_19 + 0xf;
            pFVar14 = (type_2 *)var_9(var_20,sVar15,var_21,var_27);
            uVar16 = extraout_ECX_17;
          }
LAB_0003d76f:
          if (((type_10)var_17 & 0x1000) != 0) {
            sVar15 = 0x400 - var_19;
            var_20 = (char *)((int)&var_16 + var_19);
            var_19 = var_19 + 7;
            pFVar14 = (type_2 *)var_9(var_20,sVar15,", AUDIO",pFVar14);
            uVar16 = extraout_ECX_05;
          }
          if (((type_10)var_17 & 0x8000) != 0) {
            sVar15 = 0x400 - var_19;
            var_20 = (char *)((int)&var_16 + var_19);
            var_19 = var_19 + 5;
            pFVar14 = (type_2 *)var_9(var_20,sVar15,", STR",pFVar14);
            uVar16 = extraout_ECX_08;
          }
          if (((type_10)var_17 & 0x10000) != 0) {
            sVar15 = 0x400 - var_19;
            var_20 = (char *)((int)&var_16 + var_19);
            var_19 = var_19 + 7;
            var_9(var_20,sVar15,", 16REG",pFVar14);
            uVar16 = extraout_ECX_07;
          }
          if (((type_10)var_17 & 0x20000) != 0) {
            sVar15 = 0x400 - var_19;
            var_20 = (char *)((int)&var_16 + var_19);
            if (((type_10)var_17 & 0xe) == 0) {
              var_19 = var_19 + 7;
              var_9(var_20,sVar15,", VIDEO",var_22);
              uVar16 = extraout_ECX_03;
            }
            else {
              var_19 = var_19 + 0xc;
              var_9(var_20,sVar15,", SATURATION",(type_10)var_17 & 0xffffff0e);
              uVar16 = extraout_ECX_15;
            }
          }
          if (((type_10)var_17 & 0x40000) != 0) {
            sVar15 = 0x400 - var_19;
            var_20 = (char *)((int)&var_16 + var_19);
            var_19 = var_19 + 7;
            var_9(var_20,sVar15,", ENCRP",var_22);
            uVar16 = extraout_ECX_04;
          }
          if (((type_10)var_17 & 0x200000) == 0) {
            var_17 = (type_2 *)(filedata->file_header).e_flags;
          }
          else {
            var_9((char *)((int)&var_16 + var_19),0x400 - var_19,", L2C",uVar16);
            var_17 = (type_2 *)(filedata->file_header).e_flags;
          }
        }
        else {
          if (var_22 < 0x20000001) {
            if (var_22 == 0x10000000) goto LAB_0003d678;
          }
          else if ((var_22 == 0x30000000) || (var_22 == 0x40000000)) goto LAB_0003d678;
          var_9(var_20,sVar15,", <unrecognized architecture>");
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
      }
      else if (var_18 == 0xad) {
        if (((type_10)var_17 & 1) != 0) {
          var_20 = ", 64-bit doubles";
          var_24 = &var_16;
          for (var_19 = 0x11; var_19 != 0; var_19 = var_19 + -1) {
            *(char *)var_24 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_24 = (type_10 *)((int)var_24 + (type_10)bVar28 * -2 + 1);
          }
        }
        if (((type_10)var_17 & 2) != 0) {
          var_22 = 0xffffffff;
          var_24 = &var_16;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_27 = *var_24;
            var_24 = (type_10 *)((int)var_24 + (type_10)bVar28 * -2 + 1);
          } while ((char)var_27 != '\0');
          *(type_11 *)(&DAT_000b579f + ~var_22) = 0x7364202c;
          *(type_14 *)((int)&var_16 + ~var_22 + 3) = 0x70;
        }
        if (((type_10)var_17 & 4) != 0) {
          var_22 = 0xffffffff;
          var_24 = &var_16;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_27 = *var_24;
            var_24 = (type_10 *)((int)var_24 + (type_10)bVar28 * -2 + 1);
          } while ((char)var_27 != '\0');
          *(type_11 *)(&DAT_000b579f + ~var_22) = 0x6970202c;
          *(type_14 *)((int)&var_16 + ~var_22 + 3) = 100;
        }
        if (((type_10)var_17 & 8) != 0) {
          var_22 = 0xffffffff;
          var_24 = &var_16;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_27 = *var_24;
            var_24 = (type_10 *)((int)var_24 + (type_10)bVar28 * -2 + 1);
          } while ((char)var_27 != '\0');
          var_20 = ", RX ABI";
          var_21 = &DAT_000b579f + ~var_22;
          for (var_19 = 9; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
        }
        if (((type_10)var_17 & 0x40) != 0) {
          var_24 = &var_16;
          var_20 = ", uses String instructions";
          if (((type_10)var_17 & 0x80) == 0) {
            var_20 = ", bans String instructions";
          }
          do {
            var_25 = var_24;
            var_27 = *var_25 + 0xfefefeff & ~*var_25;
            var_22 = var_27 & 0x80808080;
            var_24 = var_25 + 1;
          } while (var_22 == 0);
          bVar26 = (var_27 & 0x8080) == 0;
          if (bVar26) {
            var_22 = var_22 >> 0x10;
          }
          if (bVar26) {
            var_24 = (type_10 *)((int)var_25 + 6);
          }
          var_21 = (char *)((int)var_24 + (-3 - (type_10)var_28((type_12)var_22,(type_12)var_22)));
          *(type_11 *)var_21 = *(type_11 *)var_20;
          *(type_11 *)(var_21 + 4) = *(type_11 *)(var_20 + 4);
          *(type_11 *)(var_21 + 8) = *(type_11 *)(var_20 + 8);
          *(type_11 *)(var_21 + 0xc) = *(type_11 *)(var_20 + 0xc);
          *(type_11 *)(var_21 + 0x10) = *(type_11 *)(var_20 + 0x10);
          *(type_11 *)(var_21 + 0x14) = *(type_11 *)(var_20 + 0x14);
          var_23 = var_20[0x1a];
          *(type_14 *)(var_21 + 0x18) = *(type_14 *)(var_20 + 0x18);
          var_21[0x1a] = var_23;
        }
        if (((type_10)var_17 & 0x100) == 0) {
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
        else {
          var_22 = 0xffffffff;
          var_24 = &var_16;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_27 = *var_24;
            var_24 = (type_10 *)((int)var_24 + (type_10)bVar28 * -2 + 1);
          } while ((char)var_27 != '\0');
          *(type_11 *)(&DAT_000b579f + ~var_22) = 0x3256202c;
          *(type_9 *)((int)&var_16 + ~var_22 + 3) = 0;
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
      }
    }
    else if (var_18 == 0xfa) {
      var_22 = (type_10)var_17 >> 8 & 0xffff;
      if (var_22 == 0x3200) {
        var_20 = ", NFP-32xx";
        var_24 = &var_16;
        for (var_19 = 0xb; var_19 != 0; var_19 = var_19 + -1) {
          *(char *)var_24 = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          var_24 = (type_10 *)((int)var_24 + (type_10)bVar28 * -2 + 1);
        }
        var_17 = (type_2 *)(filedata->file_header).e_flags;
      }
      else if (var_22 == 0x6000) {
        var_20 = ", NFP-6xxx";
        var_24 = &var_16;
        for (var_19 = 0xb; var_19 != 0; var_19 = var_19 + -1) {
          *(char *)var_24 = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          var_24 = (type_10 *)((int)var_24 + (type_10)bVar28 * -2 + 1);
        }
        var_17 = (type_2 *)(filedata->file_header).e_flags;
      }
    }
    else if (var_18 < 0xfb) {
      if (var_18 == 0xdd) {
        if (((type_10)var_17 & 1) == 0) {
          if (((type_10)var_17 & 2) != 0) {
            var_16 = 0x636d202c;
            DAT_000b57a4 = 0x34326d;
          }
        }
        else {
          var_16 = 0x636d202c;
          DAT_000b57a4 = var_32(DAT_000b57a4._2_2_,0x6d);
        }
        if (((type_10)var_17 & 4) == 0) {
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
        else {
          var_22 = 0xffffffff;
          var_20 = (char *)&var_16;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_23 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          } while (var_23 != '\0');
          *(type_11 *)(&DAT_000b579f + ~var_22) = 0x7267202c;
          *(type_14 *)((int)&var_16 + ~var_22 + 3) = 0x36;
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
      }
      else if (var_18 == 0xf3) {
        if (((type_10)var_17 & 1) != 0) {
          var_16 = 0x5652202c;
          DAT_000b57a4 = var_32(DAT_000b57a4._2_2_,0x43);
        }
        if (((type_10)var_17 & 8) != 0) {
          var_22 = 0xffffffff;
          var_20 = (char *)&var_16;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_23 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          } while (var_23 != '\0');
          *(type_11 *)(&DAT_000b579f + ~var_22) = 0x5652202c;
          *(type_14 *)((int)&var_16 + ~var_22 + 3) = 0x45;
        }
        var_22 = (type_10)var_17 & 6;
        if (var_22 == 2) {
          var_22 = 0xffffffff;
          var_20 = (char *)&var_16;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_23 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          } while (var_23 != '\0');
          var_20 = ", single-float ABI";
          var_21 = &DAT_000b579f + ~var_22;
          for (var_19 = 0x13; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
        else if (var_22 < 3) {
          if (var_22 == 0) {
            var_22 = 0xffffffff;
            var_20 = (char *)&var_16;
            do {
              if (var_22 == 0) break;
              var_22 = var_22 - 1;
              var_23 = *var_20;
              var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            } while (var_23 != '\0');
            var_20 = ", soft-float ABI";
            var_21 = &DAT_000b579f + ~var_22;
            for (var_19 = 0x11; var_19 != 0; var_19 = var_19 + -1) {
              *var_21 = *var_20;
              var_20 = var_20 + (type_10)bVar28 * -2 + 1;
              var_21 = var_21 + (type_10)bVar28 * -2 + 1;
            }
            var_17 = (type_2 *)(filedata->file_header).e_flags;
          }
          else {
LAB_0003e76f:
            var_17 = (type_2 *)(filedata->file_header).e_flags;
          }
        }
        else if (var_22 == 4) {
          var_22 = 0xffffffff;
          var_20 = (char *)&var_16;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_23 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          } while (var_23 != '\0');
          var_20 = ", double-float ABI";
          var_21 = &DAT_000b579f + ~var_22;
          for (var_19 = 0x13; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
        else {
          if (var_22 != 6) goto LAB_0003e76f;
          var_22 = 0xffffffff;
          var_20 = (char *)&var_16;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_23 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          } while (var_23 != '\0');
          var_20 = ", quad-float ABI";
          var_21 = &DAT_000b579f + ~var_22;
          for (var_19 = 0x11; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
      }
      else if (var_18 == 0xc5) {
        var_22 = (type_10)var_17 & 0xc;
        if (var_22 == 8) {
          var_16 = 0x3147202c;
          DAT_000b57a4 = var_32(DAT_000b57a4._2_2_,0x33);
        }
        else if (var_22 == 0xc) {
          var_16 = 0x3147202c;
          DAT_000b57a4 = var_32(DAT_000b57a4._2_2_,0x34);
        }
        else if (var_22 == 4) {
          var_16 = 0x3147202c;
          DAT_000b57a4 = var_32(DAT_000b57a4._2_2_,0x30);
        }
        if (((type_10)var_17 & 1) == 0) {
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
        else {
          var_22 = 0xffffffff;
          var_20 = (char *)&var_16;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_23 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          } while (var_23 != '\0');
          var_20 = ", 64-bit doubles";
          var_21 = &DAT_000b579f + ~var_22;
          for (var_19 = 0x11; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
      }
    }
    else if (var_18 == 0x9041) {
LAB_0003bb50:
      if (((type_10)var_17 & 0x30000000) == 0) {
        var_38 = &DAT_0007ca93;
        var_33 = &var_16;
        for (var_19 = 7; var_19 != 0; var_19 = var_19 + -1) {
          *(type_9 *)var_33 = *var_38;
          var_38 = var_38 + (type_10)bVar28 * -2 + 1;
          var_33 = (type_11 *)((int)var_33 + (type_10)bVar28 * -2 + 1);
        }
        var_17 = (type_2 *)(filedata->file_header).e_flags;
      }
    }
    else if (var_18 < 0x9042) {
      if (var_18 == 0x5441) {
        var_22 = (type_10)var_17 & 0xff000000;
        if (var_22 == 0x4000000) {
          var_20 = ", tomcat";
          var_21 = (char *)&var_16;
          for (var_19 = 9; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
        else if (var_22 < 0x4000001) {
          if (var_22 == 0x1000000) {
            var_16 = 0x7266202c;
            DAT_000b57a4 = 0x303035;
            var_17 = (type_2 *)(filedata->file_header).e_flags;
          }
          else if (var_22 < 0x1000001) {
            if (var_22 != 0) {
LAB_0003d4b1:
              var_16 = 0x7266202c;
              DAT_000b57a4 = 0x3f3f3f;
              var_17 = (type_2 *)(filedata->file_header).e_flags;
            }
          }
          else if (var_22 == 0x2000000) {
            var_16 = 0x7266202c;
            DAT_000b57a4 = 0x303033;
            var_17 = (type_2 *)(filedata->file_header).e_flags;
          }
          else {
            if (var_22 != 0x3000000) goto LAB_0003d4b1;
            var_20 = ", simple";
            var_21 = (char *)&var_16;
            for (var_19 = 9; var_19 != 0; var_19 = var_19 + -1) {
              *var_21 = *var_20;
              var_20 = var_20 + (type_10)bVar28 * -2 + 1;
              var_21 = var_21 + (type_10)bVar28 * -2 + 1;
            }
            var_17 = (type_2 *)(filedata->file_header).e_flags;
          }
        }
        else if (var_22 == 0x6000000) {
          var_16 = 0x7266202c;
          DAT_000b57a4 = 0x303535;
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
        else if (var_22 < 0x6000001) {
          if (var_22 != 0x5000000) goto LAB_0003d4b1;
          var_16 = 0x7266202c;
          DAT_000b57a4 = 0x303034;
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
        else if (var_22 == 0x7000000) {
          var_16 = 0x7266202c;
          DAT_000b57a4 = 0x353034;
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
        else {
          if (var_22 != 0x8000000) goto LAB_0003d4b1;
          var_16 = 0x7266202c;
          DAT_000b57a4 = 0x303534;
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
      }
    }
    else {
      if (var_18 == 0x9080) goto LAB_0003c0c0;
      if (var_18 == 0xf00d) {
        var_22 = (type_10)var_17 & 0xff000000;
        if (var_22 == 0x2000000) {
          var_20 = ", MeP C3";
          var_21 = (char *)&var_16;
          for (var_19 = 9; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
        }
        else if (var_22 < 0x2000001) {
          if (var_22 == 0) {
            var_20 = ", generic MeP";
            var_21 = (char *)&var_16;
            for (var_19 = 0xe; var_19 != 0; var_19 = var_19 + -1) {
              *var_21 = *var_20;
              var_20 = var_20 + (type_10)bVar28 * -2 + 1;
              var_21 = var_21 + (type_10)bVar28 * -2 + 1;
            }
          }
          else if (var_22 == 0x1000000) {
            var_20 = ", MeP C2";
            var_21 = (char *)&var_16;
            for (var_19 = 9; var_19 != 0; var_19 = var_19 + -1) {
              *var_21 = *var_20;
              var_20 = var_20 + (type_10)bVar28 * -2 + 1;
              var_21 = var_21 + (type_10)bVar28 * -2 + 1;
            }
          }
          else {
LAB_0003ba2e:
            var_20 = (char *)var_1(0,", <unknown MeP cpu type>",5,&DAT_00076943);
            var_31((char *)&var_16,var_20);
          }
        }
        else if (var_22 == 0x8000000) {
          var_20 = ", MeP C5";
          var_21 = (char *)&var_16;
          for (var_19 = 9; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
        }
        else if (var_22 == 0x10000000) {
          var_20 = ", MeP H1";
          var_21 = (char *)&var_16;
          for (var_19 = 9; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
        }
        else {
          if (var_22 != 0x4000000) goto LAB_0003ba2e;
          var_20 = ", MeP C4";
          var_21 = (char *)&var_16;
          for (var_19 = 9; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
        }
        local_34 = (type_2 *)&var_16;
        var_39 = (type_8 *)((type_10)var_17 & 0xff0000);
        if (var_39 == (type_8 *)0x20000) {
          var_22 = 0xffffffff;
          var_39 = (type_8 *)0x0;
          pFVar14 = local_34;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_23 = *(char *)pFVar14;
            pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
          } while (var_23 != '\0');
          var_20 = ", AVC2 coprocessor";
          var_21 = &DAT_000b579f + ~var_22;
          for (var_19 = 0x13; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
        }
        else if (var_39 < (type_8 *)0x20001) {
          if (var_39 != (type_8 *)0x0) {
            if (var_39 == &Elf32_Ehdr_00010000) {
              var_22 = 0xffffffff;
              var_39 = (type_8 *)0x0;
              pFVar14 = local_34;
              do {
                if (var_22 == 0) break;
                var_22 = var_22 - 1;
                var_23 = *(char *)pFVar14;
                pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
              } while (var_23 != '\0');
              var_20 = ", AVC coprocessor";
              var_21 = &DAT_000b579f + ~var_22;
              for (var_19 = 0x12; var_19 != 0; var_19 = var_19 + -1) {
                *var_21 = *var_20;
                var_20 = var_20 + (type_10)bVar28 * -2 + 1;
                var_21 = var_21 + (type_10)bVar28 * -2 + 1;
              }
            }
            else {
LAB_0003e6fc:
              var_20 = (char *)var_1(0,"<unknown MeP copro type>",5,var_39);
              var_39 = (type_8 *)var_31((char *)&var_16,var_20);
            }
          }
        }
        else if (var_39 == (type_8 *)0x30000) {
          var_22 = 0xffffffff;
          var_39 = (type_8 *)0x0;
          pFVar14 = local_34;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_23 = *(char *)pFVar14;
            pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
          } while (var_23 != '\0');
          var_20 = ", FMAX coprocessor";
          var_21 = &DAT_000b579f + ~var_22;
          for (var_19 = 0x13; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
        }
        else {
          if (var_39 != (type_8 *)0x60000) goto LAB_0003e6fc;
          var_22 = 0xffffffff;
          var_39 = (type_8 *)0x0;
          pFVar14 = local_34;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_23 = *(char *)pFVar14;
            pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
          } while (var_23 != '\0');
          var_20 = ", IVC2 coprocessor";
          var_21 = &DAT_000b579f + ~var_22;
          for (var_19 = 0x13; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
        }
        if (((type_10)var_17 & 0x100) != 0) {
          var_22 = 0xffffffff;
          var_39 = (type_8 *)0x0;
          pFVar14 = local_34;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_23 = *(char *)pFVar14;
            pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
          } while (var_23 != '\0');
          var_20 = ", Built for Library";
          var_33 = (type_11 *)(&DAT_000b579f + ~var_22);
          for (var_19 = 5; var_19 != 0; var_19 = var_19 + -1) {
            *var_33 = *(type_11 *)var_20;
            var_20 = var_20 + ((type_10)bVar28 * -2 + 1) * 4;
            var_33 = var_33 + (type_10)bVar28 * -2 + 1;
          }
        }
        if (((type_10)var_17 & 0xff) != 0) {
          var_22 = 0xffffffff;
          pFVar14 = local_34;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_23 = *(char *)pFVar14;
            pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
          } while (var_23 != '\0');
          var_39 = (type_8 *)
                    var_40(&DAT_000b579f + ~var_22,", Configuration Index: %#x",
                            (type_10)var_17 & 0xff,0);
        }
        if (((type_10)var_17 & 0xfe00) == 0) {
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
        else {
          var_20 = (char *)var_1(0,", unknown flags bits: %#x",5,var_39);
          var_22 = 0xffffffff;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_23 = *(char *)local_34;
            local_34 = (type_2 *)((int)local_34 + (type_10)bVar28 * -2 + 1);
          } while (var_23 != '\0');
          var_40(&DAT_000b579f + ~var_22,var_20,(type_10)var_17 & 0xfe00);
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
      }
    }
    goto LAB_0003b840;
  }
  if (var_18 == 0x24) {
    if (((type_10)var_17 & 0xf0000000) == 0xf0000000) {
      var_24 = (type_10 *)", RH850 ABI";
      var_25 = &var_16;
      for (var_19 = 3; var_19 != 0; var_19 = var_19 + -1) {
        *var_25 = *var_24;
        var_24 = var_24 + (type_10)bVar28 * -2 + 1;
        var_25 = var_25 + (type_10)bVar28 * -2 + 1;
      }
    }
    if (((type_10)var_17 & 0x100000) != 0) {
      var_22 = 0xffffffff;
      var_24 = &var_16;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        var_27 = *var_24;
        var_24 = (type_10 *)((int)var_24 + (type_10)bVar28 * -2 + 1);
      } while ((char)var_27 != '\0');
      var_20 = ", V3 architecture";
      var_21 = &DAT_000b579f + ~var_22;
      for (var_19 = 0x12; var_19 != 0; var_19 = var_19 + -1) {
        *var_21 = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        var_21 = var_21 + (type_10)bVar28 * -2 + 1;
      }
    }
    if (((type_10)var_17 & 3) == 0) {
      var_22 = 0xffffffff;
      var_24 = &var_16;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        var_27 = *var_24;
        var_24 = (type_10 *)((int)var_24 + (type_10)bVar28 * -2 + 1);
      } while ((char)var_27 != '\0');
      var_20 = ", FPU not used";
      var_21 = &DAT_000b579f + ~var_22;
      for (var_19 = 0xf; var_19 != 0; var_19 = var_19 + -1) {
        *var_21 = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        var_21 = var_21 + (type_10)bVar28 * -2 + 1;
      }
    }
    if (((type_10)var_17 & 0x60) == 0) {
      var_22 = 0xffffffff;
      var_24 = &var_16;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        var_27 = *var_24;
        var_24 = (type_10 *)((int)var_24 + (type_10)bVar28 * -2 + 1);
      } while ((char)var_27 != '\0');
      var_20 = ", regmode: COMMON";
      var_21 = &DAT_000b579f + ~var_22;
      for (var_19 = 0x12; var_19 != 0; var_19 = var_19 + -1) {
        *var_21 = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        var_21 = var_21 + (type_10)bVar28 * -2 + 1;
      }
    }
    if (((type_10)var_17 & 0x300) == 0) {
      var_22 = 0xffffffff;
      var_24 = &var_16;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        var_27 = *var_24;
        var_24 = (type_10 *)((int)var_24 + (type_10)bVar28 * -2 + 1);
      } while ((char)var_27 != '\0');
      var_20 = ", r4 not used";
      var_21 = &DAT_000b579f + ~var_22;
      for (var_19 = 0xe; var_19 != 0; var_19 = var_19 + -1) {
        *var_21 = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        var_21 = var_21 + (type_10)bVar28 * -2 + 1;
      }
    }
    if (((type_10)var_17 & 0xc00) == 0) {
      var_22 = 0xffffffff;
      var_24 = &var_16;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        var_27 = *var_24;
        var_24 = (type_10 *)((int)var_24 + (type_10)bVar28 * -2 + 1);
      } while ((char)var_27 != '\0');
      var_20 = ", r30 not used";
      var_21 = &DAT_000b579f + ~var_22;
      for (var_19 = 0xf; var_19 != 0; var_19 = var_19 + -1) {
        *var_21 = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        var_21 = var_21 + (type_10)bVar28 * -2 + 1;
      }
    }
    if (((type_10)var_17 & 0x3000) == 0) {
      var_22 = 0xffffffff;
      var_24 = &var_16;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        var_27 = *var_24;
        var_24 = (type_10 *)((int)var_24 + (type_10)bVar28 * -2 + 1);
      } while ((char)var_27 != '\0');
      var_20 = ", r5 not used";
      var_21 = &DAT_000b579f + ~var_22;
      for (var_19 = 0xe; var_19 != 0; var_19 = var_19 + -1) {
        *var_21 = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        var_21 = var_21 + (type_10)bVar28 * -2 + 1;
      }
    }
    if (((type_10)var_17 & 0xc000) == 0) {
      var_22 = 0xffffffff;
      var_24 = &var_16;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        var_27 = *var_24;
        var_24 = (type_10 *)((int)var_24 + (type_10)bVar28 * -2 + 1);
      } while ((char)var_27 != '\0');
      var_20 = ", r2 not used";
      var_21 = &DAT_000b579f + ~var_22;
      for (var_19 = 0xe; var_19 != 0; var_19 = var_19 + -1) {
        *var_21 = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        var_21 = var_21 + (type_10)bVar28 * -2 + 1;
      }
    }
    var_22 = (type_10)var_17 & 0xffff;
    if (var_22 == 0) {
      var_17 = (type_2 *)(filedata->file_header).e_flags;
    }
    else {
      do {
        var_27 = -var_22 & var_22;
        var_24 = &var_16;
        if (var_27 == 0x200) {
          do {
            var_25 = var_24;
            var_26 = *var_25 + 0xfefefeff & ~*var_25;
            var_27 = var_26 & 0x80808080;
            var_24 = var_25 + 1;
          } while (var_27 == 0);
          bVar26 = (var_26 & 0x8080) == 0;
          if (bVar26) {
            var_27 = var_27 >> 0x10;
          }
          if (bVar26) {
            var_24 = (type_10 *)((int)var_25 + 6);
          }
          var_30((char *)((int)var_24 + (-3 - (type_10)var_28((type_12)var_27,(type_12)var_27))),
                          ", r4 free",10);
        }
        else if (var_27 < 0x201) {
          if (var_27 == 0x20) {
            do {
              var_25 = var_24;
              var_26 = *var_25 + 0xfefefeff & ~*var_25;
              var_27 = var_26 & 0x80808080;
              var_24 = var_25 + 1;
            } while (var_27 == 0);
            bVar26 = (var_26 & 0x8080) == 0;
            if (bVar26) {
              var_27 = var_27 >> 0x10;
            }
            if (bVar26) {
              var_24 = (type_10 *)((int)var_25 + 6);
            }
            var_30((char *)((int)var_24 + (-3 - (type_10)var_28((type_12)var_27,(type_12)var_27))),
                            ", regmode:22",0xd);
          }
          else if (var_27 < 0x21) {
            if (var_27 == 1) {
              do {
                var_25 = var_24;
                var_26 = *var_25 + 0xfefefeff & ~*var_25;
                var_27 = var_26 & 0x80808080;
                var_24 = var_25 + 1;
              } while (var_27 == 0);
              bVar26 = (var_26 & 0x8080) == 0;
              if (bVar26) {
                var_27 = var_27 >> 0x10;
              }
              if (bVar26) {
                var_24 = (type_10 *)((int)var_25 + 6);
              }
              var_30((char *)((int)var_24 + (-3 - (type_10)var_28((type_12)var_27,(type_12)var_27))
                                      ),", double precision FPU",0x17);
            }
            else if (var_27 == 2) {
              do {
                var_25 = var_24;
                var_26 = *var_25 + 0xfefefeff & ~*var_25;
                var_27 = var_26 & 0x80808080;
                var_24 = var_25 + 1;
              } while (var_27 == 0);
              bVar26 = (var_26 & 0x8080) == 0;
              if (bVar26) {
                var_27 = var_27 >> 0x10;
              }
              if (bVar26) {
                var_24 = (type_10 *)((int)var_25 + 6);
              }
              var_30((char *)((int)var_24 + (-3 - (type_10)var_28((type_12)var_27,(type_12)var_27))
                                      ),", single precision FPU",0x17);
            }
          }
          else if (var_27 == 0x40) {
            do {
              var_25 = var_24;
              var_26 = *var_25 + 0xfefefeff & ~*var_25;
              var_27 = var_26 & 0x80808080;
              var_24 = var_25 + 1;
            } while (var_27 == 0);
            bVar26 = (var_26 & 0x8080) == 0;
            if (bVar26) {
              var_27 = var_27 >> 0x10;
            }
            if (bVar26) {
              var_24 = (type_10 *)((int)var_25 + 6);
            }
            var_30((char *)((int)var_24 + (-3 - (type_10)var_28((type_12)var_27,(type_12)var_27))),
                            ", regmode:23",0xd);
          }
          else if (var_27 == 0x100) {
            do {
              var_25 = var_24;
              var_26 = *var_25 + 0xfefefeff & ~*var_25;
              var_27 = var_26 & 0x80808080;
              var_24 = var_25 + 1;
            } while (var_27 == 0);
            bVar26 = (var_26 & 0x8080) == 0;
            if (bVar26) {
              var_27 = var_27 >> 0x10;
            }
            if (bVar26) {
              var_24 = (type_10 *)((int)var_25 + 6);
            }
            var_30((char *)((int)var_24 + (-3 - (type_10)var_28((type_12)var_27,(type_12)var_27))),
                            ", r4 fixed",0xb);
          }
        }
        else if (var_27 == 0x1000) {
          do {
            var_25 = var_24;
            var_26 = *var_25 + 0xfefefeff & ~*var_25;
            var_27 = var_26 & 0x80808080;
            var_24 = var_25 + 1;
          } while (var_27 == 0);
          bVar26 = (var_26 & 0x8080) == 0;
          if (bVar26) {
            var_27 = var_27 >> 0x10;
          }
          if (bVar26) {
            var_24 = (type_10 *)((int)var_25 + 6);
          }
          var_30((char *)((int)var_24 + (-3 - (type_10)var_28((type_12)var_27,(type_12)var_27))),
                          ", r5 fixed",0xb);
        }
        else if (var_27 < 0x1001) {
          if (var_27 == 0x400) {
            do {
              var_25 = var_24;
              var_26 = *var_25 + 0xfefefeff & ~*var_25;
              var_27 = var_26 & 0x80808080;
              var_24 = var_25 + 1;
            } while (var_27 == 0);
            bVar26 = (var_26 & 0x8080) == 0;
            if (bVar26) {
              var_27 = var_27 >> 0x10;
            }
            if (bVar26) {
              var_24 = (type_10 *)((int)var_25 + 6);
            }
            var_30((char *)((int)var_24 + (-3 - (type_10)var_28((type_12)var_27,(type_12)var_27))),
                            ", r30 fixed",0xc);
          }
          else if (var_27 == 0x800) {
            do {
              var_25 = var_24;
              var_26 = *var_25 + 0xfefefeff & ~*var_25;
              var_27 = var_26 & 0x80808080;
              var_24 = var_25 + 1;
            } while (var_27 == 0);
            bVar26 = (var_26 & 0x8080) == 0;
            if (bVar26) {
              var_27 = var_27 >> 0x10;
            }
            if (bVar26) {
              var_24 = (type_10 *)((int)var_25 + 6);
            }
            var_30((char *)((int)var_24 + (-3 - (type_10)var_28((type_12)var_27,(type_12)var_27))),
                            ", r30 free",0xb);
          }
        }
        else if (var_27 == 0x4000) {
          do {
            var_25 = var_24;
            var_26 = *var_25 + 0xfefefeff & ~*var_25;
            var_27 = var_26 & 0x80808080;
            var_24 = var_25 + 1;
          } while (var_27 == 0);
          bVar26 = (var_26 & 0x8080) == 0;
          if (bVar26) {
            var_27 = var_27 >> 0x10;
          }
          if (bVar26) {
            var_24 = (type_10 *)((int)var_25 + 6);
          }
          var_30((char *)((int)var_24 + (-3 - (type_10)var_28((type_12)var_27,(type_12)var_27))),
                          ", r2 fixed",0xb);
        }
        else if (var_27 == 0x8000) {
          do {
            var_25 = var_24;
            var_26 = *var_25 + 0xfefefeff & ~*var_25;
            var_27 = var_26 & 0x80808080;
            var_24 = var_25 + 1;
          } while (var_27 == 0);
          bVar26 = (var_26 & 0x8080) == 0;
          if (bVar26) {
            var_27 = var_27 >> 0x10;
          }
          if (bVar26) {
            var_24 = (type_10 *)((int)var_25 + 6);
          }
          var_30((char *)((int)var_24 + (-3 - (type_10)var_28((type_12)var_27,(type_12)var_27))),
                          ", r2 free",10);
        }
        else if (var_27 == 0x2000) {
          do {
            var_25 = var_24;
            var_26 = *var_25 + 0xfefefeff & ~*var_25;
            var_27 = var_26 & 0x80808080;
            var_24 = var_25 + 1;
          } while (var_27 == 0);
          bVar26 = (var_26 & 0x8080) == 0;
          if (bVar26) {
            var_27 = var_27 >> 0x10;
          }
          if (bVar26) {
            var_24 = (type_10 *)((int)var_25 + 6);
          }
          var_30((char *)((int)var_24 + (-3 - (type_10)var_28((type_12)var_27,(type_12)var_27))),
                          ", r5 free",10);
        }
        var_22 = var_22 & var_22 - 1;
      } while (var_22 != 0);
      var_17 = (type_2 *)(filedata->file_header).e_flags;
    }
    goto LAB_0003b840;
  }
  if (0x24 < var_18) {
    if (var_18 == 0x32) {
      if (((type_10)var_17 & 0x10) == 0) {
        var_16 = 0x3233202c;
      }
      else {
        var_16 = 0x3436202c;
      }
      var_41 = var_41 & 0xffffff00;
      DAT_000b57a4 = 0x7469622d;
      if (((type_10)var_17 & 0x20) != 0) {
        var_22 = 0xffffffff;
        var_20 = (char *)&var_16;
        do {
          if (var_22 == 0) break;
          var_22 = var_22 - 1;
          var_23 = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        } while (var_23 != '\0');
        var_20 = ", reduced fp model";
        var_21 = &DAT_000b579f + ~var_22;
        for (var_19 = 0x13; var_19 != 0; var_19 = var_19 + -1) {
          *var_21 = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          var_21 = var_21 + (type_10)bVar28 * -2 + 1;
        }
      }
      if (((type_10)var_17 & 0x80) == 0) {
        if (((type_10)var_17 & 0x40) != 0) {
          var_22 = 0xffffffff;
          var_20 = (char *)&var_16;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_23 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          } while (var_23 != '\0');
          var_20 = ", constant gp";
          var_21 = &DAT_000b579f + ~var_22;
          for (var_19 = 0xe; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
        }
      }
      else {
        var_22 = 0xffffffff;
        var_20 = (char *)&var_16;
        do {
          if (var_22 == 0) break;
          var_22 = var_22 - 1;
          var_23 = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        } while (var_23 != '\0');
        var_20 = ", no function descriptors, constant gp";
        var_21 = &DAT_000b579f + ~var_22;
        for (var_19 = 0x27; var_19 != 0; var_19 = var_19 + -1) {
          *var_21 = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          var_21 = var_21 + (type_10)bVar28 * -2 + 1;
        }
      }
      if (((type_10)var_17 & 0x100) != 0) {
        var_22 = 0xffffffff;
        var_20 = (char *)&var_16;
        do {
          if (var_22 == 0) break;
          var_22 = var_22 - 1;
          var_23 = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        } while (var_23 != '\0');
        var_20 = ", absolute";
        var_21 = &DAT_000b579f + ~var_22;
        for (var_19 = 0xb; var_19 != 0; var_19 = var_19 + -1) {
          *var_21 = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          var_21 = var_21 + (type_10)bVar28 * -2 + 1;
        }
      }
      if ((filedata->file_header).e_ident[7] == '\r') {
        if (((type_10)var_17 & 4) != 0) {
          var_22 = 0xffffffff;
          var_20 = (char *)&var_16;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_23 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          } while (var_23 != '\0');
          var_20 = ", vms_linkages";
          var_21 = &DAT_000b579f + ~var_22;
          for (var_19 = 0xf; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
        }
        var_22 = (type_10)var_17 & 3;
        if (var_22 == 2) {
          var_22 = 0xffffffff;
          var_20 = (char *)&var_16;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_23 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          } while (var_23 != '\0');
          *(type_11 *)(&DAT_000b579f + ~var_22) = 0x7265202c;
          *(type_11 *)((int)&var_16 + ~var_22 + 3) = 0x726f72;
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
        else if (var_22 == 3) {
          var_22 = 0xffffffff;
          var_20 = (char *)&var_16;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_23 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          } while (var_23 != '\0');
          *(type_11 *)(&DAT_000b579f + ~var_22) = 0x6261202c;
          *(type_11 *)((int)&var_16 + ~var_22 + 3) = 0x74726f;
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
        else if (var_22 == 1) {
          var_22 = 0xffffffff;
          var_20 = (char *)&var_16;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_23 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          } while (var_23 != '\0');
          var_20 = ", warning";
          var_21 = &DAT_000b579f + ~var_22;
          for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
        else {
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
      }
      else {
        var_17 = (type_2 *)(filedata->file_header).e_flags;
      }
    }
    else if (var_18 < 0x33) {
      if (var_18 == 0x2a) {
        switch((type_10)var_17 & 0x1f) {
        default:
          var_20 = (char *)var_1(0,", unknown ISA",5,&DAT_00076943);
          var_31((char *)&var_16,var_20);
          break;
        case 1:
          var_16 = 0x6873202c;
          DAT_000b57a4 = var_32(DAT_000b57a4._2_2_,0x31);
          break;
        case 2:
          var_16 = 0x6873202c;
          DAT_000b57a4 = var_32(DAT_000b57a4._2_2_,0x32);
          break;
        case 3:
          var_16 = 0x6873202c;
          DAT_000b57a4 = var_32(DAT_000b57a4._2_2_,0x33);
          break;
        case 4:
          var_20 = ", sh-dsp";
          var_21 = (char *)&var_16;
          for (var_19 = 9; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
          break;
        case 5:
          var_20 = ", sh3-dsp";
          var_21 = (char *)&var_16;
          for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
          break;
        case 6:
          var_20 = ", sh4al-dsp";
          var_33 = &var_16;
          for (var_19 = 3; var_19 != 0; var_19 = var_19 + -1) {
            *var_33 = *(type_11 *)var_20;
            var_20 = var_20 + ((type_10)bVar28 * -2 + 1) * 4;
            var_33 = var_33 + (type_10)bVar28 * -2 + 1;
          }
          break;
        case 8:
          var_20 = ", sh3e";
          var_21 = (char *)&var_16;
          for (var_19 = 7; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
          break;
        case 9:
          var_16 = 0x6873202c;
          DAT_000b57a4 = var_32(DAT_000b57a4._2_2_,0x34);
          break;
        case 10:
          var_16 = 0x6873202c;
          DAT_000b57a4 = var_32(DAT_000b57a4._2_2_,0x35);
          break;
        case 0xb:
          var_20 = ", sh2e";
          var_21 = (char *)&var_16;
          for (var_19 = 7; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
          break;
        case 0xc:
          var_20 = ", sh4a";
          var_21 = (char *)&var_16;
          for (var_19 = 7; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
          break;
        case 0xd:
          var_20 = ", sh2a";
          var_21 = (char *)&var_16;
          for (var_19 = 7; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
          break;
        case 0x10:
          var_20 = ", sh4-nofpu";
          var_33 = &var_16;
          for (var_19 = 3; var_19 != 0; var_19 = var_19 + -1) {
            *var_33 = *(type_11 *)var_20;
            var_20 = var_20 + ((type_10)bVar28 * -2 + 1) * 4;
            var_33 = var_33 + (type_10)bVar28 * -2 + 1;
          }
          break;
        case 0x11:
          var_20 = ", sh4a-nofpu";
          var_21 = (char *)&var_16;
          for (var_19 = 0xd; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
          break;
        case 0x12:
          var_20 = ", sh4-nommu-nofpu";
          var_21 = (char *)&var_16;
          for (var_19 = 0x12; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
          break;
        case 0x13:
          var_20 = ", sh2a-nofpu";
          var_21 = (char *)&var_16;
          for (var_19 = 0xd; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
          break;
        case 0x14:
          var_20 = ", sh3-nommu";
          var_33 = &var_16;
          for (var_19 = 3; var_19 != 0; var_19 = var_19 + -1) {
            *var_33 = *(type_11 *)var_20;
            var_20 = var_20 + ((type_10)bVar28 * -2 + 1) * 4;
            var_33 = var_33 + (type_10)bVar28 * -2 + 1;
          }
          break;
        case 0x15:
          var_20 = ", sh2a-nofpu-or-sh4-nommu-nofpu";
          var_33 = &var_16;
          for (var_19 = 8; var_19 != 0; var_19 = var_19 + -1) {
            *var_33 = *(type_11 *)var_20;
            var_20 = var_20 + ((type_10)bVar28 * -2 + 1) * 4;
            var_33 = var_33 + (type_10)bVar28 * -2 + 1;
          }
          break;
        case 0x16:
          var_20 = ", sh2a-nofpu-or-sh3-nommu";
          var_21 = (char *)&var_16;
          for (var_19 = 0x1a; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
          break;
        case 0x17:
          var_20 = ", sh2a-or-sh4";
          var_21 = (char *)&var_16;
          for (var_19 = 0xe; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
          break;
        case 0x18:
          var_20 = ", sh2a-or-sh3e";
          var_21 = (char *)&var_16;
          for (var_19 = 0xf; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
        }
        local_34 = (type_2 *)&var_16;
        if (((type_10)var_17 & 0x100) != 0) {
          var_22 = 0xffffffff;
          pFVar14 = local_34;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_23 = *(char *)pFVar14;
            pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
          } while (var_23 != '\0');
          *(type_11 *)(&DAT_000b579f + ~var_22) = 0x6970202c;
          *(type_14 *)((int)&var_16 + ~var_22 + 3) = 99;
        }
        if (((type_10)var_17 & 0x8000) == 0) {
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
        else {
          var_22 = 0xffffffff;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_23 = *(char *)local_34;
            local_34 = (type_2 *)((int)local_34 + (type_10)bVar28 * -2 + 1);
          } while (var_23 != '\0');
          *(type_11 *)(&DAT_000b579f + ~var_22) = 0x6466202c;
          *(type_11 *)((int)&var_16 + ~var_22 + 3) = 0x636970;
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
      }
      else if (var_18 == 0x2b) {
        if (((type_10)var_17 & 0x100) != 0) {
          var_16 = 0x3876202c;
          DAT_000b57a4 = var_32(DAT_000b57a4._2_2_,0x2b);
        }
        if (((type_10)var_17 & 0x200) != 0) {
          var_22 = 0xffffffff;
          var_20 = (char *)&var_16;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_23 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          } while (var_23 != '\0');
          var_20 = ", ultrasparcI";
          var_21 = &DAT_000b579f + ~var_22;
          for (var_19 = 0xe; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
        }
        if (((type_10)var_17 & 0x800) != 0) {
          var_22 = 0xffffffff;
          var_20 = (char *)&var_16;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_23 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          } while (var_23 != '\0');
          var_20 = ", ultrasparcIII";
          var_33 = (type_11 *)(&DAT_000b579f + ~var_22);
          for (var_19 = 4; var_19 != 0; var_19 = var_19 + -1) {
            *var_33 = *(type_11 *)var_20;
            var_20 = var_20 + ((type_10)bVar28 * -2 + 1) * 4;
            var_33 = var_33 + (type_10)bVar28 * -2 + 1;
          }
        }
        if (((type_10)var_17 & 0x400) != 0) {
          var_22 = 0xffffffff;
          var_20 = (char *)&var_16;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_23 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          } while (var_23 != '\0');
          *(type_11 *)(&DAT_000b579f + ~var_22) = 0x6168202c;
          *(type_11 *)((int)&var_16 + ~var_22 + 3) = 0x31726c;
        }
        if (((type_10)var_17 & 0x800000) != 0) {
          var_22 = 0xffffffff;
          var_20 = (char *)&var_16;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_23 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          } while (var_23 != '\0');
          var_20 = ", ledata";
          var_21 = &DAT_000b579f + ~var_22;
          for (var_19 = 9; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
        }
        var_22 = (type_10)var_17 & 3;
        if (var_22 == 0) {
          var_22 = 0xffffffff;
          var_20 = (char *)&var_16;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_23 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          } while (var_23 != '\0');
          *(type_11 *)(&DAT_000b579f + ~var_22) = 0x7374202c;
          *(type_14 *)((int)&var_16 + ~var_22 + 3) = 0x6f;
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
        else if (var_22 == 1) {
          var_22 = 0xffffffff;
          var_20 = (char *)&var_16;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_23 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          } while (var_23 != '\0');
          *(type_11 *)(&DAT_000b579f + ~var_22) = 0x7370202c;
          *(type_14 *)((int)&var_16 + ~var_22 + 3) = 0x6f;
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
        else if (var_22 == 2) {
          var_22 = 0xffffffff;
          var_20 = (char *)&var_16;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_23 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          } while (var_23 != '\0');
          *(type_11 *)(&DAT_000b579f + ~var_22) = 0x6d72202c;
          *(type_14 *)((int)&var_16 + ~var_22 + 3) = 0x6f;
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
        else {
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
      }
      else if (var_18 == 0x28) {
        var_22 = (type_10)var_17 & 0xff000000;
        if (((type_10)var_17 & 1) == 0) {
          var_17 = (type_2 *)((type_10)var_17 & 0xffffff);
          var_20 = (char *)&var_16;
        }
        else {
          var_20 = &DAT_000b57b8;
          var_21 = ", relocatable executable";
          var_42 = (char *)&var_16;
          for (var_19 = 0x19; var_19 != 0; var_19 = var_19 + -1) {
            *var_42 = *var_21;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
            var_42 = var_42 + (type_10)bVar28 * -2 + 1;
          }
          var_17 = (type_2 *)((type_10)var_17 & 0xfffffe);
        }
        local_34 = (type_2 *)&var_16;
        if (((type_10)var_17 & 0x20) != 0) {
          var_21 = ", position independent";
          for (var_19 = 0x17; var_19 != 0; var_19 = var_19 + -1) {
            *var_20 = *var_21;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          }
          var_17 = (type_2 *)((type_10)var_17 & 0xffffffdf);
          var_27 = 0xffffffff;
          pFVar14 = local_34;
          do {
            if (var_27 == 0) break;
            var_27 = var_27 - 1;
            var_26 = *(type_10 *)pFVar14;
            pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
          } while ((char)var_26 != '\0');
          var_20 = &DAT_000b579f + ~var_27;
        }
        if (var_22 == 0x2000000) {
          bVar26 = false;
          var_21 = ", Version2 EABI";
          for (var_19 = 4; var_19 != 0; var_19 = var_19 + -1) {
            *(type_11 *)var_20 = *(type_11 *)var_21;
            var_21 = var_21 + ((type_10)bVar28 * -2 + 1) * 4;
            var_20 = var_20 + ((type_10)bVar28 * -2 + 1) * 4;
          }
          if (var_17 != (type_2 *)0x0) {
            do {
              var_22 = -(int)var_17 & (type_10)var_17;
              var_17 = (type_2 *)((type_10)var_17 & ~var_22);
              if (var_22 == 8) {
                var_22 = 0xffffffff;
                pFVar14 = local_34;
                do {
                  if (var_22 == 0) break;
                  var_22 = var_22 - 1;
                  var_27 = *(type_10 *)pFVar14;
                  pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
                } while ((char)var_27 != '\0');
                var_20 = ", dynamic symbols use segment index";
                var_33 = (type_11 *)(&DAT_000b579f + ~var_22);
                for (var_19 = 9; var_19 != 0; var_19 = var_19 + -1) {
                  *var_33 = *(type_11 *)var_20;
                  var_20 = var_20 + ((type_10)bVar28 * -2 + 1) * 4;
                  var_33 = var_33 + (type_10)bVar28 * -2 + 1;
                }
              }
              else if (var_22 == 0x10) {
                var_22 = 0xffffffff;
                pFVar14 = local_34;
                do {
                  if (var_22 == 0) break;
                  var_22 = var_22 - 1;
                  var_27 = *(type_10 *)pFVar14;
                  pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
                } while ((char)var_27 != '\0');
                var_20 = ", mapping symbols precede others";
                var_21 = &DAT_000b579f + ~var_22;
                for (var_19 = 0x21; var_19 != 0; var_19 = var_19 + -1) {
                  *var_21 = *var_20;
                  var_20 = var_20 + (type_10)bVar28 * -2 + 1;
                  var_21 = var_21 + (type_10)bVar28 * -2 + 1;
                }
              }
              else if (var_22 == 4) {
                var_22 = 0xffffffff;
                pFVar14 = local_34;
                do {
                  if (var_22 == 0) break;
                  var_22 = var_22 - 1;
                  var_27 = *(type_10 *)pFVar14;
                  pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
                } while ((char)var_27 != '\0');
                var_20 = ", sorted symbol tables";
                var_21 = &DAT_000b579f + ~var_22;
                for (var_19 = 0x17; var_19 != 0; var_19 = var_19 + -1) {
                  *var_21 = *var_20;
                  var_20 = var_20 + (type_10)bVar28 * -2 + 1;
                  var_21 = var_21 + (type_10)bVar28 * -2 + 1;
                }
              }
              else {
                bVar26 = true;
              }
            } while (var_17 != (type_2 *)0x0);
            goto LAB_0003d8e9;
          }
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
        else if (var_22 < 0x2000001) {
          if (var_22 == 0) {
            bVar26 = false;
            var_21 = ", GNU EABI";
            for (var_19 = 0xb; var_19 != 0; var_19 = var_19 + -1) {
              *var_20 = *var_21;
              var_21 = var_21 + (type_10)bVar28 * -2 + 1;
              var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            }
            if (var_17 != (type_2 *)0x0) {
              do {
                var_22 = -(int)var_17 & (type_10)var_17;
                var_17 = (type_2 *)((type_10)var_17 & ~var_22);
                if (var_22 == 0x40) {
                  var_22 = 0xffffffff;
                  pFVar14 = local_34;
                  do {
                    if (var_22 == 0) break;
                    var_22 = var_22 - 1;
                    var_27 = *(type_10 *)pFVar14;
                    pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
                  } while ((char)var_27 != '\0');
                  var_20 = ", 8 bit structure alignment";
                  var_33 = (type_11 *)(&DAT_000b579f + ~var_22);
                  for (var_19 = 7; var_19 != 0; var_19 = var_19 + -1) {
                    *var_33 = *(type_11 *)var_20;
                    var_20 = var_20 + ((type_10)bVar28 * -2 + 1) * 4;
                    var_33 = var_33 + (type_10)bVar28 * -2 + 1;
                  }
                }
                else if (var_22 < 0x41) {
                  if (var_22 == 8) {
                    var_22 = 0xffffffff;
                    pFVar14 = local_34;
                    do {
                      if (var_22 == 0) break;
                      var_22 = var_22 - 1;
                      var_27 = *(type_10 *)pFVar14;
                      pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
                    } while ((char)var_27 != '\0');
                    var_20 = ", uses APCS/26";
                    var_21 = &DAT_000b579f + ~var_22;
                    for (var_19 = 0xf; var_19 != 0; var_19 = var_19 + -1) {
                      *var_21 = *var_20;
                      var_20 = var_20 + (type_10)bVar28 * -2 + 1;
                      var_21 = var_21 + (type_10)bVar28 * -2 + 1;
                    }
                  }
                  else if (var_22 < 9) {
                    if (var_22 == 4) {
                      var_22 = 0xffffffff;
                      pFVar14 = local_34;
                      do {
                        if (var_22 == 0) break;
                        var_22 = var_22 - 1;
                        var_27 = *(type_10 *)pFVar14;
                        pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
                      } while ((char)var_27 != '\0');
                      var_20 = ", interworking enabled";
                      var_21 = &DAT_000b579f + ~var_22;
                      for (var_19 = 0x17; var_19 != 0; var_19 = var_19 + -1) {
                        *var_21 = *var_20;
                        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
                        var_21 = var_21 + (type_10)bVar28 * -2 + 1;
                      }
                    }
                    else {
LAB_0003edd8:
                      bVar26 = true;
                    }
                  }
                  else if (var_22 == 0x10) {
                    var_22 = 0xffffffff;
                    pFVar14 = local_34;
                    do {
                      if (var_22 == 0) break;
                      var_22 = var_22 - 1;
                      var_27 = *(type_10 *)pFVar14;
                      pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
                    } while ((char)var_27 != '\0');
                    var_20 = ", uses APCS/float";
                    var_21 = &DAT_000b579f + ~var_22;
                    for (var_19 = 0x12; var_19 != 0; var_19 = var_19 + -1) {
                      *var_21 = *var_20;
                      var_20 = var_20 + (type_10)bVar28 * -2 + 1;
                      var_21 = var_21 + (type_10)bVar28 * -2 + 1;
                    }
                  }
                  else {
                    if (var_22 != 0x20) goto LAB_0003edd8;
                    var_22 = 0xffffffff;
                    pFVar14 = local_34;
                    do {
                      if (var_22 == 0) break;
                      var_22 = var_22 - 1;
                      var_27 = *(type_10 *)pFVar14;
                      pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
                    } while ((char)var_27 != '\0');
                    var_20 = ", position independent";
                    var_21 = &DAT_000b579f + ~var_22;
                    for (var_19 = 0x17; var_19 != 0; var_19 = var_19 + -1) {
                      *var_21 = *var_20;
                      var_20 = var_20 + (type_10)bVar28 * -2 + 1;
                      var_21 = var_21 + (type_10)bVar28 * -2 + 1;
                    }
                  }
                }
                else if (var_22 == 0x200) {
                  var_22 = 0xffffffff;
                  pFVar14 = local_34;
                  do {
                    if (var_22 == 0) break;
                    var_22 = var_22 - 1;
                    var_27 = *(type_10 *)pFVar14;
                    pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
                  } while ((char)var_27 != '\0');
                  var_20 = ", software FP";
                  var_21 = &DAT_000b579f + ~var_22;
                  for (var_19 = 0xe; var_19 != 0; var_19 = var_19 + -1) {
                    *var_21 = *var_20;
                    var_20 = var_20 + (type_10)bVar28 * -2 + 1;
                    var_21 = var_21 + (type_10)bVar28 * -2 + 1;
                  }
                }
                else if (var_22 < 0x201) {
                  if (var_22 == 0x80) {
                    var_22 = 0xffffffff;
                    pFVar14 = local_34;
                    do {
                      if (var_22 == 0) break;
                      var_22 = var_22 - 1;
                      var_27 = *(type_10 *)pFVar14;
                      pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
                    } while ((char)var_27 != '\0');
                    var_20 = ", uses new ABI";
                    var_21 = &DAT_000b579f + ~var_22;
                    for (var_19 = 0xf; var_19 != 0; var_19 = var_19 + -1) {
                      *var_21 = *var_20;
                      var_20 = var_20 + (type_10)bVar28 * -2 + 1;
                      var_21 = var_21 + (type_10)bVar28 * -2 + 1;
                    }
                  }
                  else {
                    if (var_22 != 0x100) goto LAB_0003edd8;
                    var_22 = 0xffffffff;
                    pFVar14 = local_34;
                    do {
                      if (var_22 == 0) break;
                      var_22 = var_22 - 1;
                      var_27 = *(type_10 *)pFVar14;
                      pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
                    } while ((char)var_27 != '\0');
                    var_20 = ", uses old ABI";
                    var_21 = &DAT_000b579f + ~var_22;
                    for (var_19 = 0xf; var_19 != 0; var_19 = var_19 + -1) {
                      *var_21 = *var_20;
                      var_20 = var_20 + (type_10)bVar28 * -2 + 1;
                      var_21 = var_21 + (type_10)bVar28 * -2 + 1;
                    }
                  }
                }
                else if (var_22 == 0x400) {
                  var_22 = 0xffffffff;
                  pFVar14 = local_34;
                  do {
                    if (var_22 == 0) break;
                    var_22 = var_22 - 1;
                    var_27 = *(type_10 *)pFVar14;
                    pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
                  } while ((char)var_27 != '\0');
                  *(type_11 *)(&DAT_000b579f + ~var_22) = 0x4656202c;
                  *(type_14 *)((int)&var_16 + ~var_22 + 3) = 0x50;
                }
                else {
                  if (var_22 != 0x800) goto LAB_0003edd8;
                  var_22 = 0xffffffff;
                  pFVar14 = local_34;
                  do {
                    if (var_22 == 0) break;
                    var_22 = var_22 - 1;
                    var_27 = *(type_10 *)pFVar14;
                    pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
                  } while ((char)var_27 != '\0');
                  var_20 = ", Maverick FP";
                  var_21 = &DAT_000b579f + ~var_22;
                  for (var_19 = 0xe; var_19 != 0; var_19 = var_19 + -1) {
                    *var_21 = *var_20;
                    var_20 = var_20 + (type_10)bVar28 * -2 + 1;
                    var_21 = var_21 + (type_10)bVar28 * -2 + 1;
                  }
                }
              } while (var_17 != (type_2 *)0x0);
              goto LAB_0003d8e9;
            }
            var_17 = (type_2 *)(filedata->file_header).e_flags;
          }
          else if (var_22 == 0x1000000) {
            bVar26 = false;
            var_21 = ", Version1 EABI";
            for (var_19 = 4; var_19 != 0; var_19 = var_19 + -1) {
              *(type_11 *)var_20 = *(type_11 *)var_21;
              var_21 = var_21 + ((type_10)bVar28 * -2 + 1) * 4;
              var_20 = var_20 + ((type_10)bVar28 * -2 + 1) * 4;
            }
            if (var_17 != (type_2 *)0x0) {
              do {
                var_22 = -(int)var_17 & (type_10)var_17;
                var_17 = (type_2 *)((type_10)var_17 & ~var_22);
                if (var_22 == 4) {
                  var_22 = 0xffffffff;
                  pFVar14 = local_34;
                  do {
                    if (var_22 == 0) break;
                    var_22 = var_22 - 1;
                    var_27 = *(type_10 *)pFVar14;
                    pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
                  } while ((char)var_27 != '\0');
                  var_20 = ", sorted symbol tables";
                  var_21 = &DAT_000b579f + ~var_22;
                  for (var_19 = 0x17; var_19 != 0; var_19 = var_19 + -1) {
                    *var_21 = *var_20;
                    var_20 = var_20 + (type_10)bVar28 * -2 + 1;
                    var_21 = var_21 + (type_10)bVar28 * -2 + 1;
                  }
                }
                else {
                  bVar26 = true;
                }
              } while (var_17 != (type_2 *)0x0);
              goto LAB_0003d8e9;
            }
            var_17 = (type_2 *)(filedata->file_header).e_flags;
          }
          else {
LAB_0003c1eb:
            var_21 = ", <unrecognized EABI>";
            for (var_19 = 0x16; var_19 != 0; var_19 = var_19 + -1) {
              *var_20 = *var_21;
              var_21 = var_21 + (type_10)bVar28 * -2 + 1;
              var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            }
            if (var_17 == (type_2 *)0x0) {
              var_17 = (type_2 *)(filedata->file_header).e_flags;
            }
            else {
LAB_0003d8f4:
              var_20 = (char *)var_1(0,", <unknown>",5);
              var_31((char *)&var_16,var_20);
              var_17 = (type_2 *)(filedata->file_header).e_flags;
            }
          }
        }
        else if (var_22 == 0x4000000) {
          var_21 = ", Version4 EABI";
          for (var_19 = 4; var_19 != 0; var_19 = var_19 + -1) {
            *(type_11 *)var_20 = *(type_11 *)var_21;
            var_21 = var_21 + ((type_10)bVar28 * -2 + 1) * 4;
            var_20 = var_20 + ((type_10)bVar28 * -2 + 1) * 4;
          }
          bVar26 = false;
          if (var_17 == (type_2 *)0x0) {
            var_17 = (type_2 *)(filedata->file_header).e_flags;
          }
          else {
            do {
              var_22 = -(int)var_17 & (type_10)var_17;
              var_17 = (type_2 *)((type_10)var_17 & ~var_22);
              pFVar14 = local_34;
              if (var_22 == 0x400000) {
                do {
                  var_24 = (type_10 *)pFVar14;
                  var_27 = *var_24 + 0xfefefeff & ~*var_24;
                  var_22 = var_27 & 0x80808080;
                  pFVar14 = (type_2 *)(var_24 + 1);
                } while (var_22 == 0);
                bVar27 = (var_27 & 0x8080) == 0;
                if (bVar27) {
                  var_22 = var_22 >> 0x10;
                }
                var_25 = var_24 + 1;
                if (bVar27) {
                  var_25 = (type_10 *)((int)var_24 + 6);
                }
                var_30((char *)((int)var_25 +
                                        (-3 - (type_10)var_28((type_12)var_22,(type_12)var_22))),", LE8",6);
              }
              else if (var_22 == 0x800000) {
                do {
                  var_24 = (type_10 *)pFVar14;
                  var_27 = *var_24 + 0xfefefeff & ~*var_24;
                  var_22 = var_27 & 0x80808080;
                  pFVar14 = (type_2 *)(var_24 + 1);
                } while (var_22 == 0);
                bVar27 = (var_27 & 0x8080) == 0;
                if (bVar27) {
                  var_22 = var_22 >> 0x10;
                }
                var_25 = var_24 + 1;
                if (bVar27) {
                  var_25 = (type_10 *)((int)var_24 + 6);
                }
                var_30((char *)((int)var_25 +
                                        (-3 - (type_10)var_28((type_12)var_22,(type_12)var_22))),", BE8",6);
              }
              else {
                bVar26 = true;
              }
            } while (var_17 != (type_2 *)0x0);
LAB_0003d8e9:
            if (bVar26) goto LAB_0003d8f4;
            var_17 = (type_2 *)(filedata->file_header).e_flags;
          }
        }
        else if (var_22 == 0x5000000) {
          bVar26 = false;
          var_21 = ", Version5 EABI";
          for (var_19 = 4; var_19 != 0; var_19 = var_19 + -1) {
            *(type_11 *)var_20 = *(type_11 *)var_21;
            var_21 = var_21 + ((type_10)bVar28 * -2 + 1) * 4;
            var_20 = var_20 + ((type_10)bVar28 * -2 + 1) * 4;
          }
          if (var_17 != (type_2 *)0x0) {
            do {
              var_22 = -(int)var_17 & (type_10)var_17;
              var_17 = (type_2 *)((type_10)var_17 & ~var_22);
              if (var_22 == 0x400) {
                var_22 = 0xffffffff;
                pFVar14 = local_34;
                do {
                  if (var_22 == 0) break;
                  var_22 = var_22 - 1;
                  var_27 = *(type_10 *)pFVar14;
                  pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
                } while ((char)var_27 != '\0');
                var_20 = ", hard-float ABI";
                var_21 = &DAT_000b579f + ~var_22;
                for (var_19 = 0x11; var_19 != 0; var_19 = var_19 + -1) {
                  *var_21 = *var_20;
                  var_20 = var_20 + (type_10)bVar28 * -2 + 1;
                  var_21 = var_21 + (type_10)bVar28 * -2 + 1;
                }
              }
              else if (var_22 < 0x401) {
                if (var_22 == 0x200) {
                  var_22 = 0xffffffff;
                  pFVar14 = local_34;
                  do {
                    if (var_22 == 0) break;
                    var_22 = var_22 - 1;
                    var_27 = *(type_10 *)pFVar14;
                    pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
                  } while ((char)var_27 != '\0');
                  var_20 = ", soft-float ABI";
                  var_21 = &DAT_000b579f + ~var_22;
                  for (var_19 = 0x11; var_19 != 0; var_19 = var_19 + -1) {
                    *var_21 = *var_20;
                    var_20 = var_20 + (type_10)bVar28 * -2 + 1;
                    var_21 = var_21 + (type_10)bVar28 * -2 + 1;
                  }
                }
                else {
LAB_0003ef43:
                  bVar26 = true;
                }
              }
              else if (var_22 == 0x400000) {
                var_22 = 0xffffffff;
                pFVar14 = local_34;
                do {
                  if (var_22 == 0) break;
                  var_22 = var_22 - 1;
                  var_27 = *(type_10 *)pFVar14;
                  pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
                } while ((char)var_27 != '\0');
                *(type_11 *)(&DAT_000b579f + ~var_22) = 0x454c202c;
                *(type_14 *)((int)&var_16 + ~var_22 + 3) = 0x38;
              }
              else {
                if (var_22 != 0x800000) goto LAB_0003ef43;
                var_22 = 0xffffffff;
                pFVar14 = local_34;
                do {
                  if (var_22 == 0) break;
                  var_22 = var_22 - 1;
                  var_27 = *(type_10 *)pFVar14;
                  pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
                } while ((char)var_27 != '\0');
                *(type_11 *)(&DAT_000b579f + ~var_22) = 0x4542202c;
                *(type_14 *)((int)&var_16 + ~var_22 + 3) = 0x38;
              }
            } while (var_17 != (type_2 *)0x0);
            goto LAB_0003d8e9;
          }
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
        else {
          if (var_22 != 0x3000000) goto LAB_0003c1eb;
          var_21 = ", Version3 EABI";
          for (var_19 = 4; var_19 != 0; var_19 = var_19 + -1) {
            *(type_11 *)var_20 = *(type_11 *)var_21;
            var_21 = var_21 + ((type_10)bVar28 * -2 + 1) * 4;
            var_20 = var_20 + ((type_10)bVar28 * -2 + 1) * 4;
          }
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
      }
    }
    else if (var_18 == 0x53) {
      switch((type_10)var_17 & 0x7f) {
      default:
        var_20 = ", avr:<unknown>";
        var_33 = &var_16;
        for (var_19 = 4; var_19 != 0; var_19 = var_19 + -1) {
          *var_33 = *(type_11 *)var_20;
          var_20 = var_20 + ((type_10)bVar28 * -2 + 1) * 4;
          var_33 = var_33 + (type_10)bVar28 * -2 + 1;
        }
        break;
      case 1:
        var_16 = 0x7661202c;
        DAT_000b57a4 = 0x313a72;
        break;
      case 2:
        var_16 = 0x7661202c;
        DAT_000b57a4 = 0x323a72;
        break;
      case 3:
        var_16 = 0x7661202c;
        DAT_000b57a4 = 0x333a72;
        break;
      case 4:
        var_16 = 0x7661202c;
        DAT_000b57a4 = 0x343a72;
        break;
      case 5:
        var_16 = 0x7661202c;
        DAT_000b57a4 = 0x353a72;
        break;
      case 6:
        var_16 = 0x7661202c;
        DAT_000b57a4 = 0x363a72;
        break;
      case 0x19:
        var_20 = ", avr:25";
        var_21 = (char *)&var_16;
        for (var_19 = 9; var_19 != 0; var_19 = var_19 + -1) {
          *var_21 = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          var_21 = var_21 + (type_10)bVar28 * -2 + 1;
        }
        break;
      case 0x1f:
        var_20 = ", avr:31";
        var_21 = (char *)&var_16;
        for (var_19 = 9; var_19 != 0; var_19 = var_19 + -1) {
          *var_21 = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          var_21 = var_21 + (type_10)bVar28 * -2 + 1;
        }
        break;
      case 0x23:
        var_20 = ", avr:35";
        var_21 = (char *)&var_16;
        for (var_19 = 9; var_19 != 0; var_19 = var_19 + -1) {
          *var_21 = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          var_21 = var_21 + (type_10)bVar28 * -2 + 1;
        }
        break;
      case 0x33:
        var_20 = ", avr:51";
        var_21 = (char *)&var_16;
        for (var_19 = 9; var_19 != 0; var_19 = var_19 + -1) {
          *var_21 = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          var_21 = var_21 + (type_10)bVar28 * -2 + 1;
        }
        break;
      case 100:
        var_20 = ", avr:100";
        var_21 = (char *)&var_16;
        for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
          *var_21 = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          var_21 = var_21 + (type_10)bVar28 * -2 + 1;
        }
        break;
      case 0x65:
        var_20 = ", avr:101";
        var_21 = (char *)&var_16;
        for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
          *var_21 = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          var_21 = var_21 + (type_10)bVar28 * -2 + 1;
        }
        break;
      case 0x66:
        var_20 = ", avr:102";
        var_21 = (char *)&var_16;
        for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
          *var_21 = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          var_21 = var_21 + (type_10)bVar28 * -2 + 1;
        }
        break;
      case 0x67:
        var_20 = ", avr:103";
        var_21 = (char *)&var_16;
        for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
          *var_21 = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          var_21 = var_21 + (type_10)bVar28 * -2 + 1;
        }
        break;
      case 0x68:
        var_20 = ", avr:104";
        var_21 = (char *)&var_16;
        for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
          *var_21 = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          var_21 = var_21 + (type_10)bVar28 * -2 + 1;
        }
        break;
      case 0x69:
        var_20 = ", avr:105";
        var_21 = (char *)&var_16;
        for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
          *var_21 = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          var_21 = var_21 + (type_10)bVar28 * -2 + 1;
        }
        break;
      case 0x6a:
        var_20 = ", avr:106";
        var_21 = (char *)&var_16;
        for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
          *var_21 = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          var_21 = var_21 + (type_10)bVar28 * -2 + 1;
        }
        break;
      case 0x6b:
        var_20 = ", avr:107";
        var_21 = (char *)&var_16;
        for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
          *var_21 = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          var_21 = var_21 + (type_10)bVar28 * -2 + 1;
        }
      }
      local_34 = (type_2 *)&var_16;
      if (((type_10)var_17 & 0x80) == 0) {
        var_17 = (type_2 *)(filedata->file_header).e_flags;
      }
      else {
        var_19 = -1;
        do {
          if (var_19 == 0) break;
          var_19 = var_19 + -1;
          var_23 = *(char *)local_34;
          local_34 = (type_2 *)((int)local_34 + (type_10)bVar28 * -2 + 1);
        } while (var_23 != '\0');
        var_43((char *)&var_16,", link-relax",var_19 + 0x401);
        var_17 = (type_2 *)(filedata->file_header).e_flags;
      }
    }
    else if (var_18 < 0x54) {
      if (var_18 == 0x4b) {
        if (((type_10)var_17 & 1) != 0) {
          var_20 = ", non-PIC";
          var_21 = (char *)&var_16;
          for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
        }
        if (((type_10)var_17 & 0x100) != 0) {
          var_22 = 0xffffffff;
          var_20 = (char *)&var_16;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_23 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          } while (var_23 != '\0');
          var_20 = ", D-Float";
          var_21 = &DAT_000b579f + ~var_22;
          for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
        }
        if (((type_10)var_17 & 0x200) == 0) {
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
        else {
          var_22 = 0xffffffff;
          var_20 = (char *)&var_16;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_23 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          } while (var_23 != '\0');
          var_20 = ", G-Float";
          var_21 = &DAT_000b579f + ~var_22;
          for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
      }
    }
    else if (var_18 == 0x57) {
LAB_0003c0c0:
      var_22 = (type_10)var_17 & 0xf0000000;
      if (var_22 == 0x20000000) {
        var_20 = ", v850e1";
        var_21 = (char *)&var_16;
        for (var_19 = 9; var_19 != 0; var_19 = var_19 + -1) {
          *var_21 = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          var_21 = var_21 + (type_10)bVar28 * -2 + 1;
        }
        var_17 = (type_2 *)(filedata->file_header).e_flags;
      }
      else if (var_22 < 0x20000001) {
        if (var_22 == 0) {
          var_20 = ", v850";
          var_21 = (char *)&var_16;
          for (var_19 = 7; var_19 != 0; var_19 = var_19 + -1) {
            *var_21 = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            var_21 = var_21 + (type_10)bVar28 * -2 + 1;
          }
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
        else if (var_22 == 0x10000000) {
          var_16 = 0x3876202c;
          DAT_000b57a4 = 0x653035;
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
        else {
LAB_0003c0ff:
          var_20 = (char *)var_1(0,", unknown v850 architecture variant",5,&var_16);
          var_31((char *)&var_16,var_20);
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
      }
      else if (var_22 == 0x40000000) {
        var_38 = &DAT_0007ca6f;
        var_33 = &var_16;
        for (var_19 = 0xb; var_19 != 0; var_19 = var_19 + -1) {
          *(type_9 *)var_33 = *var_38;
          var_38 = var_38 + (type_10)bVar28 * -2 + 1;
          var_33 = (type_11 *)((int)var_33 + (type_10)bVar28 * -2 + 1);
        }
        var_17 = (type_2 *)(filedata->file_header).e_flags;
      }
      else if (var_22 == 0x60000000) {
        var_38 = &DAT_0007ca64;
        var_33 = &var_16;
        for (var_19 = 0xb; var_19 != 0; var_19 = var_19 + -1) {
          *(type_9 *)var_33 = *var_38;
          var_38 = var_38 + (type_10)bVar28 * -2 + 1;
          var_33 = (type_11 *)((int)var_33 + (type_10)bVar28 * -2 + 1);
        }
        var_17 = (type_2 *)(filedata->file_header).e_flags;
      }
      else {
        if (var_22 != 0x30000000) goto LAB_0003c0ff;
        var_20 = ", v850e2";
        var_21 = (char *)&var_16;
        for (var_19 = 9; var_19 != 0; var_19 = var_19 + -1) {
          *var_21 = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          var_21 = var_21 + (type_10)bVar28 * -2 + 1;
        }
        var_17 = (type_2 *)(filedata->file_header).e_flags;
      }
    }
    else if (var_18 == 0x58) goto LAB_0003bb50;
    goto LAB_0003b840;
  }
  if (var_18 == 0xf) {
    var_22 = (type_10)var_17 & 0xffff;
    if (var_22 == 0x210) {
      var_20 = ", PA-RISC 1.1";
      var_24 = &var_16;
      for (var_19 = 0xe; var_19 != 0; var_19 = var_19 + -1) {
        *(char *)var_24 = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        var_24 = (type_10 *)((int)var_24 + (type_10)bVar28 * -2 + 1);
      }
    }
    else if (var_22 == 0x214) {
      var_20 = ", PA-RISC 2.0";
      var_24 = &var_16;
      for (var_19 = 0xe; var_19 != 0; var_19 = var_19 + -1) {
        *(char *)var_24 = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        var_24 = (type_10 *)((int)var_24 + (type_10)bVar28 * -2 + 1);
      }
    }
    else if (var_22 == 0x20b) {
      var_20 = ", PA-RISC 1.0";
      var_24 = &var_16;
      for (var_19 = 0xe; var_19 != 0; var_19 = var_19 + -1) {
        *(char *)var_24 = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        var_24 = (type_10 *)((int)var_24 + (type_10)bVar28 * -2 + 1);
      }
    }
    if (((type_10)var_17 & 0x10000) != 0) {
      var_22 = 0xffffffff;
      var_24 = &var_16;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        var_27 = *var_24;
        var_24 = (type_10 *)((int)var_24 + (type_10)bVar28 * -2 + 1);
      } while ((char)var_27 != '\0');
      var_20 = ", trapnil";
      var_21 = &DAT_000b579f + ~var_22;
      for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
        *var_21 = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        var_21 = var_21 + (type_10)bVar28 * -2 + 1;
      }
    }
    if (((type_10)var_17 & 0x20000) != 0) {
      var_22 = 0xffffffff;
      var_24 = &var_16;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        var_27 = *var_24;
        var_24 = (type_10 *)((int)var_24 + (type_10)bVar28 * -2 + 1);
      } while ((char)var_27 != '\0');
      *(type_11 *)(&DAT_000b579f + ~var_22) = 0x7865202c;
      *(type_14 *)((int)&var_16 + ~var_22 + 3) = 0x74;
    }
    if (((type_10)var_17 & 0x40000) != 0) {
      var_22 = 0xffffffff;
      var_24 = &var_16;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        var_27 = *var_24;
        var_24 = (type_10 *)((int)var_24 + (type_10)bVar28 * -2 + 1);
      } while ((char)var_27 != '\0');
      *(type_11 *)(&DAT_000b579f + ~var_22) = 0x736c202c;
      *(type_14 *)((int)&var_16 + ~var_22 + 3) = 0x62;
    }
    if (((type_10)var_17 & 0x80000) != 0) {
      var_22 = 0xffffffff;
      var_24 = &var_16;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        var_27 = *var_24;
        var_24 = (type_10 *)((int)var_24 + (type_10)bVar28 * -2 + 1);
      } while ((char)var_27 != '\0');
      var_20 = ", wide";
      var_21 = &DAT_000b579f + ~var_22;
      for (var_19 = 7; var_19 != 0; var_19 = var_19 + -1) {
        *var_21 = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        var_21 = var_21 + (type_10)bVar28 * -2 + 1;
      }
    }
    if (((type_10)var_17 & 0x100000) != 0) {
      var_22 = 0xffffffff;
      var_24 = &var_16;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        var_27 = *var_24;
        var_24 = (type_10 *)((int)var_24 + (type_10)bVar28 * -2 + 1);
      } while ((char)var_27 != '\0');
      var_20 = ", no kabp";
      var_21 = &DAT_000b579f + ~var_22;
      for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
        *var_21 = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        var_21 = var_21 + (type_10)bVar28 * -2 + 1;
      }
    }
    if (((type_10)var_17 & 0x400000) == 0) {
      var_17 = (type_2 *)(filedata->file_header).e_flags;
    }
    else {
      var_22 = 0xffffffff;
      var_24 = &var_16;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        var_27 = *var_24;
        var_24 = (type_10 *)((int)var_24 + (type_10)bVar28 * -2 + 1);
      } while ((char)var_27 != '\0');
      var_20 = ", lazyswap";
      var_21 = &DAT_000b579f + ~var_22;
      for (var_19 = 0xb; var_19 != 0; var_19 = var_19 + -1) {
        *var_21 = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        var_21 = var_21 + (type_10)bVar28 * -2 + 1;
      }
      var_17 = (type_2 *)(filedata->file_header).e_flags;
    }
    goto LAB_0003b840;
  }
  if (0xf < var_18) {
    if (var_18 == 0x15) {
      if (((type_10)var_17 & 3) != 0) {
        abi[6] = (char)((type_10)var_17 & 3) + '0';
        var_30(abi,", abiv",6);
        abi[7] = '\0';
        var_44((char *)&var_16,abi);
        var_17 = (type_2 *)(filedata->file_header).e_flags;
      }
    }
    else if (var_18 == 0x16) {
      if (((type_10)var_17 & 1) != 0) {
        var_20 = ", highgprs";
        var_21 = (char *)&var_16;
        for (var_19 = 0xb; var_19 != 0; var_19 = var_19 + -1) {
          *var_21 = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          var_21 = var_21 + (type_10)bVar28 * -2 + 1;
        }
        var_17 = (type_2 *)(filedata->file_header).e_flags;
      }
    }
    else if (var_18 == 0x14) {
      if ((int)var_17 < 0) {
        var_16 = 0x6d65202c;
        DAT_000b57a4 = var_32(DAT_000b57a4._2_2_,0x62);
      }
      if (((type_10)var_17 & 0x10000) != 0) {
        var_20 = (char *)0x0;
        var_21 = (char *)var_1(0,", relocatable",5,&var_16);
        var_31((char *)&var_16,var_21);
      }
      if (((type_10)var_17 & 0x8000) == 0) {
        var_17 = (type_2 *)(filedata->file_header).e_flags;
      }
      else {
        var_20 = (char *)var_1(0,", relocatable-lib",5,var_20);
        var_31((char *)&var_16,var_20);
        var_17 = (type_2 *)(filedata->file_header).e_flags;
      }
    }
    goto LAB_0003b840;
  }
  if ((var_18 == 8) || (var_18 == 10)) {
    pFVar14 = (type_2 *)&var_16;
    local_34 = (type_2 *)&var_16;
    pFVar25 = filedata;
    if (((type_10)var_17 & 1) != 0) {
      var_20 = ", noreorder";
      pFVar25 = pFVar14;
      for (var_19 = 3; var_19 != 0; var_19 = var_19 + -1) {
        pFVar25->file_name = *(char **)var_20;
        var_20 = var_20 + (type_10)bVar28 * -8 + 4;
        pFVar25 = (type_2 *)((int)pFVar25 + (type_10)bVar28 * -8 + 4);
      }
    }
    pFVar20 = var_17;
    if (((type_10)var_17 & 2) != 0) {
      var_22 = 0xffffffff;
      pFVar25 = pFVar14;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        ppcVar5 = &pFVar25->file_name;
        pFVar25 = (type_2 *)((int)pFVar25 + (type_10)bVar28 * -2 + 1);
      } while (*(char *)ppcVar5 != '\0');
      pFVar20 = (type_2 *)~var_22;
      *(type_11 *)((int)&pFVar20[0x1907].num_dump_sects + 3) = 0x6970202c;
      *(type_14 *)((int)&pFVar20[0x1908].file_name + 3) = 99;
      pFVar25 = local_34;
    }
    if (((type_10)var_17 & 4) != 0) {
      var_22 = 0xffffffff;
      pFVar25 = pFVar14;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        ppcVar5 = &pFVar25->file_name;
        pFVar25 = (type_2 *)((int)pFVar25 + (type_10)bVar28 * -2 + 1);
      } while (*(char *)ppcVar5 != '\0');
      pFVar20 = (type_2 *)(&DAT_000b579f + ~var_22);
      var_20 = ", cpic";
      pFVar25 = pFVar20;
      for (var_19 = 7; var_19 != 0; var_19 = var_19 + -1) {
        *(char *)&pFVar25->file_name = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        pFVar25 = (type_2 *)((int)pFVar25 + (type_10)bVar28 * -2 + 1);
      }
    }
    if (((type_10)var_17 & 0x10) != 0) {
      var_22 = 0xffffffff;
      pFVar25 = pFVar14;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        ppcVar5 = &pFVar25->file_name;
        pFVar25 = (type_2 *)((int)pFVar25 + (type_10)bVar28 * -2 + 1);
      } while (*(char *)ppcVar5 != '\0');
      pFVar20 = (type_2 *)(&DAT_000b579f + ~var_22);
      var_20 = ", ugen_reserved";
      pFVar25 = pFVar20;
      for (var_19 = 4; var_19 != 0; var_19 = var_19 + -1) {
        pFVar25->file_name = *(char **)var_20;
        var_20 = var_20 + (type_10)bVar28 * -8 + 4;
        pFVar25 = (type_2 *)((int)pFVar25 + (type_10)bVar28 * -8 + 4);
      }
    }
    if (((type_10)var_17 & 0x20) != 0) {
      var_22 = 0xffffffff;
      pFVar25 = pFVar14;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        ppcVar5 = &pFVar25->file_name;
        pFVar25 = (type_2 *)((int)pFVar25 + (type_10)bVar28 * -2 + 1);
      } while (*(char *)ppcVar5 != '\0');
      pFVar20 = (type_2 *)(&DAT_000b579f + ~var_22);
      var_20 = ", abi2";
      pFVar25 = pFVar20;
      for (var_19 = 7; var_19 != 0; var_19 = var_19 + -1) {
        *(char *)&pFVar25->file_name = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        pFVar25 = (type_2 *)((int)pFVar25 + (type_10)bVar28 * -2 + 1);
      }
    }
    if (((type_10)var_17 & 0x80) != 0) {
      var_22 = 0xffffffff;
      pFVar25 = pFVar14;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        ppcVar5 = &pFVar25->file_name;
        pFVar25 = (type_2 *)((int)pFVar25 + (type_10)bVar28 * -2 + 1);
      } while (*(char *)ppcVar5 != '\0');
      pFVar20 = (type_2 *)(&DAT_000b579f + ~var_22);
      var_20 = ", odk first";
      pFVar25 = pFVar20;
      for (var_19 = 3; var_19 != 0; var_19 = var_19 + -1) {
        pFVar25->file_name = *(char **)var_20;
        var_20 = var_20 + (type_10)bVar28 * -8 + 4;
        pFVar25 = (type_2 *)((int)pFVar25 + (type_10)bVar28 * -8 + 4);
      }
    }
    if (((type_10)var_17 & 0x100) != 0) {
      var_22 = 0xffffffff;
      pFVar25 = pFVar14;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        ppcVar5 = &pFVar25->file_name;
        pFVar25 = (type_2 *)((int)pFVar25 + (type_10)bVar28 * -2 + 1);
      } while (*(char *)ppcVar5 != '\0');
      pFVar20 = (type_2 *)(&DAT_000b579f + ~var_22);
      var_20 = ", 32bitmode";
      pFVar25 = pFVar20;
      for (var_19 = 3; var_19 != 0; var_19 = var_19 + -1) {
        pFVar25->file_name = *(char **)var_20;
        var_20 = var_20 + (type_10)bVar28 * -8 + 4;
        pFVar25 = (type_2 *)((int)pFVar25 + (type_10)bVar28 * -8 + 4);
      }
    }
    if (((type_10)var_17 & 0x400) != 0) {
      var_22 = 0xffffffff;
      pFVar25 = pFVar14;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        ppcVar5 = &pFVar25->file_name;
        pFVar25 = (type_2 *)((int)pFVar25 + (type_10)bVar28 * -2 + 1);
      } while (*(char *)ppcVar5 != '\0');
      pFVar20 = (type_2 *)(&DAT_000b579f + ~var_22);
      var_20 = ", nan2008";
      pFVar25 = pFVar20;
      for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
        *(char *)&pFVar25->file_name = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        pFVar25 = (type_2 *)((int)pFVar25 + (type_10)bVar28 * -2 + 1);
      }
    }
    if (((type_10)var_17 & 0x200) != 0) {
      var_22 = 0xffffffff;
      pFVar25 = pFVar14;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        ppcVar5 = &pFVar25->file_name;
        pFVar25 = (type_2 *)((int)pFVar25 + (type_10)bVar28 * -2 + 1);
      } while (*(char *)ppcVar5 != '\0');
      pFVar20 = (type_2 *)(&DAT_000b579f + ~var_22);
      var_20 = ", fp64";
      pFVar25 = pFVar20;
      for (var_19 = 7; var_19 != 0; var_19 = var_19 + -1) {
        *(char *)&pFVar25->file_name = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        pFVar25 = (type_2 *)((int)pFVar25 + (type_10)bVar28 * -2 + 1);
      }
    }
    var_22 = (type_10)var_17 & 0xff0000;
    if (var_22 == 0x8c0000) {
      var_22 = 0xffffffff;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        ppcVar5 = &pFVar14->file_name;
        pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
      } while (*(char *)ppcVar5 != '\0');
      pFVar14 = (type_2 *)&var_16;
      pFVar20 = (type_2 *)~var_22;
      *(type_11 *)((int)&pFVar20[0x1907].num_dump_sects + 3) = 0x6c78202c;
      *(type_14 *)((int)&pFVar20[0x1908].file_name + 3) = 0x72;
    }
    else if (var_22 < 0x8c0001) {
      if (var_22 == 0x850000) {
        var_22 = 0xffffffff;
        do {
          if (var_22 == 0) break;
          var_22 = var_22 - 1;
          ppcVar5 = &pFVar14->file_name;
          pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
        } while (*(char *)ppcVar5 != '\0');
        pFVar20 = (type_2 *)(&DAT_000b579f + ~var_22);
        var_20 = ", 4650";
        pFVar14 = pFVar20;
        for (var_19 = 7; var_19 != 0; var_19 = var_19 + -1) {
          *(char *)&pFVar14->file_name = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
        }
      }
      else if (var_22 < 0x850001) {
        if (var_22 == 0x810000) {
          var_22 = 0xffffffff;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            ppcVar5 = &pFVar14->file_name;
            pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
          } while (*(char *)ppcVar5 != '\0');
          pFVar20 = (type_2 *)(&DAT_000b579f + ~var_22);
          var_20 = ", 3900";
          pFVar14 = pFVar20;
          for (var_19 = 7; var_19 != 0; var_19 = var_19 + -1) {
            *(char *)&pFVar14->file_name = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
          }
        }
        else if (var_22 < 0x810001) {
          pFVar14 = pFVar25;
          if (var_22 != 0) goto LAB_0003d280;
        }
        else if (var_22 == 0x820000) {
          var_22 = 0xffffffff;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            ppcVar5 = &pFVar14->file_name;
            pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
          } while (*(char *)ppcVar5 != '\0');
          pFVar20 = (type_2 *)(&DAT_000b579f + ~var_22);
          var_20 = ", 4010";
          pFVar14 = pFVar20;
          for (var_19 = 7; var_19 != 0; var_19 = var_19 + -1) {
            *(char *)&pFVar14->file_name = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
          }
        }
        else {
          if (var_22 != 0x830000) goto LAB_0003d280;
          var_22 = 0xffffffff;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            ppcVar5 = &pFVar14->file_name;
            pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
          } while (*(char *)ppcVar5 != '\0');
          pFVar20 = (type_2 *)(&DAT_000b579f + ~var_22);
          var_20 = ", 4100";
          pFVar14 = pFVar20;
          for (var_19 = 7; var_19 != 0; var_19 = var_19 + -1) {
            *(char *)&pFVar14->file_name = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
          }
        }
      }
      else if (var_22 == 0x880000) {
        var_22 = 0xffffffff;
        do {
          if (var_22 == 0) break;
          var_22 = var_22 - 1;
          ppcVar5 = &pFVar14->file_name;
          pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
        } while (*(char *)ppcVar5 != '\0');
        pFVar20 = (type_2 *)(&DAT_000b579f + ~var_22);
        var_20 = ", 4111";
        pFVar14 = pFVar20;
        for (var_19 = 7; var_19 != 0; var_19 = var_19 + -1) {
          *(char *)&pFVar14->file_name = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
        }
      }
      else if (var_22 < 0x880001) {
        if (var_22 != 0x870000) goto LAB_0003d280;
        var_22 = 0xffffffff;
        do {
          if (var_22 == 0) break;
          var_22 = var_22 - 1;
          ppcVar5 = &pFVar14->file_name;
          pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
        } while (*(char *)ppcVar5 != '\0');
        pFVar20 = (type_2 *)(&DAT_000b579f + ~var_22);
        var_20 = ", 4120";
        pFVar14 = pFVar20;
        for (var_19 = 7; var_19 != 0; var_19 = var_19 + -1) {
          *(char *)&pFVar14->file_name = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
        }
      }
      else if (var_22 == 0x8a0000) {
        var_22 = 0xffffffff;
        pFVar25 = pFVar14;
        do {
          if (var_22 == 0) break;
          var_22 = var_22 - 1;
          ppcVar5 = &pFVar25->file_name;
          pFVar25 = (type_2 *)((int)pFVar25 + (type_10)bVar28 * -2 + 1);
        } while (*(char *)ppcVar5 != '\0');
        pFVar20 = (type_2 *)~var_22;
        *(type_11 *)((int)&pFVar20[0x1907].num_dump_sects + 3) = 0x6273202c;
        *(type_14 *)((int)&pFVar20[0x1908].file_name + 3) = 0x31;
      }
      else {
        if (var_22 != 0x8b0000) goto LAB_0003d280;
        var_22 = 0xffffffff;
        do {
          if (var_22 == 0) break;
          var_22 = var_22 - 1;
          ppcVar5 = &pFVar14->file_name;
          pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
        } while (*(char *)ppcVar5 != '\0');
        pFVar20 = (type_2 *)(&DAT_000b579f + ~var_22);
        var_20 = ", octeon";
        pFVar14 = pFVar20;
        for (var_19 = 9; var_19 != 0; var_19 = var_19 + -1) {
          *(char *)&pFVar14->file_name = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
        }
      }
    }
    else if (var_22 == 0x930000) {
      var_22 = 0xffffffff;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        ppcVar5 = &pFVar14->file_name;
        pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
      } while (*(char *)ppcVar5 != '\0');
      pFVar20 = (type_2 *)(&DAT_000b579f + ~var_22);
      var_20 = ", interaptiv-mr2";
      pFVar14 = pFVar20;
      for (var_19 = 0x11; var_19 != 0; var_19 = var_19 + -1) {
        *(char *)&pFVar14->file_name = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
      }
    }
    else if (var_22 < 0x930001) {
      if (var_22 == 0x8e0000) {
        var_22 = 0xffffffff;
        do {
          if (var_22 == 0) break;
          var_22 = var_22 - 1;
          ppcVar5 = &pFVar14->file_name;
          pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
        } while (*(char *)ppcVar5 != '\0');
        pFVar20 = (type_2 *)(&DAT_000b579f + ~var_22);
        var_20 = ", octeon3";
        pFVar14 = pFVar20;
        for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
          *(char *)&pFVar14->file_name = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
        }
      }
      else if (var_22 < 0x8e0001) {
        if (var_22 == 0x8d0000) {
          var_22 = 0xffffffff;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            ppcVar5 = &pFVar14->file_name;
            pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
          } while (*(char *)ppcVar5 != '\0');
          pFVar20 = (type_2 *)(&DAT_000b579f + ~var_22);
          var_20 = ", octeon2";
          pFVar14 = pFVar20;
          for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
            *(char *)&pFVar14->file_name = *var_20;
            var_20 = var_20 + (type_10)bVar28 * -2 + 1;
            pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
          }
        }
        else {
LAB_0003d280:
          pFVar14 = (type_2 *)0x0;
          var_20 = (char *)var_1(0,", unknown CPU",5,var_20);
          var_31((char *)&var_16,var_20);
          pFVar20 = extraout_EDX;
        }
      }
      else if (var_22 == 0x910000) {
        var_22 = 0xffffffff;
        do {
          if (var_22 == 0) break;
          var_22 = var_22 - 1;
          ppcVar5 = &pFVar14->file_name;
          pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
        } while (*(char *)ppcVar5 != '\0');
        pFVar20 = (type_2 *)(&DAT_000b579f + ~var_22);
        var_20 = ", 5400";
        pFVar14 = pFVar20;
        for (var_19 = 7; var_19 != 0; var_19 = var_19 + -1) {
          *(char *)&pFVar14->file_name = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
        }
      }
      else {
        if (var_22 != 0x920000) goto LAB_0003d280;
        var_22 = 0xffffffff;
        do {
          if (var_22 == 0) break;
          var_22 = var_22 - 1;
          ppcVar5 = &pFVar14->file_name;
          pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
        } while (*(char *)ppcVar5 != '\0');
        pFVar20 = (type_2 *)(&DAT_000b579f + ~var_22);
        var_20 = ", 5900";
        pFVar14 = pFVar20;
        for (var_19 = 7; var_19 != 0; var_19 = var_19 + -1) {
          *(char *)&pFVar14->file_name = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
        }
      }
    }
    else if (var_22 == 0xa00000) {
      var_22 = 0xffffffff;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        ppcVar5 = &pFVar14->file_name;
        pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
      } while (*(char *)ppcVar5 != '\0');
      pFVar20 = (type_2 *)(&DAT_000b579f + ~var_22);
      var_20 = ", loongson-2e";
      pFVar14 = pFVar20;
      for (var_19 = 0xe; var_19 != 0; var_19 = var_19 + -1) {
        *(char *)&pFVar14->file_name = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
      }
    }
    else if (var_22 < 0xa00001) {
      if (var_22 == 0x980000) {
        var_22 = 0xffffffff;
        do {
          if (var_22 == 0) break;
          var_22 = var_22 - 1;
          ppcVar5 = &pFVar14->file_name;
          pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
        } while (*(char *)ppcVar5 != '\0');
        pFVar20 = (type_2 *)(&DAT_000b579f + ~var_22);
        var_20 = ", 5500";
        pFVar14 = pFVar20;
        for (var_19 = 7; var_19 != 0; var_19 = var_19 + -1) {
          *(char *)&pFVar14->file_name = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
        }
      }
      else {
        if (var_22 != 0x990000) goto LAB_0003d280;
        var_22 = 0xffffffff;
        do {
          if (var_22 == 0) break;
          var_22 = var_22 - 1;
          ppcVar5 = &pFVar14->file_name;
          pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
        } while (*(char *)ppcVar5 != '\0');
        pFVar20 = (type_2 *)(&DAT_000b579f + ~var_22);
        var_20 = ", 9000";
        pFVar14 = pFVar20;
        for (var_19 = 7; var_19 != 0; var_19 = var_19 + -1) {
          *(char *)&pFVar14->file_name = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
        }
      }
    }
    else if (var_22 == 0xa10000) {
      var_22 = 0xffffffff;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        ppcVar5 = &pFVar14->file_name;
        pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
      } while (*(char *)ppcVar5 != '\0');
      pFVar20 = (type_2 *)(&DAT_000b579f + ~var_22);
      var_20 = ", loongson-2f";
      pFVar14 = pFVar20;
      for (var_19 = 0xe; var_19 != 0; var_19 = var_19 + -1) {
        *(char *)&pFVar14->file_name = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
      }
    }
    else {
      if (var_22 != 0xa20000) goto LAB_0003d280;
      var_22 = 0xffffffff;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        ppcVar5 = &pFVar14->file_name;
        pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
      } while (*(char *)ppcVar5 != '\0');
      pFVar20 = (type_2 *)(&DAT_000b579f + ~var_22);
      var_20 = ", loongson-3a";
      pFVar14 = pFVar20;
      for (var_19 = 0xe; var_19 != 0; var_19 = var_19 + -1) {
        *(char *)&pFVar14->file_name = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
      }
    }
    local_34 = (type_2 *)&var_16;
    var_22 = (type_10)var_17 & 0xf000;
    if (var_22 == 0x2000) {
      var_22 = 0xffffffff;
      pFVar14 = local_34;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        var_23 = *(char *)pFVar14;
        pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
      } while (var_23 != '\0');
      pFVar20 = (type_2 *)~var_22;
      *(type_11 *)((int)&pFVar20[0x1907].num_dump_sects + 3) = 0x366f202c;
      *(type_14 *)((int)&pFVar20[0x1908].file_name + 3) = 0x34;
    }
    else if (var_22 < 0x2001) {
      if (var_22 != 0) {
        if (var_22 == 0x1000) {
          var_22 = 0xffffffff;
          pFVar14 = local_34;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_23 = *(char *)pFVar14;
            pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
          } while (var_23 != '\0');
          pFVar20 = (type_2 *)~var_22;
          *(type_11 *)((int)&pFVar20[0x1907].num_dump_sects + 3) = 0x336f202c;
          *(type_14 *)((int)&pFVar20[0x1908].file_name + 3) = 0x32;
        }
        else {
LAB_0003e7da:
          var_20 = (char *)var_1(0,", unknown ABI",5,pFVar14);
          var_31((char *)&var_16,var_20);
          pFVar20 = extraout_EDX_01;
        }
      }
    }
    else if (var_22 == 0x3000) {
      var_22 = 0xffffffff;
      pFVar14 = local_34;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        var_23 = *(char *)pFVar14;
        pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
      } while (var_23 != '\0');
      pFVar20 = (type_2 *)(&DAT_000b579f + ~var_22);
      var_20 = ", eabi32";
      pFVar14 = pFVar20;
      for (var_19 = 9; var_19 != 0; var_19 = var_19 + -1) {
        *(char *)&pFVar14->file_name = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
      }
    }
    else {
      if (var_22 != 0x4000) goto LAB_0003e7da;
      var_22 = 0xffffffff;
      pFVar14 = local_34;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        var_23 = *(char *)pFVar14;
        pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
      } while (var_23 != '\0');
      pFVar20 = (type_2 *)(&DAT_000b579f + ~var_22);
      var_20 = ", eabi64";
      pFVar14 = pFVar20;
      for (var_19 = 9; var_19 != 0; var_19 = var_19 + -1) {
        *(char *)&pFVar14->file_name = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
      }
    }
    if (((type_10)var_17 & 0x8000000) != 0) {
      var_22 = 0xffffffff;
      pFVar14 = local_34;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        var_23 = *(char *)pFVar14;
        pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
      } while (var_23 != '\0');
      pFVar20 = (type_2 *)(&DAT_000b579f + ~var_22);
      var_20 = ", mdmx";
      pFVar14 = pFVar20;
      for (var_19 = 7; var_19 != 0; var_19 = var_19 + -1) {
        *(char *)&pFVar14->file_name = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
      }
    }
    if (((type_10)var_17 & 0x4000000) != 0) {
      var_22 = 0xffffffff;
      pFVar14 = local_34;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        var_23 = *(char *)pFVar14;
        pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
      } while (var_23 != '\0');
      pFVar20 = (type_2 *)(&DAT_000b579f + ~var_22);
      var_20 = ", mips16";
      pFVar14 = pFVar20;
      for (var_19 = 9; var_19 != 0; var_19 = var_19 + -1) {
        *(char *)&pFVar14->file_name = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
      }
    }
    if (((type_10)var_17 & 0x2000000) != 0) {
      var_22 = 0xffffffff;
      pFVar14 = local_34;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        var_23 = *(char *)pFVar14;
        pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
      } while (var_23 != '\0');
      pFVar20 = (type_2 *)(&DAT_000b579f + ~var_22);
      var_20 = ", micromips";
      pFVar14 = pFVar20;
      for (var_19 = 3; var_19 != 0; var_19 = var_19 + -1) {
        pFVar14->file_name = *(char **)var_20;
        var_20 = var_20 + ((type_10)bVar28 * -2 + 1) * 4;
        pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -8 + 4);
      }
    }
    var_22 = (type_10)var_17 & 0xf0000000;
    if (var_22 == 0x50000000) {
      var_22 = 0xffffffff;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        var_23 = *(char *)local_34;
        local_34 = (type_2 *)((int)local_34 + (type_10)bVar28 * -2 + 1);
      } while (var_23 != '\0');
      var_20 = ", mips32";
      var_21 = &DAT_000b579f + ~var_22;
      for (var_19 = 9; var_19 != 0; var_19 = var_19 + -1) {
        *var_21 = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        var_21 = var_21 + (type_10)bVar28 * -2 + 1;
      }
      var_17 = (type_2 *)(filedata->file_header).e_flags;
    }
    else if (var_22 < 0x50000001) {
      if (var_22 == 0x20000000) {
        var_22 = 0xffffffff;
        do {
          if (var_22 == 0) break;
          var_22 = var_22 - 1;
          var_23 = *(char *)local_34;
          local_34 = (type_2 *)((int)local_34 + (type_10)bVar28 * -2 + 1);
        } while (var_23 != '\0');
        *(type_11 *)(&DAT_000b579f + ~var_22) = 0x696d202c;
        *(type_11 *)((int)&var_16 + ~var_22 + 3) = 0x337370;
        var_17 = (type_2 *)(filedata->file_header).e_flags;
      }
      else if (var_22 < 0x20000001) {
        if (var_22 == 0) {
          var_22 = 0xffffffff;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_23 = *(char *)local_34;
            local_34 = (type_2 *)((int)local_34 + (type_10)bVar28 * -2 + 1);
          } while (var_23 != '\0');
          *(type_11 *)(&DAT_000b579f + ~var_22) = 0x696d202c;
          *(type_11 *)((int)&var_16 + ~var_22 + 3) = 0x317370;
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
        else if (var_22 == 0x10000000) {
          var_22 = 0xffffffff;
          do {
            if (var_22 == 0) break;
            var_22 = var_22 - 1;
            var_23 = *(char *)local_34;
            local_34 = (type_2 *)((int)local_34 + (type_10)bVar28 * -2 + 1);
          } while (var_23 != '\0');
          *(type_11 *)(&DAT_000b579f + ~var_22) = 0x696d202c;
          *(type_11 *)((int)&var_16 + ~var_22 + 3) = 0x327370;
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
        else {
LAB_0003e94f:
          var_20 = (char *)var_1(0,", unknown ISA",5,pFVar20);
          var_31((char *)&var_16,var_20);
          var_17 = (type_2 *)(filedata->file_header).e_flags;
        }
      }
      else if (var_22 == 0x30000000) {
        var_22 = 0xffffffff;
        do {
          if (var_22 == 0) break;
          var_22 = var_22 - 1;
          var_23 = *(char *)local_34;
          local_34 = (type_2 *)((int)local_34 + (type_10)bVar28 * -2 + 1);
        } while (var_23 != '\0');
        *(type_11 *)(&DAT_000b579f + ~var_22) = 0x696d202c;
        *(type_11 *)((int)&var_16 + ~var_22 + 3) = 0x347370;
        var_17 = (type_2 *)(filedata->file_header).e_flags;
      }
      else {
        if (var_22 != 0x40000000) goto LAB_0003e94f;
        var_22 = 0xffffffff;
        do {
          if (var_22 == 0) break;
          var_22 = var_22 - 1;
          var_23 = *(char *)local_34;
          local_34 = (type_2 *)((int)local_34 + (type_10)bVar28 * -2 + 1);
        } while (var_23 != '\0');
        *(type_11 *)(&DAT_000b579f + ~var_22) = 0x696d202c;
        *(type_11 *)((int)&var_16 + ~var_22 + 3) = 0x357370;
        var_17 = (type_2 *)(filedata->file_header).e_flags;
      }
    }
    else if (var_22 == 0x80000000) {
      var_22 = 0xffffffff;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        var_23 = *(char *)local_34;
        local_34 = (type_2 *)((int)local_34 + (type_10)bVar28 * -2 + 1);
      } while (var_23 != '\0');
      var_20 = ", mips64r2";
      var_21 = &DAT_000b579f + ~var_22;
      for (var_19 = 0xb; var_19 != 0; var_19 = var_19 + -1) {
        *var_21 = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        var_21 = var_21 + (type_10)bVar28 * -2 + 1;
      }
      var_17 = (type_2 *)(filedata->file_header).e_flags;
    }
    else if (var_22 < 0x80000001) {
      if (var_22 == 0x60000000) {
        var_22 = 0xffffffff;
        do {
          if (var_22 == 0) break;
          var_22 = var_22 - 1;
          var_23 = *(char *)local_34;
          local_34 = (type_2 *)((int)local_34 + (type_10)bVar28 * -2 + 1);
        } while (var_23 != '\0');
        var_20 = ", mips64";
        var_21 = &DAT_000b579f + ~var_22;
        for (var_19 = 9; var_19 != 0; var_19 = var_19 + -1) {
          *var_21 = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          var_21 = var_21 + (type_10)bVar28 * -2 + 1;
        }
        var_17 = (type_2 *)(filedata->file_header).e_flags;
      }
      else {
        if (var_22 != 0x70000000) goto LAB_0003e94f;
        var_22 = 0xffffffff;
        do {
          if (var_22 == 0) break;
          var_22 = var_22 - 1;
          var_23 = *(char *)local_34;
          local_34 = (type_2 *)((int)local_34 + (type_10)bVar28 * -2 + 1);
        } while (var_23 != '\0');
        var_20 = ", mips32r2";
        var_21 = &DAT_000b579f + ~var_22;
        for (var_19 = 0xb; var_19 != 0; var_19 = var_19 + -1) {
          *var_21 = *var_20;
          var_20 = var_20 + (type_10)bVar28 * -2 + 1;
          var_21 = var_21 + (type_10)bVar28 * -2 + 1;
        }
        var_17 = (type_2 *)(filedata->file_header).e_flags;
      }
    }
    else if (var_22 == 0x90000000) {
      var_22 = 0xffffffff;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        var_23 = *(char *)local_34;
        local_34 = (type_2 *)((int)local_34 + (type_10)bVar28 * -2 + 1);
      } while (var_23 != '\0');
      var_20 = ", mips32r6";
      var_21 = &DAT_000b579f + ~var_22;
      for (var_19 = 0xb; var_19 != 0; var_19 = var_19 + -1) {
        *var_21 = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        var_21 = var_21 + (type_10)bVar28 * -2 + 1;
      }
      var_17 = (type_2 *)(filedata->file_header).e_flags;
    }
    else {
      if (var_22 != 0xa0000000) goto LAB_0003e94f;
      var_22 = 0xffffffff;
      do {
        if (var_22 == 0) break;
        var_22 = var_22 - 1;
        var_23 = *(char *)local_34;
        local_34 = (type_2 *)((int)local_34 + (type_10)bVar28 * -2 + 1);
      } while (var_23 != '\0');
      var_20 = ", mips64r6";
      var_21 = &DAT_000b579f + ~var_22;
      for (var_19 = 0xb; var_19 != 0; var_19 = var_19 + -1) {
        *var_21 = *var_20;
        var_20 = var_20 + (type_10)bVar28 * -2 + 1;
        var_21 = var_21 + (type_10)bVar28 * -2 + 1;
      }
      var_17 = (type_2 *)(filedata->file_header).e_flags;
    }
    goto LAB_0003b840;
  }
  if (var_18 != 4) goto LAB_0003b840;
  var_22 = (type_10)var_17 & 0x3818000;
  if (var_22 == 0x1000000) {
    var_20 = ", m68000";
    var_21 = (char *)&var_16;
    for (var_19 = 9; var_19 != 0; var_19 = var_19 + -1) {
      *var_21 = *var_20;
      var_20 = var_20 + (type_10)bVar28 * -2 + 1;
      var_21 = var_21 + (type_10)bVar28 * -2 + 1;
    }
    var_17 = (type_2 *)(filedata->file_header).e_flags;
    goto LAB_0003b840;
  }
  if (var_22 == 0x810000) {
    var_16 = 0x7063202c;
    DAT_000b57a4 = 0x323375;
    var_17 = (type_2 *)(filedata->file_header).e_flags;
    goto LAB_0003b840;
  }
  if (var_22 == 0x2000000) {
    var_20 = ", fido_a";
    var_21 = (char *)&var_16;
    for (var_19 = 9; var_19 != 0; var_19 = var_19 + -1) {
      *var_21 = *var_20;
      var_20 = var_20 + (type_10)bVar28 * -2 + 1;
      var_21 = var_21 + (type_10)bVar28 * -2 + 1;
    }
    var_17 = (type_2 *)(filedata->file_header).e_flags;
    goto LAB_0003b840;
  }
  var_20 = (char *)var_1(0,"unknown",5);
  var_46 = (char *)var_1(0,"unknown mac",5);
  switch((type_10)var_17 & 0xf) {
  default:
    var_22 = 0xffffffff;
    var_21 = (char *)&var_16;
    do {
      if (var_22 == 0) break;
      var_22 = var_22 - 1;
      var_23 = *var_21;
      var_21 = var_21 + (type_10)bVar28 * -2 + 1;
    } while (var_23 != '\0');
    var_21 = ", cf, isa ";
    var_42 = &DAT_000b579f + ~var_22;
    for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
      *var_42 = *var_21;
      var_21 = var_21 + (type_10)bVar28 * -2 + 1;
      var_42 = var_42 + (type_10)bVar28 * -2 + 1;
    }
    var_44(&DAT_000b57a9 + ~var_22,var_20);
    goto LAB_0003c31a;
  case 1:
    var_45 = ", nodiv";
    var_20 = "A";
    goto LAB_0003c39b;
  case 2:
    var_20 = "A";
    break;
  case 3:
    var_20 = "A+";
    break;
  case 4:
    var_20 = "B";
    var_45 = ", nousp";
    goto LAB_0003c39b;
  case 5:
    var_20 = "B";
    break;
  case 6:
    var_20 = "C";
    break;
  case 7:
    var_45 = ", nodiv";
    var_20 = "C";
LAB_0003c39b:
    var_22 = 0xffffffff;
    var_21 = (char *)&var_16;
    do {
      if (var_22 == 0) break;
      var_22 = var_22 - 1;
      var_23 = *var_21;
      var_21 = var_21 + (type_10)bVar28 * -2 + 1;
    } while (var_23 != '\0');
    var_23 = *var_20;
    var_22 = ~var_22;
    var_20 = ", cf, isa ";
    var_21 = &DAT_000b579f + var_22;
    for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
      *var_21 = *var_20;
      var_20 = var_20 + (type_10)bVar28 * -2 + 1;
      var_21 = var_21 + (type_10)bVar28 * -2 + 1;
    }
    (&DAT_000b57a9)[var_22] = var_23;
    uVar16 = *(type_11 *)var_45;
    *(type_11 *)((int)&DAT_000b57ac + var_22 + 2) = *(type_11 *)(var_45 + 4);
    *(type_11 *)(&DAT_000b57aa + var_22) = uVar16;
    goto LAB_0003c31a;
  }
  var_22 = 0xffffffff;
  var_21 = (char *)&var_16;
  do {
    if (var_22 == 0) break;
    var_22 = var_22 - 1;
    var_23 = *var_21;
    var_21 = var_21 + (type_10)bVar28 * -2 + 1;
  } while (var_23 != '\0');
  var_21 = ", cf, isa ";
  var_42 = &DAT_000b579f + ~var_22;
  for (var_19 = 10; var_19 != 0; var_19 = var_19 + -1) {
    *var_42 = *var_21;
    var_21 = var_21 + (type_10)bVar28 * -2 + 1;
    var_42 = var_42 + (type_10)bVar28 * -2 + 1;
  }
  var_44(&DAT_000b57a9 + ~var_22,var_20);
LAB_0003c31a:
  local_34 = (type_2 *)&var_16;
  if (((type_10)var_17 & 0x40) != 0) {
    var_22 = 0xffffffff;
    pFVar14 = local_34;
    do {
      if (var_22 == 0) break;
      var_22 = var_22 - 1;
      var_23 = *(char *)pFVar14;
      pFVar14 = (type_2 *)((int)pFVar14 + (type_10)bVar28 * -2 + 1);
    } while (var_23 != '\0');
    *(type_11 *)(&DAT_000b579f + ~var_22) = 0x6c66202c;
    *(type_11 *)((int)&var_16 + ~var_22 + 3) = 0x74616f;
  }
  var_22 = (type_10)var_17 & 0x30;
  if (var_22 == 0x10) {
    var_46 = "mac";
LAB_0003c354:
    var_22 = 0xffffffff;
    do {
      if (var_22 == 0) break;
      var_22 = var_22 - 1;
      var_23 = *(char *)local_34;
      local_34 = (type_2 *)((int)local_34 + (type_10)bVar28 * -2 + 1);
    } while (var_23 != '\0');
    *(type_14 *)(&DAT_000b579f + ~var_22) = 0x202c;
    var_44((char *)((int)&var_16 + ~var_22 + 1),var_46);
    var_17 = (type_2 *)(filedata->file_header).e_flags;
  }
  else {
    if (0x10 < var_22) {
      if (var_22 == 0x20) {
        var_46 = "emac";
      }
      else {
        if (var_22 != 0x30) goto LAB_0003e4f5;
        var_46 = "emac_b";
      }
      goto LAB_0003c354;
    }
    if (var_22 == 0) {
      var_17 = (type_2 *)(filedata->file_header).e_flags;
    }
    else {
LAB_0003e4f5:
      if (var_46 != (char *)0x0) goto LAB_0003c354;
      var_17 = (type_2 *)(filedata->file_header).e_flags;
    }
  }
LAB_0003b840:
  var_20 = (char *)var_1(0,"  Flags:                             0x%lx%s\n",5);
  var_5(var_20,var_17,&var_16);
  var_22 = (filedata->file_header).e_ehsize;
  var_20 = (char *)var_1(0,"  Size of this header:               %ld (bytes)\n",5);
  var_5(var_20,var_22);
  var_22 = (filedata->file_header).e_phentsize;
  var_20 = (char *)var_1(0,"  Size of program headers:           %ld (bytes)\n",5);
  var_5(var_20,var_22);
  var_22 = (filedata->file_header).e_phnum;
  var_20 = (char *)var_1(0,"  Number of program headers:         %ld",5);
  var_5(var_20,var_22);
  if (((filedata->section_headers != (type_5 *)0x0) &&
      ((filedata->file_header).e_phnum == 0xffff)) &&
     (var_22 = filedata->section_headers->sh_info, var_22 != 0)) {
    var_5(" (%ld)",var_22);
  }
  puVar6 = PTR_stdout_000b3fd8;
  var_47(10,*(type_15 **)PTR_stdout_000b3fd8);
  var_22 = (filedata->file_header).e_shentsize;
  var_20 = (char *)var_1(0,"  Size of section headers:           %ld (bytes)\n",5);
  var_5(var_20,var_22);
  var_22 = (filedata->file_header).e_shnum;
  var_20 = (char *)var_1(0,"  Number of section headers:         %ld",5);
  var_5(var_20,var_22);
  if ((filedata->section_headers != (type_5 *)0x0) &&
     ((filedata->file_header).e_shnum == 0)) {
    var_5(" (%ld)",(int)filedata->section_headers->sh_size);
  }
  var_47(10,*(type_15 **)puVar6);
  var_22 = (filedata->file_header).e_shstrndx;
  var_20 = (char *)var_1(0,"  Section header string table index: %ld",5);
  var_5(var_20,var_22);
  if (filedata->section_headers == (type_5 *)0x0) {
    var_22 = (filedata->file_header).e_shstrndx;
LAB_0003b994:
    if ((var_22 != 0) && ((filedata->file_header).e_shnum <= var_22)) {
      var_20 = (char *)var_1(0," <corrupt: out of range>",5);
      var_5(var_20);
    }
  }
  else {
    var_22 = (filedata->file_header).e_shstrndx;
    if (var_22 != 0xffff) goto LAB_0003b994;
    var_5(" (%u)",filedata->section_headers->sh_link);
  }
  var_47(10,*(type_15 **)puVar6);
LAB_0003b371:
  var_48 = filedata->section_headers;
  if (var_48 == (type_5 *)0x0) {
    return 1;
  }
  if (((filedata->file_header).e_phnum == 0xffff) && (var_48->sh_info != 0)) {
    (filedata->file_header).e_phnum = var_48->sh_info;
  }
  var_22 = (filedata->file_header).e_shnum;
  if (var_22 == 0) {
    var_22 = (type_10)var_48->sh_size;
    (filedata->file_header).e_shnum = var_22;
  }
  var_27 = (filedata->file_header).e_shstrndx;
  if (var_27 == 0xffff) {
    var_27 = var_48->sh_link;
    (filedata->file_header).e_shstrndx = var_27;
  }
  if (var_22 <= var_27) {
    (filedata->file_header).e_shstrndx = 0;
  }
  var_49(var_48);
  filedata->section_headers = (type_5 *)0x0;
  return 1;
}


(translation_unit (function_definition type: (type_identifier) (ERROR (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator 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: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) 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: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_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: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (return_statement (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (do_statement body: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (binary_expression left: (parenthesized_expression (identifier)) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (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 (call_expression function: (identifier) arguments: (argument_list (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (pointer_expression argument: (identifier)) (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) 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 (number_literal) (string_literal (string_content)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal) (identifier) (identifier))))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence) (string_content)))) (labeled_statement label: (statement_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 (number_literal) (identifier) (number_literal)))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence) (string_content)))) (goto_statement label: (statement_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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal) (identifier) (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (string_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (escape_sequence) (string_content)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence) (string_content)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (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))))))) (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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (switch_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) body: (compound_statement (case_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (string_literal (string_content))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) right: (unary_expression argument: (pointer_expression argument: (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))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (identifier)) 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: (identifier)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) (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: (string_literal (string_content)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (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)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) alternative: (else_clause (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)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))))))) alternative: (else_clause (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) right: (unary_expression argument: (pointer_expression argument: (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))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (identifier)) 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: (identifier)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))))) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (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: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))))))) (switch_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) body: (compound_statement (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (break_statement)) (case_statement (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)) (number_literal)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal) (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (identifier))))))) (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: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal) (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) alternative: (else_clause (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: (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: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) alternative: (else_clause (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 (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (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: (pointer_expression argument: (identifier)) right: (unary_expression argument: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (unary_expression argument: (identifier))) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))))) alternative: (else_clause (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (number_literal) (string_literal (string_content)) (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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)))) alternative: (else_clause (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: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier)))) (binary_expression left: (number_literal) right: (identifier)) (string_literal (string_content)) (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier)))) (binary_expression left: (number_literal) right: (identifier)) (string_literal (string_content)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content)) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (string_literal (string_content)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) 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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content)) (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content)) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content)) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content)) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content)) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (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: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier)))))) (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: (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: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content)) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content)) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))))) (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content)) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content)) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) 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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (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: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))))) (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content)) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) 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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier)))))) (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content)) (identifier)))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier)))))) (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content)) (identifier)))))) (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: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content)) (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content)) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content)) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (labeled_statement label: (statement_identifier) (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier)))))) (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content)) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier)))))) (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content)) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier)))))) (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content)) (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))))) (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (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: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier)))) (binary_expression left: (number_literal) right: (identifier)) (string_literal (string_content)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) alternative: (else_clause (compound_statement (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: (goto_statement label: (statement_identifier)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content))))) (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))))))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (pointer_expression argument: (identifier)) right: (unary_expression argument: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (unary_expression argument: (identifier))) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (pointer_expression argument: (identifier)) right: (unary_expression argument: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (unary_expression argument: (identifier))) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) right: (unary_expression argument: (pointer_expression argument: (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))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (identifier)) 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: (identifier)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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)) 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: (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: (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))))) (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: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (pointer_expression argument: (identifier)) right: (unary_expression argument: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (unary_expression argument: (identifier))) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))))))))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (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: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))))) alternative: (else_clause (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 (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: (number_literal))) consequence: (compound_statement (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (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: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (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: (pointer_expression argument: (identifier)) right: (unary_expression argument: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (unary_expression argument: (identifier))) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (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: (pointer_expression argument: (identifier)) right: (unary_expression argument: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (unary_expression argument: (identifier))) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (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: (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))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (labeled_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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))))))) alternative: (else_clause (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (number_literal)))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (number_literal)))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (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: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) alternative: (else_clause (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: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (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 (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (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 (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (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: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (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 (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))))))))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (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: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal) (pointer_expression argument: (identifier)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (identifier)))))))))) alternative: (else_clause (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) 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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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)) value: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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)) value: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal) (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 (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (identifier)))))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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)) value: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (compound_statement (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: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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)) value: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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)) value: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (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: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (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: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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)) value: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (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 (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))) (string_literal (string_content)) (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) (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: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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)) value: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))) (identifier) (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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: (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: (string_literal (string_content))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (unary_expression argument: (identifier)) right: (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 (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) right: (unary_expression argument: (pointer_expression argument: (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))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (identifier)) 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: (identifier)) right: (number_literal)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))))) (string_literal (string_content)) (number_literal))))) alternative: (else_clause (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 (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) right: (unary_expression argument: (pointer_expression argument: (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))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (identifier)) 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: (identifier)) right: (number_literal)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))))) (string_literal (string_content)) (number_literal))))) alternative: (else_clause (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 (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) right: (unary_expression argument: (pointer_expression argument: (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))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (identifier)) 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: (identifier)) right: (number_literal)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))))) (string_literal (string_content)) (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) right: (unary_expression argument: (pointer_expression argument: (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))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (identifier)) 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: (identifier)) right: (number_literal)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))))) (string_literal (string_content)) (number_literal))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) right: (unary_expression argument: (pointer_expression argument: (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))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (identifier)) 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: (identifier)) right: (number_literal)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))))) (string_literal (string_content)) (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) right: (unary_expression argument: (pointer_expression argument: (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))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (identifier)) 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: (identifier)) right: (number_literal)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))))) (string_literal (string_content)) (number_literal))))))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) right: (unary_expression argument: (pointer_expression argument: (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))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (identifier)) 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: (identifier)) right: (number_literal)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))))) (string_literal (string_content)) (number_literal))))) alternative: (else_clause (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 (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) right: (unary_expression argument: (pointer_expression argument: (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))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (identifier)) 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: (identifier)) right: (number_literal)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))))) (string_literal (string_content)) (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) right: (unary_expression argument: (pointer_expression argument: (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))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (identifier)) 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: (identifier)) right: (number_literal)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))))) (string_literal (string_content)) (number_literal))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) right: (unary_expression argument: (pointer_expression argument: (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))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (identifier)) 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: (identifier)) right: (number_literal)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))))) (string_literal (string_content)) (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) right: (unary_expression argument: (pointer_expression argument: (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))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (identifier)) 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: (identifier)) right: (number_literal)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))))) (string_literal (string_content)) (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) right: (unary_expression argument: (pointer_expression argument: (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))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (identifier)) 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: (identifier)) right: (number_literal)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))))) (string_literal (string_content)) (number_literal)))))))))))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (number_literal))) consequence: (compound_statement (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (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: (pointer_expression argument: (identifier)) right: (unary_expression argument: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (unary_expression argument: (identifier))) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (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: (pointer_expression argument: (identifier)) right: (unary_expression argument: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (unary_expression argument: (identifier))) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) 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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (switch_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) body: (compound_statement (case_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal) (pointer_expression argument: (identifier))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (identifier)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (number_literal))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (number_literal))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (number_literal))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (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: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (number_literal))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (number_literal))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (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: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (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: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (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: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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)) value: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (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: (pointer_expression argument: (identifier)) right: (unary_expression argument: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (unary_expression argument: (identifier))) right: (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: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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)) value: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (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: (pointer_expression argument: (identifier)) right: (unary_expression argument: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (unary_expression argument: (identifier))) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (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: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (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: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (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: (pointer_expression argument: (identifier)) right: (unary_expression argument: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (unary_expression argument: (identifier))) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (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: (pointer_expression argument: (identifier)) right: (unary_expression argument: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (unary_expression argument: (identifier))) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (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: (pointer_expression argument: (identifier)) right: (unary_expression argument: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (unary_expression argument: (identifier))) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (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: (pointer_expression argument: (identifier)) right: (unary_expression argument: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (unary_expression argument: (identifier))) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) 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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) 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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_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: (false))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (unary_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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (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: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (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: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (true))))))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (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: (false))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (unary_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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (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: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (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: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (true)))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (pointer_expression argument: (identifier)) right: (unary_expression argument: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (unary_expression argument: (identifier))) right: (number_literal))))) right: (number_literal)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))))))))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (unary_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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (true))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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 (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))))))))) alternative: (else_clause (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)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (false))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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 (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (unary_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) right: (unary_expression argument: (pointer_expression argument: (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))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (identifier)) 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: (identifier)) right: (number_literal)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))))) (string_literal (string_content)) (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) right: (unary_expression argument: (pointer_expression argument: (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))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (identifier)) 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: (identifier)) right: (number_literal)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))))) (string_literal (string_content)) (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (true))))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (identifier)) 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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (unary_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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (true)))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (pointer_expression argument: (identifier)) right: (unary_expression argument: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (unary_expression argument: (identifier))) right: (number_literal))))) right: (number_literal)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (pointer_expression argument: (identifier)) right: (unary_expression argument: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (unary_expression argument: (identifier))) right: (number_literal))))) right: (number_literal))))))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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 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: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))))))))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (switch_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) body: (compound_statement (case_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (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: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (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: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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)) value: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (string_literal (string_content)) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) alternative: (else_clause (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 (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (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: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal) (pointer_expression argument: (identifier)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))))) alternative: (else_clause (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))))) alternative: (else_clause (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: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))))) alternative: (else_clause (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: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (pointer_expression argument: (identifier)) right: (unary_expression argument: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (unary_expression argument: (identifier))) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (pointer_expression argument: (identifier)) right: (unary_expression argument: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (unary_expression argument: (identifier))) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) right: (char_literal (character))) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal) (pointer_expression argument: (identifier))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (identifier)))))) (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: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal) (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))))))))) (goto_statement label: (statement_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: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (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: (identifier)))) (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (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: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (unary_expression argument: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (string_literal (string_content)) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (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: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (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: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (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: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (unary_expression argument: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (string_literal (string_content)) (number_literal))))) alternative: (else_clause (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: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (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: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (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: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (unary_expression argument: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (string_literal (string_content)) (number_literal))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))))))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (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: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (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: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal) (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (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: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))))))))))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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)) value: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (unary_expression argument: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (string_literal (string_content)) (number_literal))))) alternative: (else_clause (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 (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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)) value: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (unary_expression argument: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (string_literal (string_content)) (number_literal))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal) (identifier))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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)) value: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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)) value: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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)) value: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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)) value: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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)) value: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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)) value: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (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: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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)) value: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (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: (pointer_expression argument: (identifier)) right: (unary_expression argument: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (unary_expression argument: (identifier))) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (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: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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)) value: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (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: (pointer_expression argument: (identifier)) right: (unary_expression argument: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (unary_expression argument: (identifier))) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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)) value: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (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: (pointer_expression argument: (identifier)) right: (unary_expression argument: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (unary_expression argument: (identifier))) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal) (identifier))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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)) value: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (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: (pointer_expression argument: (identifier)) right: (unary_expression argument: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (unary_expression argument: (identifier))) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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)) value: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (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: (pointer_expression argument: (identifier)) right: (unary_expression argument: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (unary_expression argument: (identifier))) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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)) value: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (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: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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)) value: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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)) value: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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)) value: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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)) value: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))))))))))) (goto_statement label: (statement_identifier)))) (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: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal)))))) (switch_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) body: (compound_statement (case_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) (identifier)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (unary_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (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))) (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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)) value: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (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: (pointer_expression argument: (identifier)) right: (unary_expression argument: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (unary_expression argument: (identifier))) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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)) value: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) condition: (parenthesized_expression (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: (pointer_expression argument: (identifier)) right: (unary_expression argument: (identifier)))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (unary_expression argument: (identifier))) right: (number_literal)))) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) 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))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))))) (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: (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 (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (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 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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) 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)) 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: (number_literal)))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (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 (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (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: (identifier) right: (number_literal))))) right: (number_literal)))))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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 (call_expression function: (identifier) arguments: (argument_list (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))))) (labeled_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 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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (return_statement (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: (identifier) 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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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))))))) (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)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (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: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (return_statement (number_literal)))))

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

undefined4 __regparm3 MASKED(char *param_1)

{
  char cVar1;
  ushort uVar2;
  void *__ptr;
  undefined4 uVar3;
  char *pcVar4;
  char *pcVar5;
  Elf32_Ehdr *pEVar6;
  int iVar7;
  undefined *puVar8;
  uint *puVar9;
  size_t sVar10;
  int extraout_ECX;
  undefined4 extraout_ECX_00;
  undefined4 extraout_ECX_01;
  undefined4 extraout_ECX_02;
  undefined4 extraout_ECX_03;
  int iVar11;
  undefined4 extraout_ECX_04;
  undefined4 extraout_ECX_05;
  undefined4 extraout_ECX_06;
  undefined4 extraout_ECX_07;
  undefined4 extraout_ECX_08;
  undefined4 extraout_ECX_09;
  undefined4 extraout_ECX_10;
  undefined4 extraout_ECX_11;
  undefined4 extraout_ECX_12;
  undefined4 extraout_ECX_13;
  undefined4 extraout_ECX_14;
  undefined4 extraout_ECX_15;
  undefined4 extraout_ECX_16;
  undefined4 extraout_ECX_17;
  undefined4 extraout_ECX_18;
  undefined4 extraout_ECX_19;
  undefined4 extraout_ECX_20;
  uint uVar12;
  uint uVar13;
  char *pcVar14;
  char *extraout_EDX;
  undefined4 extraout_EDX_00;
  char *extraout_EDX_01;
  byte bVar15;
  undefined1 *puVar16;
  uint uVar17;
  uint *puVar18;
  undefined4 *puVar19;
  bool bVar20;
  bool bVar21;
  byte bVar22;
  char *local_40;
  char *local_3c;
  char *local_38;
  uint *local_34;
  byte *local_30;
  char local_24 [4];
  undefined4 local_20;
  undefined4 uStack_14;
  
  bVar22 = 0;
  uStack_14 = 0x3b30b;
  if (*(int *)(param_1 + 0x10) != 0x464c457f) {
    uVar3 = dcgettext(0,"Not an ELF file - it has the wrong magic bytes at the start\n",5);
    error(uVar3);
    return 0;
  }
  FUN_0005d920(*(undefined2 *)(param_1 + 0x42));
  if (DAT_000b6344 == 0) goto LAB_0003b371;
  pcVar4 = (char *)dcgettext(0,"ELF Header:\n",5);
  printf(pcVar4);
  pcVar4 = (char *)dcgettext(0,"  Magic:   ",5);
  printf(pcVar4);
  local_30 = (byte *)(param_1 + 0x10);
  do {
    printf("%2.2x ",(uint)*local_30);
    local_30 = local_30 + 1;
  } while ((byte *)(param_1 + 0x20) != local_30);
  putchar(10);
  cVar1 = param_1[0x14];
  pcVar4 = "ELF32";
  if (cVar1 != '\x01') {
    if (cVar1 == '\0') {
      pcVar4 = (char *)dcgettext(0,&DAT_00076afd,5);
    }
    else {
      pcVar4 = "ELF64";
      if (cVar1 != '\x02') {
        pcVar4 = &DAT_000b5c40;
        pcVar5 = (char *)dcgettext(0,"<unknown: %x>",5);
        snprintf(&DAT_000b5c40,0x20,pcVar5,cVar1);
      }
    }
  }
  pcVar5 = (char *)dcgettext(0,"  Class:                             %s\n",5);
  printf(pcVar5,pcVar4);
  cVar1 = param_1[0x15];
  if (cVar1 == '\x01') {
    pcVar4 = "2\'s complement, little endian";
LAB_0003c46b:
    puVar8 = (undefined *)dcgettext(0,pcVar4,5);
  }
  else {
    if (cVar1 == '\0') {
      pcVar4 = "none";
      goto LAB_0003c46b;
    }
    if (cVar1 == '\x02') {
      pcVar4 = "2\'s complement, big endian";
      goto LAB_0003c46b;
    }
    puVar8 = &DAT_000b5c20;
    pcVar4 = (char *)dcgettext(0,"<unknown: %x>",5);
    snprintf(&DAT_000b5c20,0x20,pcVar4,cVar1);
  }
  pcVar5 = (char *)dcgettext(0,"  Data:                              %s\n",5);
  pcVar4 = "(current)";
  printf(pcVar5,puVar8);
  bVar15 = param_1[0x16];
  if ((bVar15 != 1) && (pcVar4 = "", bVar15 != 0)) {
    pcVar4 = (char *)dcgettext(0,"<unknown: %lx>",5);
    bVar15 = param_1[0x16];
  }
  pcVar5 = (char *)dcgettext(0,"  Version:                           %d %s\n",5);
  printf(pcVar5,(uint)bVar15,pcVar4);
  uVar3 = FUN_000241c0();
  pcVar4 = (char *)dcgettext(0,"  OS/ABI:                            %s\n",5);
  printf(pcVar4,uVar3);
  bVar15 = param_1[0x18];
  pcVar4 = (char *)dcgettext(0,"  ABI Version:                       %d\n",5);
  printf(pcVar4,(uint)bVar15);
  uVar3 = FUN_0001c2b0();
  pcVar4 = (char *)dcgettext(0,"  Type:                              %s\n",5);
  printf(pcVar4,uVar3);
  uVar3 = FUN_0001c3f0();
  pcVar4 = (char *)dcgettext(0,"  Machine:                           %s\n",5);
  printf(pcVar4,uVar3);
  uVar3 = *(undefined4 *)(param_1 + 0x38);
  pcVar5 = (char *)dcgettext(0,"  Version:                           0x%lx\n",5);
  pcVar4 = "%lld";
  printf(pcVar5,uVar3);
  pcVar5 = (char *)dcgettext(0,"  Entry point address:               ",5);
  printf(pcVar5);
  FUN_0001e910();
  pcVar5 = (char *)dcgettext(0,"\n  Start of program headers:          ",5);
  printf(pcVar5);
  printf("%lld",*(undefined4 *)(param_1 + 0x28),*(undefined4 *)(param_1 + 0x2c));
  pcVar5 = (char *)dcgettext(0," (bytes into file)\n  Start of section headers:          ",5);
  printf(pcVar5);
  printf("%lld",*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x34));
  pcVar5 = (char *)dcgettext(0," (bytes into file)\n",5);
  printf(pcVar5);
  local_38 = *(char **)(param_1 + 0x3c);
  uVar2 = *(ushort *)(param_1 + 0x42);
  DAT_000b57a0 = DAT_000b57a0 & 0xffffff00;
  if (local_38 == (char *)0x0) goto LAB_0003b840;
  if (uVar2 == 0x5b) {
LAB_0003bdf2:
    if (((uint)local_38 & 0x10) != 0) {
      pcVar4 = ", new calling convention";
      pcVar5 = (char *)&DAT_000b57a0;
      for (iVar11 = 0x19; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0x20) == 0) {
      local_38 = *(char **)(param_1 + 0x3c);
    }
    else {
      uVar13 = 0xffffffff;
      pcVar4 = (char *)&DAT_000b57a0;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
      } while (cVar1 != '\0');
      pcVar4 = ", gnu calling convention";
      pcVar5 = &DAT_000b579f + ~uVar13;
      for (iVar11 = 0x19; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
      local_38 = *(char **)(param_1 + 0x3c);
    }
    goto LAB_0003b840;
  }
  if (0x5b < uVar2) {
    if (uVar2 == 0xc3) {
LAB_0003cc32:
      switch((uint)local_38 & 0xff) {
      default:
        if (uVar2 == 0x5d) {
          puVar9 = (uint *)", Unknown ARCompact";
          puVar18 = &DAT_000b57a0;
          for (iVar11 = 5; iVar11 != 0; iVar11 = iVar11 + -1) {
            *puVar18 = *puVar9;
            puVar9 = puVar9 + (uint)bVar22 * -2 + 1;
            puVar18 = puVar18 + (uint)bVar22 * -2 + 1;
          }
        }
        else {
          pcVar4 = ", Unknown ARC";
          puVar9 = &DAT_000b57a0;
          for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {
            *(char *)puVar9 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
          }
        }
        break;
      case 2:
        pcVar4 = ", ARC600";
        puVar9 = &DAT_000b57a0;
        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(char *)puVar9 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
        }
        break;
      case 3:
        pcVar4 = ", ARC700";
        puVar9 = &DAT_000b57a0;
        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(char *)puVar9 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
        }
        break;
      case 4:
        pcVar4 = ", ARC601";
        puVar9 = &DAT_000b57a0;
        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(char *)puVar9 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
        }
        break;
      case 5:
        pcVar4 = ", ARC EM";
        puVar9 = &DAT_000b57a0;
        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(char *)puVar9 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
        }
        break;
      case 6:
        pcVar4 = ", ARC HS";
        puVar9 = &DAT_000b57a0;
        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(char *)puVar9 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
        }
      }
      uVar13 = (uint)local_38 & 0xf00;
      puVar9 = &DAT_000b57a0;
      do {
        puVar18 = puVar9;
        uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;
        uVar12 = uVar17 & 0x80808080;
        puVar9 = puVar18 + 1;
      } while (uVar12 == 0);
      bVar20 = (uVar17 & 0x8080) == 0;
      if (bVar20) {
        uVar12 = uVar12 >> 0x10;
      }
      if (bVar20) {
        puVar9 = (uint *)((int)puVar18 + 6);
      }
      pcVar4 = (char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12)));
      if (uVar13 == 0x200) {
        pcVar5 = ", (ABI:v2)";
        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar4 = *pcVar5;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        }
        local_38 = *(char **)(param_1 + 0x3c);
      }
      else if (uVar13 < 0x201) {
        if (uVar13 == 0) {
          pcVar5 = ", (ABI:legacy)";
          for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar4 = *pcVar5;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          }
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else {
LAB_0003e7fe:
          pcVar5 = ", unrecognised ARC OSABI flag";
          for (iVar11 = 0x1e; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar4 = *pcVar5;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          }
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
      else if (uVar13 == 0x300) {
        pcVar5 = ", v3 no-legacy-syscalls ABI";
        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;
          pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;
          pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;
        }
        local_38 = *(char **)(param_1 + 0x3c);
      }
      else {
        if (uVar13 != 0x400) goto LAB_0003e7fe;
        pcVar5 = ", v4 ABI";
        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar4 = *pcVar5;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        }
        local_38 = *(char **)(param_1 + 0x3c);
      }
    }
    else if (uVar2 < 0xc4) {
      if (uVar2 == 0x69) {
        pcVar4 = (char *)dcgettext(0,": architecture variant: ",5);
        puVar9 = &DAT_000b57a0;
        do {
          puVar18 = puVar9;
          uVar12 = *puVar18 + 0xfefefeff & ~*puVar18;
          uVar13 = uVar12 & 0x80808080;
          puVar9 = puVar18 + 1;
        } while (uVar13 == 0);
        bVar20 = (uVar12 & 0x8080) == 0;
        if (bVar20) {
          uVar13 = uVar13 >> 0x10;
        }
        if (bVar20) {
          puVar9 = (uint *)((int)puVar18 + 6);
        }
        pcVar5 = stpcpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar13,(byte)uVar13))),
                        pcVar4);
        uVar13 = ((uint)local_38 & 0xff) - 0xb;
        iVar11 = extraout_ECX;
        if (uVar13 < 100) {
          iVar11 = (int)&__DT_PLTGOT + *(int *)(&DAT_0008dec0 + uVar13 * 4);
          switch((uint)local_38 & 0xff) {
          case 0xb:
            pcVar4 = "MSP430x11";
            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            break;
          case 0xc:
            pcVar4 = "MSP430x12";
            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            break;
          case 0xd:
            pcVar4 = "MSP430x13";
            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            break;
          case 0xe:
            pcVar4 = "MSP430x14";
            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            break;
          case 0xf:
            pcVar4 = "MSP430x15";
            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            break;
          case 0x10:
            pcVar4 = "MSP430x16";
            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            break;
          default:
            goto LAB_0003e9dc;
          case 0x1f:
            pcVar4 = "MSP430x31";
            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            break;
          case 0x20:
            pcVar4 = "MSP430x32";
            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            break;
          case 0x21:
            pcVar4 = "MSP430x33";
            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            break;
          case 0x29:
            pcVar4 = "MSP430x41";
            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            break;
          case 0x2a:
            pcVar4 = "MSP430x42";
            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            break;
          case 0x2b:
            pcVar4 = "MSP430x43";
            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            break;
          case 0x2c:
            pcVar4 = "MSP430x44";
            for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            break;
          case 0x2d:
            builtin_strncpy(pcVar5,"MSP430X",8);
            break;
          case 0x6e:
            pcVar4 = "MSP430x11x1 ";
            for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
          }
        }
        else {
LAB_0003e9dc:
          pcVar4 = (char *)0x0;
          pcVar5 = (char *)dcgettext(0,": unknown",5,iVar11);
          strcat((char *)&DAT_000b57a0,pcVar5);
        }
        if (((uint)local_38 & 0xffffff00) == 0) {
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else {
          pcVar4 = (char *)dcgettext(0,": unknown extra flag bits also present",5,pcVar4);
          strcat((char *)&DAT_000b57a0,pcVar4);
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
      else if (uVar2 < 0x6a) {
        if (uVar2 == 0x5d) goto LAB_0003cc32;
        if (uVar2 < 0x5d) {
          if (((uint)local_38 & 1) != 0) {
            pcVar4 = ", no delay";
            pcVar5 = (char *)&DAT_000b57a0;
            for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            local_38 = *(char **)(param_1 + 0x3c);
          }
        }
        else if (uVar2 == 99) goto LAB_0003bdf2;
      }
      else if (uVar2 == 0x8c) {
        if (((uint)local_38 & 1) != 0) {
          pcVar4 = ", relocatable module";
          puVar9 = &DAT_000b57a0;
          for (iVar11 = 0x15; iVar11 != 0; iVar11 = iVar11 + -1) {
            *(char *)puVar9 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
          }
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
      else if (uVar2 < 0x8d) {
        if (uVar2 == 0x6a) {
          if (((uint)local_38 & 1) != 0) {
            DAT_000b57a0 = 0x4950202c;
            DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x43);
          }
          if (((uint)local_38 & 2) != 0) {
            uVar13 = 0xffffffff;
            pcVar4 = (char *)&DAT_000b57a0;
            do {
              if (uVar13 == 0) break;
              uVar13 = uVar13 - 1;
              cVar1 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            } while (cVar1 != '\0');
            *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x4446202c;
            *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x434950;
          }
          if (((uint)local_38 & 0x10) != 0) {
            uVar13 = 0xffffffff;
            pcVar4 = (char *)&DAT_000b57a0;
            do {
              if (uVar13 == 0) break;
              uVar13 = uVar13 - 1;
              cVar1 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            } while (cVar1 != '\0');
            pcVar4 = ", code in L1";
            pcVar5 = &DAT_000b579f + ~uVar13;
            for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
          }
          if (((uint)local_38 & 0x20) == 0) {
            local_38 = *(char **)(param_1 + 0x3c);
          }
          else {
            uVar13 = 0xffffffff;
            pcVar4 = (char *)&DAT_000b57a0;
            do {
              if (uVar13 == 0) break;
              uVar13 = uVar13 - 1;
              cVar1 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            } while (cVar1 != '\0');
            pcVar4 = ", data in L1";
            pcVar5 = &DAT_000b579f + ~uVar13;
            for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            local_38 = *(char **)(param_1 + 0x3c);
          }
        }
      }
      else if (uVar2 == 0xa7) {
        uVar13 = (uint)local_38 & 0xf0000000;
        uVar12 = (uint)local_38 & 0xf0;
        puVar19 = &DAT_000b57a0;
        for (iVar11 = 0x100; iVar11 != 0; iVar11 = iVar11 + -1) {
          *puVar19 = 0;
          puVar19 = puVar19 + (uint)bVar22 * -2 + 1;
        }
        if (uVar12 == 0x20) {
LAB_0003d15d:
          iVar11 = snprintf((char *)&DAT_000b57a0,0x400,", %s",(&PTR_s_ABI_v0_000b333c)[uVar12 >> 4]
                           );
        }
        else {
          if (uVar12 < 0x21) {
            if ((uVar12 == 0) || (uVar12 == 0x10)) goto LAB_0003d15d;
          }
          else if ((uVar12 == 0x40) || ((uVar12 == 0x50 || (uVar12 == 0x30)))) goto LAB_0003d15d;
          DAT_000b57a0 = 0x753c202c;
          iVar11 = 0x14;
          DAT_000b57a4 = 0x6365726e;
          _DAT_000b57a8 = 0x696e676f;
          DAT_000b57ac = 0x2064657a;
          DAT_000b57b0 = 0x3e494241;
          DAT_000b57b4 = 0;
        }
        if (((uint)local_38 & 0xf) < 3) {
          iVar7 = snprintf((char *)((int)&DAT_000b57a0 + iVar11),0x400U - iVar11,", %s",
                           (&PTR_s_Andes_ELF_V1_3_or_older_000b3330)[(uint)local_38 & 0xf]);
          uVar17 = iVar11 + iVar7;
        }
        else {
          uVar17 = iVar11 + 0x23;
          snprintf((char *)((int)&DAT_000b57a0 + iVar11),0x400U - iVar11,
                   ", <unrecognized ELF version number>");
        }
        sVar10 = 0x400 - uVar17;
        pcVar4 = (char *)((int)&DAT_000b57a0 + uVar17);
        if (uVar12 == 0) {
          iVar11 = snprintf(pcVar4,sVar10,", Andes Star v1.0, N1213HC, MAC, PERF1",&DAT_000b57a0);
          if (uVar13 == 0x10000000) {
            snprintf((char *)(uVar17 + 0xb57c6),0x400 - (uVar17 + 0x26),", 16b",iVar11);
            local_38 = *(char **)(param_1 + 0x3c);
          }
          else {
            local_38 = *(char **)(param_1 + 0x3c);
          }
        }
        else if (uVar13 == 0x20000000) {
LAB_0003d678:
          iVar11 = snprintf(pcVar4,sVar10,", %s",(&PTR_DAT_000b331c)[(uint)local_38 >> 0x1c]);
          iVar11 = iVar11 + uVar17;
          uVar12 = (uint)local_38 & 0x100;
          uVar3 = extraout_ECX_00;
          if (uVar13 == 0x10000000) {
            if (uVar12 != 0) {
              sVar10 = 0x400 - iVar11;
              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);
              iVar11 = iVar11 + 10;
              uVar12 = snprintf(pcVar4,sVar10,", MFUSR_PC",uVar12);
              uVar3 = extraout_ECX_20;
            }
            if (((uint)local_38 & 0x100000) == 0) {
              sVar10 = 0x400 - iVar11;
              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);
              iVar11 = iVar11 + 5;
              uVar12 = snprintf(pcVar4,sVar10,", MAC",uVar12);
              uVar3 = extraout_ECX_19;
            }
            if (((uint)local_38 & 0x2000) != 0) {
              sVar10 = 0x400 - iVar11;
              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);
              iVar11 = iVar11 + 5;
              uVar12 = snprintf(pcVar4,sVar10,", DIV",uVar12);
              uVar3 = extraout_ECX_18;
            }
            if (((uint)local_38 & 0x4000) != 0) {
              sVar10 = 0x400 - iVar11;
              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);
              iVar11 = iVar11 + 5;
              uVar12 = snprintf(pcVar4,sVar10,", 16b",uVar12);
              uVar3 = extraout_ECX_10;
            }
          }
          else {
            if (uVar12 != 0) {
              sVar10 = 0x400 - iVar11;
              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);
              if (((uint)local_38 & 0xe) == 0) {
                iVar11 = iVar11 + 6;
                uVar12 = snprintf(pcVar4,sVar10,", [B8]",uVar17);
                uVar3 = extraout_ECX_01;
              }
              else {
                iVar11 = iVar11 + 5;
                uVar12 = snprintf(pcVar4,sVar10,", EX9",extraout_EDX_00);
                uVar3 = extraout_ECX_11;
              }
            }
            if (((uint)local_38 & 0x100000) != 0) {
              sVar10 = 0x400 - iVar11;
              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);
              iVar11 = iVar11 + 8;
              uVar12 = snprintf(pcVar4,sVar10,", MAC_DX",uVar12);
              uVar3 = extraout_ECX_09;
            }
            if (((uint)local_38 & 0x2000) != 0) {
              sVar10 = 0x400 - iVar11;
              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);
              iVar11 = iVar11 + 8;
              uVar12 = snprintf(pcVar4,sVar10,", DIV_DX",uVar12);
              uVar3 = extraout_ECX_14;
            }
            if (((uint)local_38 & 0x4000) != 0) {
              sVar10 = 0x400 - iVar11;
              pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);
              uVar13 = (uint)local_38 & 0xffffff0e;
              if (((uint)local_38 & 0xe) == 0) {
                pcVar5 = ", 16b";
                uVar13 = uVar17;
              }
              else {
                pcVar5 = ", IFC";
              }
              iVar11 = iVar11 + 5;
              uVar12 = snprintf(pcVar4,sVar10,pcVar5,uVar13);
              uVar3 = extraout_ECX_02;
            }
          }
          if (((uint)local_38 & 0x200) != 0) {
            sVar10 = 0x400 - iVar11;
            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);
            iVar11 = iVar11 + 7;
            uVar12 = snprintf(pcVar4,sVar10,", PERF1",uVar12);
            uVar3 = extraout_ECX_13;
          }
          if (((uint)local_38 & 0x400) != 0) {
            sVar10 = 0x400 - iVar11;
            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);
            iVar11 = iVar11 + 7;
            snprintf(pcVar4,sVar10,", PERF2",uVar12);
            uVar3 = extraout_ECX_12;
          }
          uVar13 = (uint)local_38 & 0x1000000;
          if (((uint)local_38 & 0x800) == 0) {
            pcVar4 = local_38;
            if (((uint)local_38 & 0x80000) != 0) {
LAB_0003eba3:
              sVar10 = 0x400 - iVar11;
              pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);
              iVar11 = iVar11 + 8;
              pcVar4 = (char *)snprintf(pcVar5,sVar10,", FPU_DP",pcVar4);
              goto LAB_0003ebc4;
            }
            if (uVar13 != 0) goto LAB_0003ebc8;
          }
          else {
            sVar10 = 0x400 - iVar11;
            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);
            iVar11 = iVar11 + 8;
            pcVar4 = (char *)snprintf(pcVar4,sVar10,", FPU_SP",local_38);
            if (((uint)local_38 & 0x80000) != 0) goto LAB_0003eba3;
LAB_0003ebc4:
            if (uVar13 != 0) {
LAB_0003ebc8:
              sVar10 = 0x400 - iVar11;
              pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);
              iVar11 = iVar11 + 9;
              snprintf(pcVar5,sVar10,", FPU_MAC",pcVar4);
            }
            sVar10 = 0x400 - iVar11;
            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);
            uVar12 = (uint)local_38 >> 0x16 & 3;
            if (uVar12 == 2) {
              pcVar5 = ", FPU_REG:32/16";
              uVar12 = uVar13;
            }
            else {
              if (uVar12 != 3) {
                if (uVar12 == 1) {
                  iVar11 = iVar11 + 0xe;
                  pcVar4 = (char *)snprintf(pcVar4,sVar10,", FPU_REG:16/8",0);
                  uVar3 = extraout_ECX_16;
                }
                else {
                  iVar11 = iVar11 + 0xd;
                  pcVar4 = (char *)snprintf(pcVar4,sVar10,", FPU_REG:8/4",uVar13);
                  uVar3 = extraout_ECX_06;
                }
                goto LAB_0003d76f;
              }
              pcVar5 = ", FPU_REG:32/32";
              uVar12 = 3;
            }
            iVar11 = iVar11 + 0xf;
            pcVar4 = (char *)snprintf(pcVar4,sVar10,pcVar5,uVar12);
            uVar3 = extraout_ECX_17;
          }
LAB_0003d76f:
          if (((uint)local_38 & 0x1000) != 0) {
            sVar10 = 0x400 - iVar11;
            pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);
            iVar11 = iVar11 + 7;
            pcVar4 = (char *)snprintf(pcVar5,sVar10,", AUDIO",pcVar4);
            uVar3 = extraout_ECX_05;
          }
          if (((uint)local_38 & 0x8000) != 0) {
            sVar10 = 0x400 - iVar11;
            pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);
            iVar11 = iVar11 + 5;
            pcVar4 = (char *)snprintf(pcVar5,sVar10,", STR",pcVar4);
            uVar3 = extraout_ECX_08;
          }
          if (((uint)local_38 & 0x10000) != 0) {
            sVar10 = 0x400 - iVar11;
            pcVar5 = (char *)((int)&DAT_000b57a0 + iVar11);
            iVar11 = iVar11 + 7;
            snprintf(pcVar5,sVar10,", 16REG",pcVar4);
            uVar3 = extraout_ECX_07;
          }
          if (((uint)local_38 & 0x20000) != 0) {
            sVar10 = 0x400 - iVar11;
            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);
            if (((uint)local_38 & 0xe) == 0) {
              iVar11 = iVar11 + 7;
              snprintf(pcVar4,sVar10,", VIDEO",uVar13);
              uVar3 = extraout_ECX_03;
            }
            else {
              iVar11 = iVar11 + 0xc;
              snprintf(pcVar4,sVar10,", SATURATION",(uint)local_38 & 0xffffff0e);
              uVar3 = extraout_ECX_15;
            }
          }
          if (((uint)local_38 & 0x40000) != 0) {
            sVar10 = 0x400 - iVar11;
            pcVar4 = (char *)((int)&DAT_000b57a0 + iVar11);
            iVar11 = iVar11 + 7;
            snprintf(pcVar4,sVar10,", ENCRP",uVar13);
            uVar3 = extraout_ECX_04;
          }
          if (((uint)local_38 & 0x200000) == 0) {
            local_38 = *(char **)(param_1 + 0x3c);
          }
          else {
            snprintf((char *)((int)&DAT_000b57a0 + iVar11),0x400 - iVar11,", L2C",uVar3);
            local_38 = *(char **)(param_1 + 0x3c);
          }
        }
        else {
          if (uVar13 < 0x20000001) {
            if (uVar13 == 0x10000000) goto LAB_0003d678;
          }
          else if ((uVar13 == 0x30000000) || (uVar13 == 0x40000000)) goto LAB_0003d678;
          snprintf(pcVar4,sVar10,", <unrecognized architecture>");
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
      else if (uVar2 == 0xad) {
        if (((uint)local_38 & 1) != 0) {
          pcVar4 = ", 64-bit doubles";
          puVar9 = &DAT_000b57a0;
          for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {
            *(char *)puVar9 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
          }
        }
        if (((uint)local_38 & 2) != 0) {
          uVar13 = 0xffffffff;
          puVar9 = &DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            uVar12 = *puVar9;
            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
          } while ((char)uVar12 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7364202c;
          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x70;
        }
        if (((uint)local_38 & 4) != 0) {
          uVar13 = 0xffffffff;
          puVar9 = &DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            uVar12 = *puVar9;
            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
          } while ((char)uVar12 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6970202c;
          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 100;
        }
        if (((uint)local_38 & 8) != 0) {
          uVar13 = 0xffffffff;
          puVar9 = &DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            uVar12 = *puVar9;
            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
          } while ((char)uVar12 != '\0');
          pcVar4 = ", RX ABI";
          pcVar5 = &DAT_000b579f + ~uVar13;
          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        if (((uint)local_38 & 0x40) != 0) {
          puVar9 = &DAT_000b57a0;
          pcVar4 = ", uses String instructions";
          if (((uint)local_38 & 0x80) == 0) {
            pcVar4 = ", bans String instructions";
          }
          do {
            puVar18 = puVar9;
            uVar12 = *puVar18 + 0xfefefeff & ~*puVar18;
            uVar13 = uVar12 & 0x80808080;
            puVar9 = puVar18 + 1;
          } while (uVar13 == 0);
          bVar20 = (uVar12 & 0x8080) == 0;
          if (bVar20) {
            uVar13 = uVar13 >> 0x10;
          }
          if (bVar20) {
            puVar9 = (uint *)((int)puVar18 + 6);
          }
          pcVar5 = (char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar13,(byte)uVar13)));
          *(undefined4 *)pcVar5 = *(undefined4 *)pcVar4;
          *(undefined4 *)(pcVar5 + 4) = *(undefined4 *)(pcVar4 + 4);
          *(undefined4 *)(pcVar5 + 8) = *(undefined4 *)(pcVar4 + 8);
          *(undefined4 *)(pcVar5 + 0xc) = *(undefined4 *)(pcVar4 + 0xc);
          *(undefined4 *)(pcVar5 + 0x10) = *(undefined4 *)(pcVar4 + 0x10);
          *(undefined4 *)(pcVar5 + 0x14) = *(undefined4 *)(pcVar4 + 0x14);
          cVar1 = pcVar4[0x1a];
          *(undefined2 *)(pcVar5 + 0x18) = *(undefined2 *)(pcVar4 + 0x18);
          pcVar5[0x1a] = cVar1;
        }
        if (((uint)local_38 & 0x100) == 0) {
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else {
          uVar13 = 0xffffffff;
          puVar9 = &DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            uVar12 = *puVar9;
            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
          } while ((char)uVar12 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x3256202c;
          *(undefined1 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0;
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
    }
    else if (uVar2 == 0xfa) {
      uVar13 = (uint)local_38 >> 8 & 0xffff;
      if (uVar13 == 0x3200) {
        pcVar4 = ", NFP-32xx";
        puVar9 = &DAT_000b57a0;
        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(char *)puVar9 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
        }
        local_38 = *(char **)(param_1 + 0x3c);
      }
      else if (uVar13 == 0x6000) {
        pcVar4 = ", NFP-6xxx";
        puVar9 = &DAT_000b57a0;
        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(char *)puVar9 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
        }
        local_38 = *(char **)(param_1 + 0x3c);
      }
    }
    else if (uVar2 < 0xfb) {
      if (uVar2 == 0xdd) {
        if (((uint)local_38 & 1) == 0) {
          if (((uint)local_38 & 2) != 0) {
            DAT_000b57a0 = 0x636d202c;
            DAT_000b57a4 = 0x34326d;
          }
        }
        else {
          DAT_000b57a0 = 0x636d202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x6d);
        }
        if (((uint)local_38 & 4) == 0) {
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7267202c;
          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x36;
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
      else if (uVar2 == 0xf3) {
        if (((uint)local_38 & 1) != 0) {
          DAT_000b57a0 = 0x5652202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x43);
        }
        if (((uint)local_38 & 8) != 0) {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x5652202c;
          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x45;
        }
        uVar13 = (uint)local_38 & 6;
        if (uVar13 == 2) {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          pcVar4 = ", single-float ABI";
          pcVar5 = &DAT_000b579f + ~uVar13;
          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else if (uVar13 < 3) {
          if (uVar13 == 0) {
            uVar13 = 0xffffffff;
            pcVar4 = (char *)&DAT_000b57a0;
            do {
              if (uVar13 == 0) break;
              uVar13 = uVar13 - 1;
              cVar1 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            } while (cVar1 != '\0');
            pcVar4 = ", soft-float ABI";
            pcVar5 = &DAT_000b579f + ~uVar13;
            for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            local_38 = *(char **)(param_1 + 0x3c);
          }
          else {
LAB_0003e76f:
            local_38 = *(char **)(param_1 + 0x3c);
          }
        }
        else if (uVar13 == 4) {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          pcVar4 = ", double-float ABI";
          pcVar5 = &DAT_000b579f + ~uVar13;
          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else {
          if (uVar13 != 6) goto LAB_0003e76f;
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          pcVar4 = ", quad-float ABI";
          pcVar5 = &DAT_000b579f + ~uVar13;
          for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
      else if (uVar2 == 0xc5) {
        uVar13 = (uint)local_38 & 0xc;
        if (uVar13 == 8) {
          DAT_000b57a0 = 0x3147202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x33);
        }
        else if (uVar13 == 0xc) {
          DAT_000b57a0 = 0x3147202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x34);
        }
        else if (uVar13 == 4) {
          DAT_000b57a0 = 0x3147202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x30);
        }
        if (((uint)local_38 & 1) == 0) {
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          pcVar4 = ", 64-bit doubles";
          pcVar5 = &DAT_000b579f + ~uVar13;
          for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
    }
    else if (uVar2 == 0x9041) {
LAB_0003bb50:
      if (((uint)local_38 & 0x30000000) == 0) {
        puVar16 = &DAT_0007ca93;
        puVar19 = &DAT_000b57a0;
        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(undefined1 *)puVar19 = *puVar16;
          puVar16 = puVar16 + (uint)bVar22 * -2 + 1;
          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
        }
        local_38 = *(char **)(param_1 + 0x3c);
      }
    }
    else if (uVar2 < 0x9042) {
      if (uVar2 == 0x5441) {
        uVar13 = (uint)local_38 & 0xff000000;
        if (uVar13 == 0x4000000) {
          pcVar4 = ", tomcat";
          pcVar5 = (char *)&DAT_000b57a0;
          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else if (uVar13 < 0x4000001) {
          if (uVar13 == 0x1000000) {
            DAT_000b57a0 = 0x7266202c;
            DAT_000b57a4 = 0x303035;
            local_38 = *(char **)(param_1 + 0x3c);
          }
          else if (uVar13 < 0x1000001) {
            if (uVar13 != 0) {
LAB_0003d4b1:
              DAT_000b57a0 = 0x7266202c;
              DAT_000b57a4 = 0x3f3f3f;
              local_38 = *(char **)(param_1 + 0x3c);
            }
          }
          else if (uVar13 == 0x2000000) {
            DAT_000b57a0 = 0x7266202c;
            DAT_000b57a4 = 0x303033;
            local_38 = *(char **)(param_1 + 0x3c);
          }
          else {
            if (uVar13 != 0x3000000) goto LAB_0003d4b1;
            pcVar4 = ", simple";
            pcVar5 = (char *)&DAT_000b57a0;
            for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
            local_38 = *(char **)(param_1 + 0x3c);
          }
        }
        else if (uVar13 == 0x6000000) {
          DAT_000b57a0 = 0x7266202c;
          DAT_000b57a4 = 0x303535;
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else if (uVar13 < 0x6000001) {
          if (uVar13 != 0x5000000) goto LAB_0003d4b1;
          DAT_000b57a0 = 0x7266202c;
          DAT_000b57a4 = 0x303034;
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else if (uVar13 == 0x7000000) {
          DAT_000b57a0 = 0x7266202c;
          DAT_000b57a4 = 0x353034;
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else {
          if (uVar13 != 0x8000000) goto LAB_0003d4b1;
          DAT_000b57a0 = 0x7266202c;
          DAT_000b57a4 = 0x303534;
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
    }
    else {
      if (uVar2 == 0x9080) goto LAB_0003c0c0;
      if (uVar2 == 0xf00d) {
        uVar13 = (uint)local_38 & 0xff000000;
        if (uVar13 == 0x2000000) {
          pcVar4 = ", MeP C3";
          pcVar5 = (char *)&DAT_000b57a0;
          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        else if (uVar13 < 0x2000001) {
          if (uVar13 == 0) {
            pcVar4 = ", generic MeP";
            pcVar5 = (char *)&DAT_000b57a0;
            for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
          }
          else if (uVar13 == 0x1000000) {
            pcVar4 = ", MeP C2";
            pcVar5 = (char *)&DAT_000b57a0;
            for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar5 = *pcVar4;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            }
          }
          else {
LAB_0003ba2e:
            pcVar4 = (char *)dcgettext(0,", <unknown MeP cpu type>",5,&DAT_00076943);
            strcat((char *)&DAT_000b57a0,pcVar4);
          }
        }
        else if (uVar13 == 0x8000000) {
          pcVar4 = ", MeP C5";
          pcVar5 = (char *)&DAT_000b57a0;
          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        else if (uVar13 == 0x10000000) {
          pcVar4 = ", MeP H1";
          pcVar5 = (char *)&DAT_000b57a0;
          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        else {
          if (uVar13 != 0x4000000) goto LAB_0003ba2e;
          pcVar4 = ", MeP C4";
          pcVar5 = (char *)&DAT_000b57a0;
          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        local_34 = &DAT_000b57a0;
        pEVar6 = (Elf32_Ehdr *)((uint)local_38 & 0xff0000);
        if (pEVar6 == (Elf32_Ehdr *)0x20000) {
          uVar13 = 0xffffffff;
          pEVar6 = (Elf32_Ehdr *)0x0;
          puVar9 = local_34;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *(char *)puVar9;
            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
          } while (cVar1 != '\0');
          pcVar4 = ", AVC2 coprocessor";
          pcVar5 = &DAT_000b579f + ~uVar13;
          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        else if (pEVar6 < (Elf32_Ehdr *)0x20001) {
          if (pEVar6 != (Elf32_Ehdr *)0x0) {
            if (pEVar6 == &Elf32_Ehdr_00010000) {
              uVar13 = 0xffffffff;
              pEVar6 = (Elf32_Ehdr *)0x0;
              puVar9 = local_34;
              do {
                if (uVar13 == 0) break;
                uVar13 = uVar13 - 1;
                cVar1 = *(char *)puVar9;
                puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
              } while (cVar1 != '\0');
              pcVar4 = ", AVC coprocessor";
              pcVar5 = &DAT_000b579f + ~uVar13;
              for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {
                *pcVar5 = *pcVar4;
                pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
                pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
              }
            }
            else {
LAB_0003e6fc:
              pcVar4 = (char *)dcgettext(0,"<unknown MeP copro type>",5,pEVar6);
              pEVar6 = (Elf32_Ehdr *)strcat((char *)&DAT_000b57a0,pcVar4);
            }
          }
        }
        else if (pEVar6 == (Elf32_Ehdr *)&DAT_00030000) {
          uVar13 = 0xffffffff;
          pEVar6 = (Elf32_Ehdr *)0x0;
          puVar9 = local_34;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *(char *)puVar9;
            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
          } while (cVar1 != '\0');
          pcVar4 = ", FMAX coprocessor";
          pcVar5 = &DAT_000b579f + ~uVar13;
          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        else {
          if (pEVar6 != (Elf32_Ehdr *)0x60000) goto LAB_0003e6fc;
          uVar13 = 0xffffffff;
          pEVar6 = (Elf32_Ehdr *)0x0;
          puVar9 = local_34;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *(char *)puVar9;
            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
          } while (cVar1 != '\0');
          pcVar4 = ", IVC2 coprocessor";
          pcVar5 = &DAT_000b579f + ~uVar13;
          for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        if (((uint)local_38 & 0x100) != 0) {
          uVar13 = 0xffffffff;
          pEVar6 = (Elf32_Ehdr *)0x0;
          puVar9 = local_34;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *(char *)puVar9;
            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
          } while (cVar1 != '\0');
          pcVar4 = ", Built for Library";
          puVar19 = (undefined4 *)(&DAT_000b579f + ~uVar13);
          for (iVar11 = 5; iVar11 != 0; iVar11 = iVar11 + -1) {
            *puVar19 = *(undefined4 *)pcVar4;
            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;
            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;
          }
        }
        if (((uint)local_38 & 0xff) != 0) {
          uVar13 = 0xffffffff;
          puVar9 = local_34;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *(char *)puVar9;
            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
          } while (cVar1 != '\0');
          pEVar6 = (Elf32_Ehdr *)
                   sprintf(&DAT_000b579f + ~uVar13,", Configuration Index: %#x",
                           (uint)local_38 & 0xff,0);
        }
        if (((uint)local_38 & 0xfe00) == 0) {
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else {
          pcVar4 = (char *)dcgettext(0,", unknown flags bits: %#x",5,pEVar6);
          uVar13 = 0xffffffff;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *(char *)local_34;
            local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);
          } while (cVar1 != '\0');
          sprintf(&DAT_000b579f + ~uVar13,pcVar4,(uint)local_38 & 0xfe00);
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
    }
    goto LAB_0003b840;
  }
  if (uVar2 == 0x24) {
    if (((uint)local_38 & 0xf0000000) == 0xf0000000) {
      puVar9 = (uint *)", RH850 ABI";
      puVar18 = &DAT_000b57a0;
      for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {
        *puVar18 = *puVar9;
        puVar9 = puVar9 + (uint)bVar22 * -2 + 1;
        puVar18 = puVar18 + (uint)bVar22 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0x100000) != 0) {
      uVar13 = 0xffffffff;
      puVar9 = &DAT_000b57a0;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        uVar12 = *puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while ((char)uVar12 != '\0');
      pcVar4 = ", V3 architecture";
      pcVar5 = &DAT_000b579f + ~uVar13;
      for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    if (((uint)local_38 & 3) == 0) {
      uVar13 = 0xffffffff;
      puVar9 = &DAT_000b57a0;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        uVar12 = *puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while ((char)uVar12 != '\0');
      pcVar4 = ", FPU not used";
      pcVar5 = &DAT_000b579f + ~uVar13;
      for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0x60) == 0) {
      uVar13 = 0xffffffff;
      puVar9 = &DAT_000b57a0;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        uVar12 = *puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while ((char)uVar12 != '\0');
      pcVar4 = ", regmode: COMMON";
      pcVar5 = &DAT_000b579f + ~uVar13;
      for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0x300) == 0) {
      uVar13 = 0xffffffff;
      puVar9 = &DAT_000b57a0;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        uVar12 = *puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while ((char)uVar12 != '\0');
      pcVar4 = ", r4 not used";
      pcVar5 = &DAT_000b579f + ~uVar13;
      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0xc00) == 0) {
      uVar13 = 0xffffffff;
      puVar9 = &DAT_000b57a0;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        uVar12 = *puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while ((char)uVar12 != '\0');
      pcVar4 = ", r30 not used";
      pcVar5 = &DAT_000b579f + ~uVar13;
      for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0x3000) == 0) {
      uVar13 = 0xffffffff;
      puVar9 = &DAT_000b57a0;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        uVar12 = *puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while ((char)uVar12 != '\0');
      pcVar4 = ", r5 not used";
      pcVar5 = &DAT_000b579f + ~uVar13;
      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0xc000) == 0) {
      uVar13 = 0xffffffff;
      puVar9 = &DAT_000b57a0;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        uVar12 = *puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while ((char)uVar12 != '\0');
      pcVar4 = ", r2 not used";
      pcVar5 = &DAT_000b579f + ~uVar13;
      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    uVar13 = (uint)local_38 & 0xffff;
    if (uVar13 == 0) {
      local_38 = *(char **)(param_1 + 0x3c);
    }
    else {
      do {
        uVar12 = -uVar13 & uVar13;
        puVar9 = &DAT_000b57a0;
        if (uVar12 == 0x200) {
          do {
            puVar18 = puVar9;
            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;
            uVar12 = uVar17 & 0x80808080;
            puVar9 = puVar18 + 1;
          } while (uVar12 == 0);
          bVar20 = (uVar17 & 0x8080) == 0;
          if (bVar20) {
            uVar12 = uVar12 >> 0x10;
          }
          if (bVar20) {
            puVar9 = (uint *)((int)puVar18 + 6);
          }
          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),
                          ", r4 free",10);
        }
        else if (uVar12 < 0x201) {
          if (uVar12 == 0x20) {
            do {
              puVar18 = puVar9;
              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;
              uVar12 = uVar17 & 0x80808080;
              puVar9 = puVar18 + 1;
            } while (uVar12 == 0);
            bVar20 = (uVar17 & 0x8080) == 0;
            if (bVar20) {
              uVar12 = uVar12 >> 0x10;
            }
            if (bVar20) {
              puVar9 = (uint *)((int)puVar18 + 6);
            }
            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),
                            ", regmode:22",0xd);
          }
          else if (uVar12 < 0x21) {
            if (uVar12 == 1) {
              do {
                puVar18 = puVar9;
                uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;
                uVar12 = uVar17 & 0x80808080;
                puVar9 = puVar18 + 1;
              } while (uVar12 == 0);
              bVar20 = (uVar17 & 0x8080) == 0;
              if (bVar20) {
                uVar12 = uVar12 >> 0x10;
              }
              if (bVar20) {
                puVar9 = (uint *)((int)puVar18 + 6);
              }
              builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12)))
                              ,", double precision FPU",0x17);
            }
            else if (uVar12 == 2) {
              do {
                puVar18 = puVar9;
                uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;
                uVar12 = uVar17 & 0x80808080;
                puVar9 = puVar18 + 1;
              } while (uVar12 == 0);
              bVar20 = (uVar17 & 0x8080) == 0;
              if (bVar20) {
                uVar12 = uVar12 >> 0x10;
              }
              if (bVar20) {
                puVar9 = (uint *)((int)puVar18 + 6);
              }
              builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12)))
                              ,", single precision FPU",0x17);
            }
          }
          else if (uVar12 == 0x40) {
            do {
              puVar18 = puVar9;
              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;
              uVar12 = uVar17 & 0x80808080;
              puVar9 = puVar18 + 1;
            } while (uVar12 == 0);
            bVar20 = (uVar17 & 0x8080) == 0;
            if (bVar20) {
              uVar12 = uVar12 >> 0x10;
            }
            if (bVar20) {
              puVar9 = (uint *)((int)puVar18 + 6);
            }
            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),
                            ", regmode:23",0xd);
          }
          else if (uVar12 == 0x100) {
            do {
              puVar18 = puVar9;
              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;
              uVar12 = uVar17 & 0x80808080;
              puVar9 = puVar18 + 1;
            } while (uVar12 == 0);
            bVar20 = (uVar17 & 0x8080) == 0;
            if (bVar20) {
              uVar12 = uVar12 >> 0x10;
            }
            if (bVar20) {
              puVar9 = (uint *)((int)puVar18 + 6);
            }
            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),
                            ", r4 fixed",0xb);
          }
        }
        else if (uVar12 == 0x1000) {
          do {
            puVar18 = puVar9;
            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;
            uVar12 = uVar17 & 0x80808080;
            puVar9 = puVar18 + 1;
          } while (uVar12 == 0);
          bVar20 = (uVar17 & 0x8080) == 0;
          if (bVar20) {
            uVar12 = uVar12 >> 0x10;
          }
          if (bVar20) {
            puVar9 = (uint *)((int)puVar18 + 6);
          }
          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),
                          ", r5 fixed",0xb);
        }
        else if (uVar12 < 0x1001) {
          if (uVar12 == 0x400) {
            do {
              puVar18 = puVar9;
              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;
              uVar12 = uVar17 & 0x80808080;
              puVar9 = puVar18 + 1;
            } while (uVar12 == 0);
            bVar20 = (uVar17 & 0x8080) == 0;
            if (bVar20) {
              uVar12 = uVar12 >> 0x10;
            }
            if (bVar20) {
              puVar9 = (uint *)((int)puVar18 + 6);
            }
            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),
                            ", r30 fixed",0xc);
          }
          else if (uVar12 == 0x800) {
            do {
              puVar18 = puVar9;
              uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;
              uVar12 = uVar17 & 0x80808080;
              puVar9 = puVar18 + 1;
            } while (uVar12 == 0);
            bVar20 = (uVar17 & 0x8080) == 0;
            if (bVar20) {
              uVar12 = uVar12 >> 0x10;
            }
            if (bVar20) {
              puVar9 = (uint *)((int)puVar18 + 6);
            }
            builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),
                            ", r30 free",0xb);
          }
        }
        else if (uVar12 == 0x4000) {
          do {
            puVar18 = puVar9;
            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;
            uVar12 = uVar17 & 0x80808080;
            puVar9 = puVar18 + 1;
          } while (uVar12 == 0);
          bVar20 = (uVar17 & 0x8080) == 0;
          if (bVar20) {
            uVar12 = uVar12 >> 0x10;
          }
          if (bVar20) {
            puVar9 = (uint *)((int)puVar18 + 6);
          }
          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),
                          ", r2 fixed",0xb);
        }
        else if (uVar12 == 0x8000) {
          do {
            puVar18 = puVar9;
            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;
            uVar12 = uVar17 & 0x80808080;
            puVar9 = puVar18 + 1;
          } while (uVar12 == 0);
          bVar20 = (uVar17 & 0x8080) == 0;
          if (bVar20) {
            uVar12 = uVar12 >> 0x10;
          }
          if (bVar20) {
            puVar9 = (uint *)((int)puVar18 + 6);
          }
          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),
                          ", r2 free",10);
        }
        else if (uVar12 == 0x2000) {
          do {
            puVar18 = puVar9;
            uVar17 = *puVar18 + 0xfefefeff & ~*puVar18;
            uVar12 = uVar17 & 0x80808080;
            puVar9 = puVar18 + 1;
          } while (uVar12 == 0);
          bVar20 = (uVar17 & 0x8080) == 0;
          if (bVar20) {
            uVar12 = uVar12 >> 0x10;
          }
          if (bVar20) {
            puVar9 = (uint *)((int)puVar18 + 6);
          }
          builtin_strncpy((char *)((int)puVar9 + (-3 - (uint)CARRY1((byte)uVar12,(byte)uVar12))),
                          ", r5 free",10);
        }
        uVar13 = uVar13 & uVar13 - 1;
      } while (uVar13 != 0);
      local_38 = *(char **)(param_1 + 0x3c);
    }
    goto LAB_0003b840;
  }
  if (0x24 < uVar2) {
    if (uVar2 == 0x32) {
      if (((uint)local_38 & 0x10) == 0) {
        DAT_000b57a0 = 0x3233202c;
      }
      else {
        DAT_000b57a0 = 0x3436202c;
      }
      _DAT_000b57a8 = _DAT_000b57a8 & 0xffffff00;
      DAT_000b57a4 = 0x7469622d;
      if (((uint)local_38 & 0x20) != 0) {
        uVar13 = 0xffffffff;
        pcVar4 = (char *)&DAT_000b57a0;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        } while (cVar1 != '\0');
        pcVar4 = ", reduced fp model";
        pcVar5 = &DAT_000b579f + ~uVar13;
        for (iVar11 = 0x13; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
      }
      if (((uint)local_38 & 0x80) == 0) {
        if (((uint)local_38 & 0x40) != 0) {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          pcVar4 = ", constant gp";
          pcVar5 = &DAT_000b579f + ~uVar13;
          for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
      }
      else {
        uVar13 = 0xffffffff;
        pcVar4 = (char *)&DAT_000b57a0;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        } while (cVar1 != '\0');
        pcVar4 = ", no function descriptors, constant gp";
        pcVar5 = &DAT_000b579f + ~uVar13;
        for (iVar11 = 0x27; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
      }
      if (((uint)local_38 & 0x100) != 0) {
        uVar13 = 0xffffffff;
        pcVar4 = (char *)&DAT_000b57a0;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        } while (cVar1 != '\0');
        pcVar4 = ", absolute";
        pcVar5 = &DAT_000b579f + ~uVar13;
        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
      }
      if (param_1[0x17] == '\r') {
        if (((uint)local_38 & 4) != 0) {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          pcVar4 = ", vms_linkages";
          pcVar5 = &DAT_000b579f + ~uVar13;
          for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        uVar13 = (uint)local_38 & 3;
        if (uVar13 == 2) {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7265202c;
          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x726f72;
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else if (uVar13 == 3) {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6261202c;
          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x74726f;
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else if (uVar13 == 1) {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          pcVar4 = ", warning";
          pcVar5 = &DAT_000b579f + ~uVar13;
          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else {
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
      else {
        local_38 = *(char **)(param_1 + 0x3c);
      }
    }
    else if (uVar2 < 0x33) {
      if (uVar2 == 0x2a) {
        switch((uint)local_38 & 0x1f) {
        default:
          pcVar4 = (char *)dcgettext(0,", unknown ISA",5,&DAT_00076943);
          strcat((char *)&DAT_000b57a0,pcVar4);
          break;
        case 1:
          DAT_000b57a0 = 0x6873202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x31);
          break;
        case 2:
          DAT_000b57a0 = 0x6873202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x32);
          break;
        case 3:
          DAT_000b57a0 = 0x6873202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x33);
          break;
        case 4:
          pcVar4 = ", sh-dsp";
          pcVar5 = (char *)&DAT_000b57a0;
          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
          break;
        case 5:
          pcVar4 = ", sh3-dsp";
          pcVar5 = (char *)&DAT_000b57a0;
          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
          break;
        case 6:
          pcVar4 = ", sh4al-dsp";
          puVar19 = &DAT_000b57a0;
          for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {
            *puVar19 = *(undefined4 *)pcVar4;
            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;
            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;
          }
          break;
        case 8:
          puVar8 = &UNK_0007cd94;
          puVar19 = &DAT_000b57a0;
          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
            *(undefined *)puVar19 = *puVar8;
            puVar8 = puVar8 + (uint)bVar22 * -2 + 1;
            puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
          }
          break;
        case 9:
          DAT_000b57a0 = 0x6873202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x34);
          break;
        case 10:
          DAT_000b57a0 = 0x6873202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x35);
          break;
        case 0xb:
          puVar8 = &UNK_0007cd9b;
          puVar19 = &DAT_000b57a0;
          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
            *(undefined *)puVar19 = *puVar8;
            puVar8 = puVar8 + (uint)bVar22 * -2 + 1;
            puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
          }
          break;
        case 0xc:
          puVar8 = &UNK_0007cda2;
          puVar19 = &DAT_000b57a0;
          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
            *(undefined *)puVar19 = *puVar8;
            puVar8 = puVar8 + (uint)bVar22 * -2 + 1;
            puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
          }
          break;
        case 0xd:
          puVar8 = &UNK_0007cda9;
          puVar19 = &DAT_000b57a0;
          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
            *(undefined *)puVar19 = *puVar8;
            puVar8 = puVar8 + (uint)bVar22 * -2 + 1;
            puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
          }
          break;
        case 0x10:
          pcVar4 = ", sh4-nofpu";
          puVar19 = &DAT_000b57a0;
          for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {
            *puVar19 = *(undefined4 *)pcVar4;
            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;
            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;
          }
          break;
        case 0x11:
          pcVar4 = ", sh4a-nofpu";
          pcVar5 = (char *)&DAT_000b57a0;
          for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
          break;
        case 0x12:
          pcVar4 = ", sh4-nommu-nofpu";
          pcVar5 = (char *)&DAT_000b57a0;
          for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
          break;
        case 0x13:
          pcVar4 = ", sh2a-nofpu";
          pcVar5 = (char *)&DAT_000b57a0;
          for (iVar11 = 0xd; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
          break;
        case 0x14:
          pcVar4 = ", sh3-nommu";
          puVar19 = &DAT_000b57a0;
          for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {
            *puVar19 = *(undefined4 *)pcVar4;
            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;
            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;
          }
          break;
        case 0x15:
          pcVar4 = ", sh2a-nofpu-or-sh4-nommu-nofpu";
          puVar19 = &DAT_000b57a0;
          for (iVar11 = 8; iVar11 != 0; iVar11 = iVar11 + -1) {
            *puVar19 = *(undefined4 *)pcVar4;
            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;
            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;
          }
          break;
        case 0x16:
          pcVar4 = ", sh2a-nofpu-or-sh3-nommu";
          pcVar5 = (char *)&DAT_000b57a0;
          for (iVar11 = 0x1a; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
          break;
        case 0x17:
          pcVar4 = ", sh2a-or-sh4";
          pcVar5 = (char *)&DAT_000b57a0;
          for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
          break;
        case 0x18:
          pcVar4 = ", sh2a-or-sh3e";
          pcVar5 = (char *)&DAT_000b57a0;
          for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        local_34 = &DAT_000b57a0;
        if (((uint)local_38 & 0x100) != 0) {
          uVar13 = 0xffffffff;
          puVar9 = local_34;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *(char *)puVar9;
            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
          } while (cVar1 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6970202c;
          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 99;
        }
        if (((uint)local_38 & 0x8000) == 0) {
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else {
          uVar13 = 0xffffffff;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *(char *)local_34;
            local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);
          } while (cVar1 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6466202c;
          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x636970;
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
      else if (uVar2 == 0x2b) {
        if (((uint)local_38 & 0x100) != 0) {
          DAT_000b57a0 = 0x3876202c;
          DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x2b);
        }
        if (((uint)local_38 & 0x200) != 0) {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          pcVar4 = ", ultrasparcI";
          pcVar5 = &DAT_000b579f + ~uVar13;
          for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        if (((uint)local_38 & 0x800) != 0) {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          pcVar4 = ", ultrasparcIII";
          puVar19 = (undefined4 *)(&DAT_000b579f + ~uVar13);
          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {
            *puVar19 = *(undefined4 *)pcVar4;
            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;
            puVar19 = puVar19 + (uint)bVar22 * -2 + 1;
          }
        }
        if (((uint)local_38 & 0x400) != 0) {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6168202c;
          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x31726c;
        }
        if (((uint)local_38 & 0x800000) != 0) {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          pcVar4 = ", ledata";
          pcVar5 = &DAT_000b579f + ~uVar13;
          for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        uVar13 = (uint)local_38 & 3;
        if (uVar13 == 0) {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7374202c;
          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x6f;
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else if (uVar13 == 1) {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7370202c;
          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x6f;
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else if (uVar13 == 2) {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6d72202c;
          *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x6f;
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else {
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
      else if (uVar2 == 0x28) {
        uVar13 = (uint)local_38 & 0xff000000;
        if (((uint)local_38 & 1) == 0) {
          local_38 = (char *)((uint)local_38 & 0xffffff);
          pcVar4 = (char *)&DAT_000b57a0;
        }
        else {
          pcVar4 = &DAT_000b57b8;
          pcVar5 = ", relocatable executable";
          pcVar14 = (char *)&DAT_000b57a0;
          for (iVar11 = 0x19; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar14 = *pcVar5;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            pcVar14 = pcVar14 + (uint)bVar22 * -2 + 1;
          }
          local_38 = (char *)((uint)local_38 & 0xfffffe);
        }
        local_34 = &DAT_000b57a0;
        if (((uint)local_38 & 0x20) != 0) {
          pcVar5 = ", position independent";
          for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar4 = *pcVar5;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          }
          local_38 = (char *)((uint)local_38 & 0xffffffdf);
          uVar12 = 0xffffffff;
          puVar9 = local_34;
          do {
            if (uVar12 == 0) break;
            uVar12 = uVar12 - 1;
            uVar17 = *puVar9;
            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
          } while ((char)uVar17 != '\0');
          pcVar4 = &DAT_000b579f + ~uVar12;
        }
        if (uVar13 == 0x2000000) {
          bVar20 = false;
          pcVar5 = ", Version2 EABI";
          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {
            *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;
            pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;
            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;
          }
          if (local_38 != (char *)0x0) {
            do {
              uVar13 = -(int)local_38 & (uint)local_38;
              local_38 = (char *)((uint)local_38 & ~uVar13);
              if (uVar13 == 8) {
                uVar13 = 0xffffffff;
                puVar9 = local_34;
                do {
                  if (uVar13 == 0) break;
                  uVar13 = uVar13 - 1;
                  uVar12 = *puVar9;
                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                } while ((char)uVar12 != '\0');
                pcVar4 = ", dynamic symbols use segment index";
                puVar19 = (undefined4 *)(&DAT_000b579f + ~uVar13);
                for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
                  *puVar19 = *(undefined4 *)pcVar4;
                  pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;
                  puVar19 = puVar19 + (uint)bVar22 * -2 + 1;
                }
              }
              else if (uVar13 == 0x10) {
                uVar13 = 0xffffffff;
                puVar9 = local_34;
                do {
                  if (uVar13 == 0) break;
                  uVar13 = uVar13 - 1;
                  uVar12 = *puVar9;
                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                } while ((char)uVar12 != '\0');
                pcVar4 = ", mapping symbols precede others";
                pcVar5 = &DAT_000b579f + ~uVar13;
                for (iVar11 = 0x21; iVar11 != 0; iVar11 = iVar11 + -1) {
                  *pcVar5 = *pcVar4;
                  pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
                  pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
                }
              }
              else if (uVar13 == 4) {
                uVar13 = 0xffffffff;
                puVar9 = local_34;
                do {
                  if (uVar13 == 0) break;
                  uVar13 = uVar13 - 1;
                  uVar12 = *puVar9;
                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                } while ((char)uVar12 != '\0');
                pcVar4 = ", sorted symbol tables";
                pcVar5 = &DAT_000b579f + ~uVar13;
                for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {
                  *pcVar5 = *pcVar4;
                  pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
                  pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
                }
              }
              else {
                bVar20 = true;
              }
            } while (local_38 != (char *)0x0);
            goto LAB_0003d8e9;
          }
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else if (uVar13 < 0x2000001) {
          if (uVar13 == 0) {
            bVar20 = false;
            pcVar5 = ", GNU EABI";
            for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar4 = *pcVar5;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            }
            if (local_38 != (char *)0x0) {
              do {
                uVar13 = -(int)local_38 & (uint)local_38;
                local_38 = (char *)((uint)local_38 & ~uVar13);
                if (uVar13 == 0x40) {
                  uVar13 = 0xffffffff;
                  puVar9 = local_34;
                  do {
                    if (uVar13 == 0) break;
                    uVar13 = uVar13 - 1;
                    uVar12 = *puVar9;
                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                  } while ((char)uVar12 != '\0');
                  pcVar4 = ", 8 bit structure alignment";
                  puVar19 = (undefined4 *)(&DAT_000b579f + ~uVar13);
                  for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
                    *puVar19 = *(undefined4 *)pcVar4;
                    pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;
                    puVar19 = puVar19 + (uint)bVar22 * -2 + 1;
                  }
                }
                else if (uVar13 < 0x41) {
                  if (uVar13 == 8) {
                    uVar13 = 0xffffffff;
                    puVar9 = local_34;
                    do {
                      if (uVar13 == 0) break;
                      uVar13 = uVar13 - 1;
                      uVar12 = *puVar9;
                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                    } while ((char)uVar12 != '\0');
                    pcVar4 = ", uses APCS/26";
                    pcVar5 = &DAT_000b579f + ~uVar13;
                    for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {
                      *pcVar5 = *pcVar4;
                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
                    }
                  }
                  else if (uVar13 < 9) {
                    if (uVar13 == 4) {
                      uVar13 = 0xffffffff;
                      puVar9 = local_34;
                      do {
                        if (uVar13 == 0) break;
                        uVar13 = uVar13 - 1;
                        uVar12 = *puVar9;
                        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                      } while ((char)uVar12 != '\0');
                      pcVar4 = ", interworking enabled";
                      pcVar5 = &DAT_000b579f + ~uVar13;
                      for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {
                        *pcVar5 = *pcVar4;
                        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
                        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
                      }
                    }
                    else {
LAB_0003edd8:
                      bVar20 = true;
                    }
                  }
                  else if (uVar13 == 0x10) {
                    uVar13 = 0xffffffff;
                    puVar9 = local_34;
                    do {
                      if (uVar13 == 0) break;
                      uVar13 = uVar13 - 1;
                      uVar12 = *puVar9;
                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                    } while ((char)uVar12 != '\0');
                    pcVar4 = ", uses APCS/float";
                    pcVar5 = &DAT_000b579f + ~uVar13;
                    for (iVar11 = 0x12; iVar11 != 0; iVar11 = iVar11 + -1) {
                      *pcVar5 = *pcVar4;
                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
                    }
                  }
                  else {
                    if (uVar13 != 0x20) goto LAB_0003edd8;
                    uVar13 = 0xffffffff;
                    puVar9 = local_34;
                    do {
                      if (uVar13 == 0) break;
                      uVar13 = uVar13 - 1;
                      uVar12 = *puVar9;
                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                    } while ((char)uVar12 != '\0');
                    pcVar4 = ", position independent";
                    pcVar5 = &DAT_000b579f + ~uVar13;
                    for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {
                      *pcVar5 = *pcVar4;
                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
                    }
                  }
                }
                else if (uVar13 == 0x200) {
                  uVar13 = 0xffffffff;
                  puVar9 = local_34;
                  do {
                    if (uVar13 == 0) break;
                    uVar13 = uVar13 - 1;
                    uVar12 = *puVar9;
                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                  } while ((char)uVar12 != '\0');
                  pcVar4 = ", software FP";
                  pcVar5 = &DAT_000b579f + ~uVar13;
                  for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {
                    *pcVar5 = *pcVar4;
                    pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
                    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
                  }
                }
                else if (uVar13 < 0x201) {
                  if (uVar13 == 0x80) {
                    uVar13 = 0xffffffff;
                    puVar9 = local_34;
                    do {
                      if (uVar13 == 0) break;
                      uVar13 = uVar13 - 1;
                      uVar12 = *puVar9;
                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                    } while ((char)uVar12 != '\0');
                    pcVar4 = ", uses new ABI";
                    pcVar5 = &DAT_000b579f + ~uVar13;
                    for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {
                      *pcVar5 = *pcVar4;
                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
                    }
                  }
                  else {
                    if (uVar13 != 0x100) goto LAB_0003edd8;
                    uVar13 = 0xffffffff;
                    puVar9 = local_34;
                    do {
                      if (uVar13 == 0) break;
                      uVar13 = uVar13 - 1;
                      uVar12 = *puVar9;
                      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                    } while ((char)uVar12 != '\0');
                    pcVar4 = ", uses old ABI";
                    pcVar5 = &DAT_000b579f + ~uVar13;
                    for (iVar11 = 0xf; iVar11 != 0; iVar11 = iVar11 + -1) {
                      *pcVar5 = *pcVar4;
                      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
                      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
                    }
                  }
                }
                else if (uVar13 == 0x400) {
                  uVar13 = 0xffffffff;
                  puVar9 = local_34;
                  do {
                    if (uVar13 == 0) break;
                    uVar13 = uVar13 - 1;
                    uVar12 = *puVar9;
                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                  } while ((char)uVar12 != '\0');
                  *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x4656202c;
                  *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x50;
                }
                else {
                  if (uVar13 != 0x800) goto LAB_0003edd8;
                  uVar13 = 0xffffffff;
                  puVar9 = local_34;
                  do {
                    if (uVar13 == 0) break;
                    uVar13 = uVar13 - 1;
                    uVar12 = *puVar9;
                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                  } while ((char)uVar12 != '\0');
                  pcVar4 = ", Maverick FP";
                  pcVar5 = &DAT_000b579f + ~uVar13;
                  for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {
                    *pcVar5 = *pcVar4;
                    pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
                    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
                  }
                }
              } while (local_38 != (char *)0x0);
              goto LAB_0003d8e9;
            }
            local_38 = *(char **)(param_1 + 0x3c);
          }
          else if (uVar13 == 0x1000000) {
            bVar20 = false;
            pcVar5 = ", Version1 EABI";
            for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {
              *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;
              pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;
              pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;
            }
            if (local_38 != (char *)0x0) {
              do {
                uVar13 = -(int)local_38 & (uint)local_38;
                local_38 = (char *)((uint)local_38 & ~uVar13);
                if (uVar13 == 4) {
                  uVar13 = 0xffffffff;
                  puVar9 = local_34;
                  do {
                    if (uVar13 == 0) break;
                    uVar13 = uVar13 - 1;
                    uVar12 = *puVar9;
                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                  } while ((char)uVar12 != '\0');
                  pcVar4 = ", sorted symbol tables";
                  pcVar5 = &DAT_000b579f + ~uVar13;
                  for (iVar11 = 0x17; iVar11 != 0; iVar11 = iVar11 + -1) {
                    *pcVar5 = *pcVar4;
                    pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
                    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
                  }
                }
                else {
                  bVar20 = true;
                }
              } while (local_38 != (char *)0x0);
              goto LAB_0003d8e9;
            }
            local_38 = *(char **)(param_1 + 0x3c);
          }
          else {
LAB_0003c1eb:
            pcVar5 = ", <unrecognized EABI>";
            for (iVar11 = 0x16; iVar11 != 0; iVar11 = iVar11 + -1) {
              *pcVar4 = *pcVar5;
              pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
              pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            }
            if (local_38 == (char *)0x0) {
              local_38 = *(char **)(param_1 + 0x3c);
            }
            else {
LAB_0003d8f4:
              pcVar4 = (char *)dcgettext(0,", <unknown>",5);
              strcat((char *)&DAT_000b57a0,pcVar4);
              local_38 = *(char **)(param_1 + 0x3c);
            }
          }
        }
        else if (uVar13 == 0x4000000) {
          pcVar5 = ", Version4 EABI";
          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {
            *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;
            pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;
            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;
          }
          bVar20 = false;
          if (local_38 == (char *)0x0) {
            local_38 = *(char **)(param_1 + 0x3c);
          }
          else {
            do {
              uVar13 = -(int)local_38 & (uint)local_38;
              local_38 = (char *)((uint)local_38 & ~uVar13);
              puVar9 = local_34;
              if (uVar13 == 0x400000) {
                do {
                  puVar18 = puVar9;
                  uVar12 = *puVar18 + 0xfefefeff & ~*puVar18;
                  uVar13 = uVar12 & 0x80808080;
                  puVar9 = puVar18 + 1;
                } while (uVar13 == 0);
                bVar21 = (uVar12 & 0x8080) == 0;
                if (bVar21) {
                  uVar13 = uVar13 >> 0x10;
                }
                if (bVar21) {
                  puVar9 = (uint *)((int)puVar18 + 6);
                }
                builtin_strncpy((char *)((int)puVar9 +
                                        (-3 - (uint)CARRY1((byte)uVar13,(byte)uVar13))),", LE8",6);
              }
              else if (uVar13 == 0x800000) {
                do {
                  puVar18 = puVar9;
                  uVar12 = *puVar18 + 0xfefefeff & ~*puVar18;
                  uVar13 = uVar12 & 0x80808080;
                  puVar9 = puVar18 + 1;
                } while (uVar13 == 0);
                bVar21 = (uVar12 & 0x8080) == 0;
                if (bVar21) {
                  uVar13 = uVar13 >> 0x10;
                }
                if (bVar21) {
                  puVar9 = (uint *)((int)puVar18 + 6);
                }
                builtin_strncpy((char *)((int)puVar9 +
                                        (-3 - (uint)CARRY1((byte)uVar13,(byte)uVar13))),", BE8",6);
              }
              else {
                bVar20 = true;
              }
            } while (local_38 != (char *)0x0);
LAB_0003d8e9:
            if (bVar20) goto LAB_0003d8f4;
            local_38 = *(char **)(param_1 + 0x3c);
          }
        }
        else if (uVar13 == 0x5000000) {
          bVar20 = false;
          pcVar5 = ", Version5 EABI";
          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {
            *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;
            pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;
            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;
          }
          if (local_38 != (char *)0x0) {
            do {
              uVar13 = -(int)local_38 & (uint)local_38;
              local_38 = (char *)((uint)local_38 & ~uVar13);
              if (uVar13 == 0x400) {
                uVar13 = 0xffffffff;
                puVar9 = local_34;
                do {
                  if (uVar13 == 0) break;
                  uVar13 = uVar13 - 1;
                  uVar12 = *puVar9;
                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                } while ((char)uVar12 != '\0');
                pcVar4 = ", hard-float ABI";
                pcVar5 = &DAT_000b579f + ~uVar13;
                for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {
                  *pcVar5 = *pcVar4;
                  pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
                  pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
                }
              }
              else if (uVar13 < 0x401) {
                if (uVar13 == 0x200) {
                  uVar13 = 0xffffffff;
                  puVar9 = local_34;
                  do {
                    if (uVar13 == 0) break;
                    uVar13 = uVar13 - 1;
                    uVar12 = *puVar9;
                    puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                  } while ((char)uVar12 != '\0');
                  pcVar4 = ", soft-float ABI";
                  pcVar5 = &DAT_000b579f + ~uVar13;
                  for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {
                    *pcVar5 = *pcVar4;
                    pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
                    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
                  }
                }
                else {
LAB_0003ef43:
                  bVar20 = true;
                }
              }
              else if (uVar13 == 0x400000) {
                uVar13 = 0xffffffff;
                puVar9 = local_34;
                do {
                  if (uVar13 == 0) break;
                  uVar13 = uVar13 - 1;
                  uVar12 = *puVar9;
                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                } while ((char)uVar12 != '\0');
                *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x454c202c;
                *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x38;
              }
              else {
                if (uVar13 != 0x800000) goto LAB_0003ef43;
                uVar13 = 0xffffffff;
                puVar9 = local_34;
                do {
                  if (uVar13 == 0) break;
                  uVar13 = uVar13 - 1;
                  uVar12 = *puVar9;
                  puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
                } while ((char)uVar12 != '\0');
                *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x4542202c;
                *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x38;
              }
            } while (local_38 != (char *)0x0);
            goto LAB_0003d8e9;
          }
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else {
          if (uVar13 != 0x3000000) goto LAB_0003c1eb;
          pcVar5 = ", Version3 EABI";
          for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {
            *(undefined4 *)pcVar4 = *(undefined4 *)pcVar5;
            pcVar5 = pcVar5 + ((uint)bVar22 * -2 + 1) * 4;
            pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;
          }
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
    }
    else if (uVar2 == 0x53) {
      switch((uint)local_38 & 0x7f) {
      default:
        pcVar4 = ", avr:<unknown>";
        puVar19 = &DAT_000b57a0;
        for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {
          *puVar19 = *(undefined4 *)pcVar4;
          pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;
          puVar19 = puVar19 + (uint)bVar22 * -2 + 1;
        }
        break;
      case 1:
        DAT_000b57a0 = 0x7661202c;
        DAT_000b57a4 = 0x313a72;
        break;
      case 2:
        DAT_000b57a0 = 0x7661202c;
        DAT_000b57a4 = 0x323a72;
        break;
      case 3:
        DAT_000b57a0 = 0x7661202c;
        DAT_000b57a4 = 0x333a72;
        break;
      case 4:
        DAT_000b57a0 = 0x7661202c;
        DAT_000b57a4 = 0x343a72;
        break;
      case 5:
        DAT_000b57a0 = 0x7661202c;
        DAT_000b57a4 = 0x353a72;
        break;
      case 6:
        DAT_000b57a0 = 0x7661202c;
        DAT_000b57a4 = 0x363a72;
        break;
      case 0x19:
        puVar8 = &UNK_0007c7e5;
        puVar19 = &DAT_000b57a0;
        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(undefined *)puVar19 = *puVar8;
          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;
          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
        }
        break;
      case 0x1f:
        puVar8 = &UNK_0007c7ee;
        puVar19 = &DAT_000b57a0;
        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(undefined *)puVar19 = *puVar8;
          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;
          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
        }
        break;
      case 0x23:
        puVar8 = &UNK_0007c7f7;
        puVar19 = &DAT_000b57a0;
        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(undefined *)puVar19 = *puVar8;
          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;
          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
        }
        break;
      case 0x33:
        puVar8 = &UNK_0007c800;
        puVar19 = &DAT_000b57a0;
        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(undefined *)puVar19 = *puVar8;
          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;
          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
        }
        break;
      case 100:
        puVar8 = &UNK_0007c809;
        puVar19 = &DAT_000b57a0;
        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(undefined *)puVar19 = *puVar8;
          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;
          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
        }
        break;
      case 0x65:
        puVar8 = &UNK_0007c813;
        puVar19 = &DAT_000b57a0;
        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(undefined *)puVar19 = *puVar8;
          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;
          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
        }
        break;
      case 0x66:
        puVar8 = &UNK_0007c81d;
        puVar19 = &DAT_000b57a0;
        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(undefined *)puVar19 = *puVar8;
          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;
          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
        }
        break;
      case 0x67:
        puVar8 = &UNK_0007c827;
        puVar19 = &DAT_000b57a0;
        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(undefined *)puVar19 = *puVar8;
          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;
          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
        }
        break;
      case 0x68:
        puVar8 = &UNK_0007c831;
        puVar19 = &DAT_000b57a0;
        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(undefined *)puVar19 = *puVar8;
          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;
          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
        }
        break;
      case 0x69:
        puVar8 = &UNK_0007c83b;
        puVar19 = &DAT_000b57a0;
        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(undefined *)puVar19 = *puVar8;
          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;
          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
        }
        break;
      case 0x6a:
        puVar8 = &UNK_0007c845;
        puVar19 = &DAT_000b57a0;
        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(undefined *)puVar19 = *puVar8;
          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;
          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
        }
        break;
      case 0x6b:
        puVar8 = &UNK_0007c84f;
        puVar19 = &DAT_000b57a0;
        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
          *(undefined *)puVar19 = *puVar8;
          puVar8 = puVar8 + (uint)bVar22 * -2 + 1;
          puVar19 = (undefined4 *)((int)puVar19 + (uint)bVar22 * -2 + 1);
        }
      }
      local_34 = &DAT_000b57a0;
      if (((uint)local_38 & 0x80) == 0) {
        local_38 = *(char **)(param_1 + 0x3c);
      }
      else {
        iVar11 = -1;
        do {
          if (iVar11 == 0) break;
          iVar11 = iVar11 + -1;
          cVar1 = *(char *)local_34;
          local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);
        } while (cVar1 != '\0');
        strncat((char *)&DAT_000b57a0,", link-relax",iVar11 + 0x401);
        local_38 = *(char **)(param_1 + 0x3c);
      }
    }
    else if (uVar2 < 0x54) {
      if (uVar2 == 0x4b) {
        if (((uint)local_38 & 1) != 0) {
          pcVar4 = ", non-PIC";
          pcVar5 = (char *)&DAT_000b57a0;
          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        if (((uint)local_38 & 0x100) != 0) {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          pcVar4 = ", D-Float";
          pcVar5 = &DAT_000b579f + ~uVar13;
          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        if (((uint)local_38 & 0x200) == 0) {
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else {
          uVar13 = 0xffffffff;
          pcVar4 = (char *)&DAT_000b57a0;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          pcVar4 = ", G-Float";
          pcVar5 = &DAT_000b579f + ~uVar13;
          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
    }
    else if (uVar2 == 0x57) {
LAB_0003c0c0:
      uVar13 = (uint)local_38 & 0xf0000000;
      if (uVar13 == 0x20000000) {
        pcVar4 = ", v850e1";
        pcVar5 = (char *)&DAT_000b57a0;
        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
        local_38 = *(char **)(param_1 + 0x3c);
      }
      else if (uVar13 < 0x20000001) {
        if (uVar13 == 0) {
          pcVar4 = ", v850";
          pcVar5 = (char *)&DAT_000b57a0;
          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else if (uVar13 == 0x10000000) {
          DAT_000b57a0 = 0x3876202c;
          DAT_000b57a4 = 0x653035;
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else {
LAB_0003c0ff:
          pcVar4 = (char *)dcgettext(0,", unknown v850 architecture variant",5,&DAT_000b57a0);
          strcat((char *)&DAT_000b57a0,pcVar4);
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
      else if (uVar13 == 0x40000000) {
        pcVar4 = ", v850e2v3";
        pcVar5 = (char *)&DAT_000b57a0;
        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
        local_38 = *(char **)(param_1 + 0x3c);
      }
      else if (uVar13 == 0x60000000) {
        pcVar4 = ", v850e3v5";
        pcVar5 = (char *)&DAT_000b57a0;
        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
        local_38 = *(char **)(param_1 + 0x3c);
      }
      else {
        if (uVar13 != 0x30000000) goto LAB_0003c0ff;
        pcVar4 = ", v850e2";
        pcVar5 = (char *)&DAT_000b57a0;
        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
        local_38 = *(char **)(param_1 + 0x3c);
      }
    }
    else if (uVar2 == 0x58) goto LAB_0003bb50;
    goto LAB_0003b840;
  }
  if (uVar2 == 0xf) {
    uVar13 = (uint)local_38 & 0xffff;
    if (uVar13 == 0x210) {
      pcVar4 = ", PA-RISC 1.1";
      puVar9 = &DAT_000b57a0;
      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {
        *(char *)puVar9 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      }
    }
    else if (uVar13 == 0x214) {
      pcVar4 = ", PA-RISC 2.0";
      puVar9 = &DAT_000b57a0;
      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {
        *(char *)puVar9 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      }
    }
    else if (uVar13 == 0x20b) {
      pcVar4 = ", PA-RISC 1.0";
      puVar9 = &DAT_000b57a0;
      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {
        *(char *)puVar9 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      }
    }
    if (((uint)local_38 & 0x10000) != 0) {
      uVar13 = 0xffffffff;
      puVar9 = &DAT_000b57a0;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        uVar12 = *puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while ((char)uVar12 != '\0');
      pcVar4 = ", trapnil";
      pcVar5 = &DAT_000b579f + ~uVar13;
      for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0x20000) != 0) {
      uVar13 = 0xffffffff;
      puVar9 = &DAT_000b57a0;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        uVar12 = *puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while ((char)uVar12 != '\0');
      *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x7865202c;
      *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x74;
    }
    if (((uint)local_38 & 0x40000) != 0) {
      uVar13 = 0xffffffff;
      puVar9 = &DAT_000b57a0;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        uVar12 = *puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while ((char)uVar12 != '\0');
      *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x736c202c;
      *(undefined2 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x62;
    }
    if (((uint)local_38 & 0x80000) != 0) {
      uVar13 = 0xffffffff;
      puVar9 = &DAT_000b57a0;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        uVar12 = *puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while ((char)uVar12 != '\0');
      pcVar4 = ", wide";
      pcVar5 = &DAT_000b579f + ~uVar13;
      for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0x100000) != 0) {
      uVar13 = 0xffffffff;
      puVar9 = &DAT_000b57a0;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        uVar12 = *puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while ((char)uVar12 != '\0');
      pcVar4 = ", no kabp";
      pcVar5 = &DAT_000b579f + ~uVar13;
      for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0x400000) == 0) {
      local_38 = *(char **)(param_1 + 0x3c);
    }
    else {
      uVar13 = 0xffffffff;
      puVar9 = &DAT_000b57a0;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        uVar12 = *puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while ((char)uVar12 != '\0');
      pcVar4 = ", lazyswap";
      pcVar5 = &DAT_000b579f + ~uVar13;
      for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
      local_38 = *(char **)(param_1 + 0x3c);
    }
    goto LAB_0003b840;
  }
  if (0xf < uVar2) {
    if (uVar2 == 0x15) {
      if (((uint)local_38 & 3) != 0) {
        local_20 = (uint)CONCAT12((char)((uint)local_38 & 3) + '0',0x7669);
        builtin_strncpy(local_24,", ab",4);
        strcpy((char *)&DAT_000b57a0,local_24);
        local_38 = *(char **)(param_1 + 0x3c);
      }
    }
    else if (uVar2 == 0x16) {
      if (((uint)local_38 & 1) != 0) {
        pcVar4 = ", highgprs";
        pcVar5 = (char *)&DAT_000b57a0;
        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
        local_38 = *(char **)(param_1 + 0x3c);
      }
    }
    else if (uVar2 == 0x14) {
      if ((int)local_38 < 0) {
        DAT_000b57a0 = 0x6d65202c;
        DAT_000b57a4 = CONCAT22(DAT_000b57a4._2_2_,0x62);
      }
      if (((uint)local_38 & 0x10000) != 0) {
        pcVar4 = (char *)0x0;
        pcVar5 = (char *)dcgettext(0,", relocatable",5,&DAT_000b57a0);
        strcat((char *)&DAT_000b57a0,pcVar5);
      }
      if (((uint)local_38 & 0x8000) == 0) {
        local_38 = *(char **)(param_1 + 0x3c);
      }
      else {
        pcVar4 = (char *)dcgettext(0,", relocatable-lib",5,pcVar4);
        strcat((char *)&DAT_000b57a0,pcVar4);
        local_38 = *(char **)(param_1 + 0x3c);
      }
    }
    goto LAB_0003b840;
  }
  if ((uVar2 == 8) || (uVar2 == 10)) {
    pcVar5 = (char *)&DAT_000b57a0;
    local_34 = &DAT_000b57a0;
    puVar9 = (uint *)param_1;
    if (((uint)local_38 & 1) != 0) {
      pcVar4 = ", noreorder";
      puVar9 = (uint *)pcVar5;
      for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {
        *puVar9 = *(undefined4 *)pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -8 + 4;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -8 + 4);
      }
    }
    pcVar14 = local_38;
    if (((uint)local_38 & 2) != 0) {
      uVar13 = 0xffffffff;
      pcVar14 = pcVar5;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *pcVar14;
        pcVar14 = pcVar14 + (uint)bVar22 * -2 + 1;
      } while (cVar1 != '\0');
      pcVar14 = (char *)~uVar13;
      builtin_strncpy(pcVar14 + 0xb579f,", pic",6);
      puVar9 = local_34;
    }
    if (((uint)local_38 & 4) != 0) {
      uVar13 = 0xffffffff;
      pcVar4 = pcVar5;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
      } while (cVar1 != '\0');
      pcVar14 = &DAT_000b579f + ~uVar13;
      pcVar4 = ", cpic";
      puVar9 = (uint *)pcVar14;
      for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
        *(char *)puVar9 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      }
    }
    if (((uint)local_38 & 0x10) != 0) {
      uVar13 = 0xffffffff;
      pcVar4 = pcVar5;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
      } while (cVar1 != '\0');
      pcVar14 = &DAT_000b579f + ~uVar13;
      pcVar4 = ", ugen_reserved";
      puVar9 = (uint *)pcVar14;
      for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) {
        *puVar9 = *(undefined4 *)pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -8 + 4;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -8 + 4);
      }
    }
    if (((uint)local_38 & 0x20) != 0) {
      uVar13 = 0xffffffff;
      pcVar4 = pcVar5;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
      } while (cVar1 != '\0');
      pcVar14 = &DAT_000b579f + ~uVar13;
      pcVar4 = ", abi2";
      puVar9 = (uint *)pcVar14;
      for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
        *(char *)puVar9 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      }
    }
    if (((uint)local_38 & 0x80) != 0) {
      uVar13 = 0xffffffff;
      pcVar4 = pcVar5;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
      } while (cVar1 != '\0');
      pcVar14 = &DAT_000b579f + ~uVar13;
      pcVar4 = ", odk first";
      puVar9 = (uint *)pcVar14;
      for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {
        *puVar9 = *(undefined4 *)pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -8 + 4;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -8 + 4);
      }
    }
    if (((uint)local_38 & 0x100) != 0) {
      uVar13 = 0xffffffff;
      pcVar4 = pcVar5;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
      } while (cVar1 != '\0');
      pcVar14 = &DAT_000b579f + ~uVar13;
      pcVar4 = ", 32bitmode";
      puVar9 = (uint *)pcVar14;
      for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {
        *puVar9 = *(undefined4 *)pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -8 + 4;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -8 + 4);
      }
    }
    if (((uint)local_38 & 0x400) != 0) {
      uVar13 = 0xffffffff;
      pcVar4 = pcVar5;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
      } while (cVar1 != '\0');
      pcVar14 = &DAT_000b579f + ~uVar13;
      pcVar4 = ", nan2008";
      puVar9 = (uint *)pcVar14;
      for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
        *(char *)puVar9 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      }
    }
    if (((uint)local_38 & 0x200) != 0) {
      uVar13 = 0xffffffff;
      pcVar4 = pcVar5;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
      } while (cVar1 != '\0');
      pcVar14 = &DAT_000b579f + ~uVar13;
      pcVar4 = ", fp64";
      puVar9 = (uint *)pcVar14;
      for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
        *(char *)puVar9 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      }
    }
    uVar13 = (uint)local_38 & 0xff0000;
    if (uVar13 == 0x8c0000) {
      uVar13 = 0xffffffff;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *pcVar5;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      } while (cVar1 != '\0');
      pcVar5 = (char *)&DAT_000b57a0;
      pcVar14 = (char *)~uVar13;
      builtin_strncpy(pcVar14 + 0xb579f,", xlr",6);
    }
    else if (uVar13 < 0x8c0001) {
      if (uVar13 == 0x850000) {
        uVar13 = 0xffffffff;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *pcVar5;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        } while (cVar1 != '\0');
        pcVar14 = &DAT_000b579f + ~uVar13;
        pcVar4 = ", 4650";
        pcVar5 = pcVar14;
        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
      }
      else if (uVar13 < 0x850001) {
        if (uVar13 == 0x810000) {
          uVar13 = 0xffffffff;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar5;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          pcVar14 = &DAT_000b579f + ~uVar13;
          pcVar4 = ", 3900";
          pcVar5 = pcVar14;
          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        else if (uVar13 < 0x810001) {
          pcVar5 = (char *)puVar9;
          if (uVar13 != 0) goto LAB_0003d280;
        }
        else if (uVar13 == 0x820000) {
          uVar13 = 0xffffffff;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar5;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          pcVar14 = &DAT_000b579f + ~uVar13;
          pcVar4 = ", 4010";
          pcVar5 = pcVar14;
          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        else {
          if (uVar13 != 0x830000) goto LAB_0003d280;
          uVar13 = 0xffffffff;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar5;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          pcVar14 = &DAT_000b579f + ~uVar13;
          pcVar4 = ", 4100";
          pcVar5 = pcVar14;
          for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
      }
      else if (uVar13 == 0x880000) {
        uVar13 = 0xffffffff;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *pcVar5;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        } while (cVar1 != '\0');
        pcVar14 = &DAT_000b579f + ~uVar13;
        pcVar4 = ", 4111";
        pcVar5 = pcVar14;
        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
      }
      else if (uVar13 < 0x880001) {
        if (uVar13 != 0x870000) goto LAB_0003d280;
        uVar13 = 0xffffffff;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *pcVar5;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        } while (cVar1 != '\0');
        pcVar14 = &DAT_000b579f + ~uVar13;
        pcVar4 = ", 4120";
        pcVar5 = pcVar14;
        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
      }
      else if (uVar13 == 0x8a0000) {
        uVar13 = 0xffffffff;
        pcVar4 = pcVar5;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        } while (cVar1 != '\0');
        pcVar14 = (char *)~uVar13;
        builtin_strncpy(pcVar14 + 0xb579f,", sb1",6);
      }
      else {
        if (uVar13 != 0x8b0000) goto LAB_0003d280;
        uVar13 = 0xffffffff;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *pcVar5;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        } while (cVar1 != '\0');
        pcVar14 = &DAT_000b579f + ~uVar13;
        pcVar4 = ", octeon";
        pcVar5 = pcVar14;
        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
      }
    }
    else if (uVar13 == 0x930000) {
      uVar13 = 0xffffffff;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *pcVar5;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      } while (cVar1 != '\0');
      pcVar14 = &DAT_000b579f + ~uVar13;
      pcVar4 = ", interaptiv-mr2";
      pcVar5 = pcVar14;
      for (iVar11 = 0x11; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    else if (uVar13 < 0x930001) {
      if (uVar13 == 0x8e0000) {
        uVar13 = 0xffffffff;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *pcVar5;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        } while (cVar1 != '\0');
        pcVar14 = &DAT_000b579f + ~uVar13;
        pcVar4 = ", octeon3";
        pcVar5 = pcVar14;
        for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
      }
      else if (uVar13 < 0x8e0001) {
        if (uVar13 == 0x8d0000) {
          uVar13 = 0xffffffff;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *pcVar5;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          } while (cVar1 != '\0');
          pcVar14 = &DAT_000b579f + ~uVar13;
          pcVar4 = ", octeon2";
          pcVar5 = pcVar14;
          for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
            *pcVar5 = *pcVar4;
            pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
            pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
          }
        }
        else {
LAB_0003d280:
          pcVar5 = (char *)0x0;
          pcVar4 = (char *)dcgettext(0,", unknown CPU",5,pcVar4);
          strcat((char *)&DAT_000b57a0,pcVar4);
          pcVar14 = extraout_EDX;
        }
      }
      else if (uVar13 == 0x910000) {
        uVar13 = 0xffffffff;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *pcVar5;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        } while (cVar1 != '\0');
        pcVar14 = &DAT_000b579f + ~uVar13;
        pcVar4 = ", 5400";
        pcVar5 = pcVar14;
        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
      }
      else {
        if (uVar13 != 0x920000) goto LAB_0003d280;
        uVar13 = 0xffffffff;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *pcVar5;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        } while (cVar1 != '\0');
        pcVar14 = &DAT_000b579f + ~uVar13;
        pcVar4 = ", 5900";
        pcVar5 = pcVar14;
        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
      }
    }
    else if (uVar13 == 0xa00000) {
      uVar13 = 0xffffffff;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *pcVar5;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      } while (cVar1 != '\0');
      pcVar14 = &DAT_000b579f + ~uVar13;
      pcVar4 = ", loongson-2e";
      pcVar5 = pcVar14;
      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    else if (uVar13 < 0xa00001) {
      if (uVar13 == 0x980000) {
        uVar13 = 0xffffffff;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *pcVar5;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        } while (cVar1 != '\0');
        pcVar14 = &DAT_000b579f + ~uVar13;
        pcVar4 = ", 5500";
        pcVar5 = pcVar14;
        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
      }
      else {
        if (uVar13 != 0x990000) goto LAB_0003d280;
        uVar13 = 0xffffffff;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *pcVar5;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        } while (cVar1 != '\0');
        pcVar14 = &DAT_000b579f + ~uVar13;
        pcVar4 = ", 9000";
        pcVar5 = pcVar14;
        for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
      }
    }
    else if (uVar13 == 0xa10000) {
      uVar13 = 0xffffffff;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *pcVar5;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      } while (cVar1 != '\0');
      pcVar14 = &DAT_000b579f + ~uVar13;
      pcVar4 = ", loongson-2f";
      pcVar5 = pcVar14;
      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    else {
      if (uVar13 != 0xa20000) goto LAB_0003d280;
      uVar13 = 0xffffffff;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *pcVar5;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      } while (cVar1 != '\0');
      pcVar14 = &DAT_000b579f + ~uVar13;
      pcVar4 = ", loongson-3a";
      pcVar5 = pcVar14;
      for (iVar11 = 0xe; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    local_34 = &DAT_000b57a0;
    uVar13 = (uint)local_38 & 0xf000;
    if (uVar13 == 0x2000) {
      uVar13 = 0xffffffff;
      puVar9 = local_34;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *(char *)puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while (cVar1 != '\0');
      pcVar14 = (char *)~uVar13;
      builtin_strncpy(pcVar14 + 0xb579f,", o64",6);
    }
    else if (uVar13 < 0x2001) {
      if (uVar13 != 0) {
        if (uVar13 == 0x1000) {
          uVar13 = 0xffffffff;
          puVar9 = local_34;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *(char *)puVar9;
            puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
          } while (cVar1 != '\0');
          pcVar14 = (char *)~uVar13;
          builtin_strncpy(pcVar14 + 0xb579f,", o32",6);
        }
        else {
LAB_0003e7da:
          pcVar4 = (char *)dcgettext(0,", unknown ABI",5,pcVar5);
          strcat((char *)&DAT_000b57a0,pcVar4);
          pcVar14 = extraout_EDX_01;
        }
      }
    }
    else if (uVar13 == 0x3000) {
      uVar13 = 0xffffffff;
      puVar9 = local_34;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *(char *)puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while (cVar1 != '\0');
      pcVar14 = &DAT_000b579f + ~uVar13;
      pcVar4 = ", eabi32";
      pcVar5 = pcVar14;
      for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    else {
      if (uVar13 != 0x4000) goto LAB_0003e7da;
      uVar13 = 0xffffffff;
      puVar9 = local_34;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *(char *)puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while (cVar1 != '\0');
      pcVar14 = &DAT_000b579f + ~uVar13;
      pcVar4 = ", eabi64";
      pcVar5 = pcVar14;
      for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0x8000000) != 0) {
      uVar13 = 0xffffffff;
      puVar9 = local_34;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *(char *)puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while (cVar1 != '\0');
      pcVar14 = &DAT_000b579f + ~uVar13;
      pcVar4 = ", mdmx";
      pcVar5 = pcVar14;
      for (iVar11 = 7; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0x4000000) != 0) {
      uVar13 = 0xffffffff;
      puVar9 = local_34;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *(char *)puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while (cVar1 != '\0');
      pcVar14 = &DAT_000b579f + ~uVar13;
      pcVar4 = ", mips16";
      pcVar5 = pcVar14;
      for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
    }
    if (((uint)local_38 & 0x2000000) != 0) {
      uVar13 = 0xffffffff;
      puVar9 = local_34;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *(char *)puVar9;
        puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
      } while (cVar1 != '\0');
      pcVar14 = &DAT_000b579f + ~uVar13;
      pcVar4 = ", micromips";
      pcVar5 = pcVar14;
      for (iVar11 = 3; iVar11 != 0; iVar11 = iVar11 + -1) {
        *(undefined4 *)pcVar5 = *(undefined4 *)pcVar4;
        pcVar4 = pcVar4 + ((uint)bVar22 * -2 + 1) * 4;
        pcVar5 = pcVar5 + (uint)bVar22 * -8 + 4;
      }
    }
    uVar13 = (uint)local_38 & 0xf0000000;
    if (uVar13 == 0x50000000) {
      uVar13 = 0xffffffff;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *(char *)local_34;
        local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);
      } while (cVar1 != '\0');
      pcVar4 = ", mips32";
      pcVar5 = &DAT_000b579f + ~uVar13;
      for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
      local_38 = *(char **)(param_1 + 0x3c);
    }
    else if (uVar13 < 0x50000001) {
      if (uVar13 == 0x20000000) {
        uVar13 = 0xffffffff;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *(char *)local_34;
          local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);
        } while (cVar1 != '\0');
        *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x696d202c;
        *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x337370;
        local_38 = *(char **)(param_1 + 0x3c);
      }
      else if (uVar13 < 0x20000001) {
        if (uVar13 == 0) {
          uVar13 = 0xffffffff;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *(char *)local_34;
            local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);
          } while (cVar1 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x696d202c;
          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x317370;
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else if (uVar13 == 0x10000000) {
          uVar13 = 0xffffffff;
          do {
            if (uVar13 == 0) break;
            uVar13 = uVar13 - 1;
            cVar1 = *(char *)local_34;
            local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);
          } while (cVar1 != '\0');
          *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x696d202c;
          *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x327370;
          local_38 = *(char **)(param_1 + 0x3c);
        }
        else {
LAB_0003e94f:
          pcVar4 = (char *)dcgettext(0,", unknown ISA",5,pcVar14);
          strcat((char *)&DAT_000b57a0,pcVar4);
          local_38 = *(char **)(param_1 + 0x3c);
        }
      }
      else if (uVar13 == 0x30000000) {
        uVar13 = 0xffffffff;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *(char *)local_34;
          local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);
        } while (cVar1 != '\0');
        *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x696d202c;
        *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x347370;
        local_38 = *(char **)(param_1 + 0x3c);
      }
      else {
        if (uVar13 != 0x40000000) goto LAB_0003e94f;
        uVar13 = 0xffffffff;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *(char *)local_34;
          local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);
        } while (cVar1 != '\0');
        *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x696d202c;
        *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x357370;
        local_38 = *(char **)(param_1 + 0x3c);
      }
    }
    else if (uVar13 == 0x80000000) {
      uVar13 = 0xffffffff;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *(char *)local_34;
        local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);
      } while (cVar1 != '\0');
      pcVar4 = ", mips64r2";
      pcVar5 = &DAT_000b579f + ~uVar13;
      for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
      local_38 = *(char **)(param_1 + 0x3c);
    }
    else if (uVar13 < 0x80000001) {
      if (uVar13 == 0x60000000) {
        uVar13 = 0xffffffff;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *(char *)local_34;
          local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);
        } while (cVar1 != '\0');
        pcVar4 = ", mips64";
        pcVar5 = &DAT_000b579f + ~uVar13;
        for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
        local_38 = *(char **)(param_1 + 0x3c);
      }
      else {
        if (uVar13 != 0x70000000) goto LAB_0003e94f;
        uVar13 = 0xffffffff;
        do {
          if (uVar13 == 0) break;
          uVar13 = uVar13 - 1;
          cVar1 = *(char *)local_34;
          local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);
        } while (cVar1 != '\0');
        pcVar4 = ", mips32r2";
        pcVar5 = &DAT_000b579f + ~uVar13;
        for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {
          *pcVar5 = *pcVar4;
          pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
          pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
        }
        local_38 = *(char **)(param_1 + 0x3c);
      }
    }
    else if (uVar13 == 0x90000000) {
      uVar13 = 0xffffffff;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *(char *)local_34;
        local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);
      } while (cVar1 != '\0');
      pcVar4 = ", mips32r6";
      pcVar5 = &DAT_000b579f + ~uVar13;
      for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
      local_38 = *(char **)(param_1 + 0x3c);
    }
    else {
      if (uVar13 != 0xa0000000) goto LAB_0003e94f;
      uVar13 = 0xffffffff;
      do {
        if (uVar13 == 0) break;
        uVar13 = uVar13 - 1;
        cVar1 = *(char *)local_34;
        local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);
      } while (cVar1 != '\0');
      pcVar4 = ", mips64r6";
      pcVar5 = &DAT_000b579f + ~uVar13;
      for (iVar11 = 0xb; iVar11 != 0; iVar11 = iVar11 + -1) {
        *pcVar5 = *pcVar4;
        pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
        pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      }
      local_38 = *(char **)(param_1 + 0x3c);
    }
    goto LAB_0003b840;
  }
  if (uVar2 != 4) goto LAB_0003b840;
  uVar13 = (uint)local_38 & 0x3818000;
  if (uVar13 == 0x1000000) {
    pcVar4 = ", m68000";
    pcVar5 = (char *)&DAT_000b57a0;
    for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
      *pcVar5 = *pcVar4;
      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
    }
    local_38 = *(char **)(param_1 + 0x3c);
    goto LAB_0003b840;
  }
  if (uVar13 == 0x810000) {
    DAT_000b57a0 = 0x7063202c;
    DAT_000b57a4 = 0x323375;
    local_38 = *(char **)(param_1 + 0x3c);
    goto LAB_0003b840;
  }
  if (uVar13 == 0x2000000) {
    pcVar4 = ", fido_a";
    pcVar5 = (char *)&DAT_000b57a0;
    for (iVar11 = 9; iVar11 != 0; iVar11 = iVar11 + -1) {
      *pcVar5 = *pcVar4;
      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
    }
    local_38 = *(char **)(param_1 + 0x3c);
    goto LAB_0003b840;
  }
  pcVar4 = (char *)dcgettext(0,"unknown",5);
  local_3c = (char *)dcgettext(0,"unknown mac",5);
  switch((uint)local_38 & 0xf) {
  default:
    uVar13 = 0xffffffff;
    pcVar5 = (char *)&DAT_000b57a0;
    do {
      if (uVar13 == 0) break;
      uVar13 = uVar13 - 1;
      cVar1 = *pcVar5;
      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
    } while (cVar1 != '\0');
    pcVar5 = ", cf, isa ";
    pcVar14 = &DAT_000b579f + ~uVar13;
    for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
      *pcVar14 = *pcVar5;
      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
      pcVar14 = pcVar14 + (uint)bVar22 * -2 + 1;
    }
    strcpy((char *)(~uVar13 + 0xb57a9),pcVar4);
    goto LAB_0003c31a;
  case 1:
    local_40 = ", nodiv";
    pcVar4 = "A";
    goto code_r0x0003c39b;
  case 2:
    pcVar4 = "A";
    break;
  case 3:
    pcVar4 = "A+";
    break;
  case 4:
    pcVar4 = "B";
    local_40 = ", nousp";
    goto code_r0x0003c39b;
  case 5:
    pcVar4 = "B";
    break;
  case 6:
    pcVar4 = "C";
    break;
  case 7:
    local_40 = ", nodiv";
    pcVar4 = "C";
code_r0x0003c39b:
    uVar13 = 0xffffffff;
    pcVar5 = (char *)&DAT_000b57a0;
    do {
      if (uVar13 == 0) break;
      uVar13 = uVar13 - 1;
      cVar1 = *pcVar5;
      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
    } while (cVar1 != '\0');
    cVar1 = *pcVar4;
    uVar13 = ~uVar13;
    pcVar4 = ", cf, isa ";
    pcVar5 = &DAT_000b579f + uVar13;
    for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
      *pcVar5 = *pcVar4;
      pcVar4 = pcVar4 + (uint)bVar22 * -2 + 1;
      pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
    }
    *(char *)(uVar13 + 0xb57a9) = cVar1;
    uVar3 = *(undefined4 *)local_40;
    *(undefined4 *)((int)&DAT_000b57ac + uVar13 + 2) = *(undefined4 *)(local_40 + 4);
    *(undefined4 *)(uVar13 + 0xb57aa) = uVar3;
    goto LAB_0003c31a;
  }
  uVar13 = 0xffffffff;
  pcVar5 = (char *)&DAT_000b57a0;
  do {
    if (uVar13 == 0) break;
    uVar13 = uVar13 - 1;
    cVar1 = *pcVar5;
    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
  } while (cVar1 != '\0');
  pcVar5 = ", cf, isa ";
  pcVar14 = &DAT_000b579f + ~uVar13;
  for (iVar11 = 10; iVar11 != 0; iVar11 = iVar11 + -1) {
    *pcVar14 = *pcVar5;
    pcVar5 = pcVar5 + (uint)bVar22 * -2 + 1;
    pcVar14 = pcVar14 + (uint)bVar22 * -2 + 1;
  }
  strcpy((char *)(~uVar13 + 0xb57a9),pcVar4);
LAB_0003c31a:
  local_34 = &DAT_000b57a0;
  if (((uint)local_38 & 0x40) != 0) {
    uVar13 = 0xffffffff;
    puVar9 = local_34;
    do {
      if (uVar13 == 0) break;
      uVar13 = uVar13 - 1;
      cVar1 = *(char *)puVar9;
      puVar9 = (uint *)((int)puVar9 + (uint)bVar22 * -2 + 1);
    } while (cVar1 != '\0');
    *(undefined4 *)(&DAT_000b579f + ~uVar13) = 0x6c66202c;
    *(undefined4 *)((int)&DAT_000b57a0 + ~uVar13 + 3) = 0x74616f;
  }
  uVar13 = (uint)local_38 & 0x30;
  if (uVar13 == 0x10) {
    local_3c = "mac";
LAB_0003c354:
    uVar13 = 0xffffffff;
    do {
      if (uVar13 == 0) break;
      uVar13 = uVar13 - 1;
      cVar1 = *(char *)local_34;
      local_34 = (uint *)((int)local_34 + (uint)bVar22 * -2 + 1);
    } while (cVar1 != '\0');
    *(undefined2 *)(&DAT_000b579f + ~uVar13) = 0x202c;
    strcpy((char *)((int)&DAT_000b57a0 + ~uVar13 + 1),local_3c);
    local_38 = *(char **)(param_1 + 0x3c);
  }
  else {
    if (0x10 < uVar13) {
      if (uVar13 == 0x20) {
        local_3c = "emac";
      }
      else {
        if (uVar13 != 0x30) goto LAB_0003e4f5;
        local_3c = "emac_b";
      }
      goto LAB_0003c354;
    }
    if (uVar13 == 0) {
      local_38 = *(char **)(param_1 + 0x3c);
    }
    else {
LAB_0003e4f5:
      if (local_3c != (char *)0x0) goto LAB_0003c354;
      local_38 = *(char **)(param_1 + 0x3c);
    }
  }
LAB_0003b840:
  pcVar4 = (char *)dcgettext(0,"  Flags:                             0x%lx%s\n",5);
  printf(pcVar4,local_38,&DAT_000b57a0);
  uVar3 = *(undefined4 *)(param_1 + 0x44);
  pcVar4 = (char *)dcgettext(0,"  Size of this header:               %ld (bytes)\n",5);
  printf(pcVar4,uVar3);
  uVar3 = *(undefined4 *)(param_1 + 0x48);
  pcVar4 = (char *)dcgettext(0,"  Size of program headers:           %ld (bytes)\n",5);
  printf(pcVar4,uVar3);
  uVar3 = *(undefined4 *)(param_1 + 0x4c);
  pcVar4 = (char *)dcgettext(0,"  Number of program headers:         %ld",5);
  printf(pcVar4,uVar3);
  if (((*(int *)(param_1 + 0x5c) != 0) && (*(int *)(param_1 + 0x4c) == 0xffff)) &&
     (iVar11 = *(int *)(*(int *)(param_1 + 0x5c) + 0x2c), iVar11 != 0)) {
    printf(" (%ld)",iVar11);
  }
  puVar8 = PTR_stdout_000b3fd8;
  putc(10,*(FILE **)PTR_stdout_000b3fd8);
  uVar3 = *(undefined4 *)(param_1 + 0x50);
  pcVar4 = (char *)dcgettext(0,"  Size of section headers:           %ld (bytes)\n",5);
  printf(pcVar4,uVar3);
  uVar3 = *(undefined4 *)(param_1 + 0x54);
  pcVar4 = (char *)dcgettext(0,"  Number of section headers:         %ld",5);
  printf(pcVar4,uVar3);
  if ((*(int *)(param_1 + 0x5c) != 0) && (*(int *)(param_1 + 0x54) == 0)) {
    printf(" (%ld)",*(undefined4 *)(*(int *)(param_1 + 0x5c) + 0x20));
  }
  putc(10,*(FILE **)puVar8);
  uVar3 = *(undefined4 *)(param_1 + 0x58);
  pcVar4 = (char *)dcgettext(0,"  Section header string table index: %ld",5);
  printf(pcVar4,uVar3);
  if (*(int *)(param_1 + 0x5c) == 0) {
    uVar13 = *(uint *)(param_1 + 0x58);
LAB_0003b994:
    if ((uVar13 != 0) && (*(uint *)(param_1 + 0x54) <= uVar13)) {
      pcVar4 = (char *)dcgettext(0," <corrupt: out of range>",5);
      printf(pcVar4);
    }
  }
  else {
    uVar13 = *(uint *)(param_1 + 0x58);
    if (uVar13 != 0xffff) goto LAB_0003b994;
    printf(" (%u)",*(undefined4 *)(*(int *)(param_1 + 0x5c) + 0x28));
  }
  putc(10,*(FILE **)puVar8);
LAB_0003b371:
  __ptr = *(void **)(param_1 + 0x5c);
  if (__ptr == (void *)0x0) {
    return 1;
  }
  if ((*(int *)(param_1 + 0x4c) == 0xffff) && (*(int *)((int)__ptr + 0x2c) != 0)) {
    *(int *)(param_1 + 0x4c) = *(int *)((int)__ptr + 0x2c);
  }
  uVar13 = *(uint *)(param_1 + 0x54);
  if (uVar13 == 0) {
    uVar13 = *(uint *)((int)__ptr + 0x20);
    *(uint *)(param_1 + 0x54) = uVar13;
  }
  uVar12 = *(uint *)(param_1 + 0x58);
  if (uVar12 == 0xffff) {
    uVar12 = *(uint *)((int)__ptr + 0x28);
    *(uint *)(param_1 + 0x58) = uVar12;
  }
  if (uVar13 <= uVar12) {
    param_1[0x58] = '\0';
    param_1[0x59] = '\0';
    param_1[0x5a] = '\0';
    param_1[0x5b] = '\0';
  }
  free(__ptr);
  param_1[0x5c] = '\0';
  param_1[0x5d] = '\0';
  param_1[0x5e] = '\0';
  param_1[0x5f] = '\0';
  return 1;
}

