
int main(int argc,char **argv)

{
  char cVar1;
  byte *__filename;
  long lVar2;
  undefined8 uVar3;
  bool bVar4;
  int iVar5;
  uint uVar6;
  undefined4 uVar7;
  ulong uVar8;
  FILE *__stream;
  int *piVar9;
  char *pcVar10;
  char *pcVar11;
  long lVar12;
  byte *pbVar13;
  byte *pbVar14;
  char *in_R9;
  uint uVar15;
  undefined8 *puVar16;
  bool bVar17;
  bool bVar18;
  byte bVar19;
  char **local_e8;
  int local_e0;
  uint local_dc;
  char *s;
  bfd_byte *mem;
  stat st;
  
  bVar19 = 0;
  local_e8 = argv;
  local_dc = argc;
  setlocale(6,"");
  bindtextdomain("binutils","/usr/share/locale");
  textdomain("binutils");
  program_name = *local_e8;
  xmalloc_set_program_name();
  bfd_set_error_program_name(program_name);
  expandargv((int *)&local_dc,&local_e8);
  encoding = 's';
  string_min = 4;
  include_all_whitespace = 0;
  print_addresses = 0;
  print_filenames = 0;
  datasection_only = 0;
  target = (char *)0x0;
  output_separator = (char *)0x0;
  uVar15 = 0;
  do {
    iVar5 = getopt_long(local_dc,local_e8,"adfhHn:wot:e:T:s:Vv0123456789",long_options);
    if (iVar5 == -1) {
      if (uVar15 != 0) {
        uVar8 = strtoul(local_e8[(long)(int)uVar15 + -1] + 1,&s,0);
        string_min = (int)uVar8;
        if ((s != (char *)0x0) && (*s != '\0')) {
          pcVar11 = local_e8[(long)(int)uVar15 + -1] + 1;
          goto LAB_00102ab1;
        }
      }
      iVar5 = string_min;
      if (string_min < 1) {
        pcVar11 = (char *)dcgettext(0,"invalid minimum string length %d",5);
                    /* WARNING: Subroutine does not return */
        fatal(pcVar11,(ulong)(uint)iVar5);
      }
      if (0x31 < (byte)(encoding + 0xbeU)) goto switchD_0010259b_caseD_3f;
      uVar8 = 1L << (encoding + 0xbeU & 0x3f);
      if ((uVar8 & 0x401) == 0) {
        if ((uVar8 & 0x40100000000) == 0) {
          if ((uVar8 & 0x2000000020000) == 0) goto switchD_0010259b_caseD_3f;
          encoding_bytes = 1;
        }
        else {
          encoding_bytes = 2;
        }
      }
      else {
        encoding_bytes = 4;
      }
      bfd_init();
      set_default_bfd_target();
      if ((int)local_dc <= (int)optind) {
        datasection_only = 0;
        print_strings("{standard input}",stdin,0,0,0,in_R9);
        return 0;
      }
      bVar4 = false;
      bVar17 = false;
      uVar15 = 0;
      bVar18 = true;
      break;
    }
    switch(iVar5) {
    case 0x3f:
      goto switchD_0010259b_caseD_3f;
    default:
      uVar15 = optind;
      break;
    case 0x48:
    case 0x68:
                    /* WARNING: Subroutine does not return */
      usage(stdout,0);
    case 0x54:
      target = optarg;
      break;
    case 0x56:
    case 0x76:
      print_version("strings");
      break;
    case 0x61:
      datasection_only = 0;
      break;
    case 100:
      datasection_only = 1;
      break;
    case 0x65:
      if (optarg[1] != '\0') goto switchD_0010259b_caseD_3f;
      encoding = *optarg;
      break;
    case 0x66:
      print_filenames = 1;
      break;
    case 0x6e:
      uVar8 = strtoul(optarg,&s,0);
      string_min = (int)uVar8;
      if ((s != (char *)0x0) && (pcVar11 = optarg, *s != '\0')) {
LAB_00102ab1:
        pcVar10 = (char *)dcgettext(0,"invalid integer argument %s",5);
                    /* WARNING: Subroutine does not return */
        fatal(pcVar10,pcVar11);
      }
      break;
    case 0x6f:
      print_addresses = 1;
      address_radix = 8;
      break;
    case 0x73:
      output_separator = optarg;
      break;
    case 0x74:
      print_addresses = 1;
      if (optarg[1] != '\0') goto switchD_0010259b_caseD_3f;
      cVar1 = *optarg;
      if (cVar1 == 'o') {
        address_radix = 8;
      }
      else if (cVar1 == 'x') {
        address_radix = 0x10;
      }
      else {
        if (cVar1 != 'd') goto switchD_0010259b_caseD_3f;
        address_radix = 10;
      }
      break;
    case 0x77:
      include_all_whitespace = 1;
    }
  } while( true );
LAB_001027e3:
  __filename = (byte *)local_e8[(int)optind];
  lVar12 = 2;
  pbVar13 = __filename;
  pbVar14 = &DAT_001055d5;
  do {
    if (lVar12 == 0) break;
    lVar12 = lVar12 + -1;
    bVar17 = *pbVar13 < *pbVar14;
    bVar18 = *pbVar13 == *pbVar14;
    pbVar13 = pbVar13 + (ulong)bVar19 * -2 + 1;
    pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;
  } while (bVar18);
  if ((!bVar17 && !bVar18) == bVar17) {
    datasection_only = 0;
  }
  else {
    iVar5 = __xstat(1,(char *)__filename,(stat *)&st);
    if (iVar5 < 0) {
      piVar9 = __errno_location();
      if (*piVar9 == 2) {
        pcVar11 = "\'%s\': No such file";
        goto LAB_00102b34;
      }
      pcVar11 = strerror(*piVar9);
      pcVar10 = (char *)dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);
      non_fatal(pcVar10,__filename,pcVar11);
      uVar6 = 0;
    }
    else if ((st.st_mode & 0xf000) == 0x4000) {
      pcVar11 = "Warning: \'%s\' is a directory";
LAB_00102b34:
      pcVar11 = (char *)dcgettext(0,pcVar11,5);
      non_fatal(pcVar11,__filename);
      uVar6 = 0;
    }
    else if ((datasection_only == 0) || (lVar12 = bfd_openr(__filename,target), lVar12 == 0)) {
LAB_00102978:
      __stream = fopen((char *)__filename,"r");
      if (__stream != (FILE *)0x0) {
        print_strings((char *)__filename,(FILE *)__stream,0,0,0,in_R9);
        iVar5 = fclose(__stream);
        if (iVar5 != -1) goto LAB_00102914;
      }
      fprintf(stderr,"%s: ",program_name);
      perror((char *)__filename);
      uVar6 = 0;
    }
    else {
      iVar5 = bfd_check_format(lVar12,1);
      if (iVar5 == 0) {
        bfd_close(lVar12);
        goto LAB_00102978;
      }
      puVar16 = *(undefined8 **)(lVar12 + 0x90);
      if (puVar16 == (undefined8 *)0x0) {
        iVar5 = bfd_close(lVar12);
        if (iVar5 == 0) goto LAB_00102969;
        goto LAB_00102978;
      }
      local_e0 = 0;
      do {
        if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (lVar2 = puVar16[7], lVar2 != 0)) {
          iVar5 = bfd_malloc_and_get_section(lVar12,puVar16,&mem);
          if (iVar5 == 0) {
            uVar7 = bfd_get_error();
            bfd_errmsg(uVar7);
            uVar3 = *puVar16;
            pcVar11 = (char *)dcgettext(0,"%s: Reading section %s failed: %s",5);
            non_fatal(pcVar11,__filename,uVar3);
          }
          else {
            print_strings((char *)__filename,(FILE *)0x0,puVar16[0x12],(int)lVar2,(int)mem,in_R9);
            free(mem);
            local_e0 = 1;
          }
        }
        puVar16 = (undefined8 *)puVar16[2];
      } while (puVar16 != (undefined8 *)0x0);
      iVar5 = bfd_close(lVar12);
      if (iVar5 == 0) {
LAB_00102969:
        bfd_nonfatal((char *)__filename);
        goto LAB_00102978;
      }
      if (local_e0 == 0) goto LAB_00102978;
LAB_00102914:
      uVar6 = 1;
    }
    bVar4 = true;
    uVar15 = uVar15 | uVar6 ^ 1;
  }
  optind = optind + 1;
  bVar17 = optind < local_dc;
  bVar18 = optind == local_dc;
  if ((int)local_dc <= (int)optind) {
    if (bVar4) {
      return uVar15;
    }
switchD_0010259b_caseD_3f:
                    /* WARNING: Subroutine does not return */
    usage((FILE *)stderr,1);
  }
  goto LAB_001027e3;
}



undefined ** FUN_00102480(uint param_1,undefined8 *param_2)

{
  bool bVar1;
  int iVar2;
  uint uVar3;
  undefined4 uVar4;
  ulong uVar5;
  FILE *__stream;
  int *piVar6;
  undefined8 uVar7;
  undefined8 uVar8;
  undefined8 uVar9;
  long lVar10;
  byte *__filename;
  char *pcVar11;
  byte *pbVar12;
  char *pcVar13;
  byte *pbVar14;
  undefined **ppuVar15;
  undefined8 *puVar16;
  bool bVar17;
  bool bVar18;
  byte bVar19;
  undefined8 *local_e8;
  int local_e0;
  uint local_dc;
  char *local_d8;
  void *local_d0;
  stat local_c8;
  
  bVar19 = 0;
  __stream = (FILE *)0x0;
  ppuVar15 = &PTR_DAT_00108260;
  pcVar11 = "adfhHn:wot:e:T:s:Vv0123456789";
  __filename = &DAT_00105674;
  local_e8 = param_2;
  local_dc = param_1;
  setlocale(6,"");
  bindtextdomain("binutils","/usr/share/locale");
  textdomain("binutils");
  DAT_00108478 = *local_e8;
  xmalloc_set_program_name();
  bfd_set_error_program_name(DAT_00108478);
  FUN_001047f0(&local_dc,&local_e8);
  DAT_0010843c = 's';
  DAT_00108458 = 4;
  DAT_00108454 = 0;
  DAT_00108450 = 0;
  DAT_0010844c = 0;
  DAT_00108448 = 0;
  DAT_00108440 = 0;
  DAT_00108430 = 0;
  do {
    while (iVar2 = getopt_long(local_dc,local_e8,pcVar11,ppuVar15,0), iVar2 != -1) {
      if (iVar2 - 0x3fU < 0x39) {
                    /* WARNING: Could not recover jumptable at 0x0010259b. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        ppuVar15 = (undefined **)
                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))();
        return ppuVar15;
      }
      __stream = (FILE *)(ulong)optind;
    }
    iVar2 = (int)__stream;
    if (iVar2 != 0) {
      uVar5 = strtoul((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0);
      DAT_00108458 = (uint)uVar5;
      if ((local_d8 != (char *)0x0) && (*local_d8 != '\0')) {
        lVar10 = local_e8[(long)iVar2 + -1];
        uVar9 = dcgettext(0,"invalid integer argument %s",5);
                    /* WARNING: Subroutine does not return */
        FUN_001034a0(uVar9,lVar10 + 1);
      }
    }
    uVar3 = DAT_00108458;
    __filename = (byte *)(ulong)DAT_00108458;
    if ((int)DAT_00108458 < 1) {
      uVar9 = dcgettext(0,"invalid minimum string length %d",5);
                    /* WARNING: Subroutine does not return */
      FUN_001034a0(uVar9,uVar3);
    }
    if ((byte)(DAT_0010843c + 0xbeU) < 0x32) {
      uVar5 = 1L << (DAT_0010843c + 0xbeU & 0x3f);
      if ((uVar5 & 0x401) == 0) {
        if ((uVar5 & 0x40100000000) == 0) {
          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;
          DAT_00108438 = 1;
        }
        else {
          DAT_00108438 = 2;
        }
      }
      else {
        DAT_00108438 = 4;
      }
      bfd_init();
      FUN_001035e0();
      if ((int)local_dc <= (int)optind) {
        DAT_00108448 = 0;
        FUN_00102ec0("{standard input}",stdin,0,0,0);
        return (undefined **)0x0;
      }
      bVar1 = false;
      bVar17 = false;
      ppuVar15 = (undefined **)0x0;
      bVar18 = true;
      pcVar11 = "-";
      do {
        __filename = (byte *)local_e8[(int)optind];
        lVar10 = 2;
        pbVar12 = __filename;
        pbVar14 = &DAT_001055d5;
        do {
          if (lVar10 == 0) break;
          lVar10 = lVar10 + -1;
          bVar17 = *pbVar12 < *pbVar14;
          bVar18 = *pbVar12 == *pbVar14;
          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;
          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;
        } while (bVar18);
        if ((!bVar17 && !bVar18) == bVar17) {
          DAT_00108448 = 0;
        }
        else {
          iVar2 = __xstat(1,(char *)__filename,&local_c8);
          if (iVar2 < 0) {
            piVar6 = __errno_location();
            if (*piVar6 == 2) {
              pcVar13 = "\'%s\': No such file";
              goto LAB_00102b34;
            }
            __stream = (FILE *)strerror(*piVar6);
            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);
            FUN_00103540(uVar9,__filename,__stream);
            uVar3 = 0;
          }
          else if ((local_c8.st_mode & 0xf000) == 0x4000) {
            pcVar13 = "Warning: \'%s\' is a directory";
LAB_00102b34:
            uVar9 = dcgettext(0,pcVar13,5);
            FUN_00103540(uVar9,__filename);
            uVar3 = 0;
          }
          else if ((DAT_00108448 == 0) ||
                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))
          {
LAB_00102978:
            __stream = fopen((char *)__filename,"r");
            if (__stream != (FILE *)0x0) {
              FUN_00102ec0(__filename,__stream,0,0);
              iVar2 = fclose(__stream);
              if (iVar2 != -1) goto LAB_00102914;
            }
            fprintf(stderr,"%s: ",DAT_00108478);
            perror((char *)__filename);
            uVar3 = 0;
          }
          else {
            iVar2 = bfd_check_format(__stream,1);
            if (iVar2 == 0) {
              bfd_close(__stream);
              goto LAB_00102978;
            }
            puVar16 = (undefined8 *)__stream->_offset;
            if (puVar16 == (undefined8 *)0x0) {
              iVar2 = bfd_close(__stream);
              if (iVar2 == 0) goto LAB_00102969;
              goto LAB_00102978;
            }
            local_e0 = 0;
            do {
              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {
                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);
                if (iVar2 == 0) {
                  uVar4 = bfd_get_error();
                  uVar7 = bfd_errmsg(uVar4);
                  uVar9 = *puVar16;
                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);
                  FUN_00103540(uVar8,__filename,uVar9,uVar7);
                }
                else {
                  FUN_00102ec0(__filename,0,puVar16[0x12]);
                  free(local_d0);
                  local_e0 = 1;
                }
              }
              puVar16 = (undefined8 *)puVar16[2];
            } while (puVar16 != (undefined8 *)0x0);
            iVar2 = bfd_close(__stream);
            if (iVar2 == 0) {
LAB_00102969:
              FUN_001031f0(__filename);
              goto LAB_00102978;
            }
            if (local_e0 == 0) goto LAB_00102978;
LAB_00102914:
            uVar3 = 1;
          }
          bVar1 = true;
          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);
        }
        optind = optind + 1;
        bVar17 = optind < local_dc;
        bVar18 = optind == local_dc;
      } while ((int)optind < (int)local_dc);
      if (bVar1) {
        return ppuVar15;
      }
    }
LAB_00102704:
    FUN_00102dc0(stderr,1);
    DAT_0010845c = 8;
  } while( true );
}


PUSH R15
PUSH R14
PUSH R13
XOR R13D,R13D
PUSH R12
LEA R12,[0x108260]
PUSH RBP
LEA RBP,[0x1055a6]
PUSH RBX
LEA RBX,[0x105674]
SUB RSP,0xd8
MOV dword ptr [RSP + 0x2c],EDI
MOV EDI,0x6
LEA R14,[RSP + 0x30]
MOV qword ptr [RSP + 0x20],RSI
LEA RSI,[0x1057a9]
CALL 0x00102350
LEA RSI,[0x105567]
LEA RDI,[0x105579]
CALL 0x00102150
LEA RDI,[0x105579]
CALL 0x00102100
MOV RAX,qword ptr [RSP + 0x20]
MOV RDI,qword ptr [RAX]
MOV qword ptr [0x00108478],RDI
CALL 0x00102220
MOV RDI,qword ptr [0x00108478]
CALL 0x00102370
LEA RSI,[RSP + 0x20]
LEA RDI,[RSP + 0x2c]
CALL 0x001047f0
MOV byte ptr [0x0010843c],0x73
MOV dword ptr [0x00108458],0x4
MOV dword ptr [0x00108454],0x0
MOV dword ptr [0x00108450],0x0
MOV dword ptr [0x0010844c],0x0
MOV dword ptr [0x00108448],0x0
MOV qword ptr [0x00108440],0x0
MOV qword ptr [0x00108430],0x0
NOP dword ptr [RAX]
MOV RSI,qword ptr [RSP + 0x20]
MOV EDI,dword ptr [RSP + 0x2c]
XOR R8D,R8D
MOV RCX,R12
MOV RDX,RBP
CALL 0x00102180
CMP EAX,-0x1
JZ 0x00102740
SUB EAX,0x3f
CMP EAX,0x38
JA 0x001026f0
MOVSXD RAX,dword ptr [RBX + RAX*0x4]
ADD RAX,RBX
JMP RAX
MOV R13D,dword ptr [0x001083f8]
JMP 0x00102568
MOV RDI,qword ptr [0x00108420]
MOV ESI,0x1
CALL 0x00102dc0
NOP dword ptr [RAX]
MOV dword ptr [0x0010845c],0x8
JMP 0x00102568
TEST R13D,R13D
JNZ 0x00102a65
MOV EBX,dword ptr [0x00108458]
TEST EBX,EBX
JLE 0x00102b78
MOVZX EAX,byte ptr [0x0010843c]
LEA ECX,[RAX + -0x42]
CMP CL,0x31
JA 0x00102704
MOV EAX,0x1
SHL RAX,CL
TEST EAX,0x401
JZ 0x00102929
MOV dword ptr [0x00108438],0x4
CALL 0x00102260
CALL 0x001035e0
MOV EAX,dword ptr [0x001083f8]
CMP EAX,dword ptr [RSP + 0x2c]
JGE 0x00102a3c
LEA RSI,[RSP + 0x38]
XOR EDX,EDX
LEA R14,[RSP + 0x40]
XOR R12D,R12D
LEA RBP,[0x1055d5]
MOV qword ptr [RSP + 0x10],RSI
JMP 0x001027e3
MOV dword ptr [0x00108448],0x0
MOV EAX,dword ptr [0x001083f8]
ADD EAX,0x1
MOV dword ptr [0x001083f8],EAX
CMP EAX,dword ptr [RSP + 0x2c]
JGE 0x001029dd
MOV RCX,qword ptr [RSP + 0x20]
CDQE
MOV RDI,RBP
MOV RBX,qword ptr [RCX + RAX*0x8]
MOV ECX,0x2
MOV RSI,RBX
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x001027c0
MOV RDX,R14
MOV RSI,RBX
MOV EDI,0x1
CALL 0x001022e0
TEST EAX,EAX
JS 0x001029fa
MOV EAX,dword ptr [RSP + 0x58]
AND EAX,0xf000
CMP EAX,0x4000
JZ 0x00102b4f
MOV EAX,dword ptr [0x00108448]
TEST EAX,EAX
JZ 0x00102978
MOV RSI,qword ptr [0x00108440]
MOV RDI,RBX
CALL 0x00102120
MOV R13,RAX
TEST RAX,RAX
JZ 0x00102978
MOV ESI,0x1
MOV RDI,RAX
CALL 0x00102440
TEST EAX,EAX
JZ 0x00102b5d
MOV R15,qword ptr [R13 + 0x90]
TEST R15,R15
JZ 0x0010295d
MOV dword ptr [RSP + 0x28],0x0
NOP word ptr CS:[RAX + RAX*0x1]
MOV EAX,dword ptr [R15 + 0x20]
AND EAX,0x103
CMP EAX,0x103
JNZ 0x001028f8
MOV RCX,qword ptr [R15 + 0x38]
TEST RCX,RCX
MOV qword ptr [RSP + 0x8],RCX
JZ 0x001028f8
MOV RDX,qword ptr [RSP + 0x10]
MOV RSI,R15
MOV RDI,R13
CALL 0x00102110
MOV RCX,qword ptr [RSP + 0x8]
TEST EAX,EAX
JZ 0x00102ae0
MOV RDX,qword ptr [R15 + 0x90]
MOV R8,qword ptr [RSP + 0x38]
XOR ESI,ESI
MOV RDI,RBX
CALL 0x00102ec0
MOV RDI,qword ptr [RSP + 0x38]
CALL 0x00102060
MOV dword ptr [RSP + 0x28],0x1
NOP dword ptr [RAX + RAX*0x1]
MOV R15,qword ptr [R15 + 0x10]
TEST R15,R15
JNZ 0x00102890
MOV RDI,R13
CALL 0x001023c0
TEST EAX,EAX
JZ 0x00102969
CMP dword ptr [RSP + 0x28],0x0
JZ 0x00102978
MOV EAX,0x1
XOR EAX,0x1
MOV EDX,0x1
OR R12D,EAX
JMP 0x001027ca
MOV EDX,0x401
SHL RDX,0x20
TEST RAX,RDX
JNZ 0x00102ad1
MOV RDX,0x2000000020000
TEST RAX,RDX
JZ 0x00102704
MOV dword ptr [0x00108438],0x1
JMP 0x00102783
MOV RDI,R13
CALL 0x001023c0
TEST EAX,EAX
JNZ 0x00102978
MOV RDI,RBX
CALL 0x001031f0
NOP dword ptr [RAX]
LEA RSI,[0x105662]
MOV RDI,RBX
CALL 0x001023a0
MOV R13,RAX
TEST RAX,RAX
JZ 0x001029b2
XOR R8D,R8D
XOR ECX,ECX
XOR EDX,EDX
MOV RDI,RBX
MOV RSI,RAX
CALL 0x00102ec0
MOV RDI,R13
CALL 0x00102130
CMP EAX,-0x1
JNZ 0x00102914
MOV RDX,qword ptr [0x00108478]
MOV RDI,qword ptr [0x00108420]
LEA RSI,[0x105550]
XOR EAX,EAX
CALL 0x00102280
MOV RDI,RBX
CALL 0x001023d0
XOR EAX,EAX
JMP 0x00102919
TEST EDX,EDX
JZ 0x00102704
ADD RSP,0xd8
MOV EAX,R12D
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
CALL 0x00102090
MOV EDI,dword ptr [RAX]
CMP EDI,0x2
JZ 0x00102b28
CALL 0x00102450
MOV EDX,0x5
LEA RSI,[0x1054d8]
XOR EDI,EDI
MOV R13,RAX
CALL 0x00102160
MOV RDX,R13
MOV RSI,RBX
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00103540
XOR EAX,EAX
JMP 0x00102919
MOV RSI,qword ptr [0x001083f0]
XOR R8D,R8D
XOR ECX,ECX
XOR EDX,EDX
LEA RDI,[0x1055c4]
XOR R12D,R12D
MOV dword ptr [0x00108448],0x0
CALL 0x00102ec0
JMP 0x001029e5
MOV RAX,qword ptr [RSP + 0x20]
MOVSXD RBX,R13D
LEA RSI,[RSP + 0x30]
XOR EDX,EDX
SHL RBX,0x3
MOV RDI,qword ptr [RAX + RBX*0x1 + -0x8]
ADD RDI,0x1
CALL 0x001023f0
MOV dword ptr [0x00108458],EAX
MOV RAX,qword ptr [RSP + 0x30]
TEST RAX,RAX
JZ 0x00102749
CMP byte ptr [RAX],0x0
JZ 0x00102749
MOV RAX,qword ptr [RSP + 0x20]
MOV RBX,qword ptr [RAX + RBX*0x1 + -0x8]
ADD RBX,0x1
LEA RSI,[0x105582]
XOR EDI,EDI
MOV EDX,0x5
CALL 0x00102160
MOV RSI,RBX
MOV RDI,RAX
XOR EAX,EAX
CALL 0x001034a0
MOV dword ptr [0x00108438],0x2
JMP 0x00102783
CALL 0x00102200
MOV EDI,EAX
CALL 0x00102400
XOR EDI,EDI
MOV EDX,0x5
LEA RSI,[0x105508]
MOV qword ptr [RSP + 0x18],RAX
MOV RAX,qword ptr [R15]
MOV qword ptr [RSP + 0x8],RAX
CALL 0x00102160
MOV RCX,qword ptr [RSP + 0x18]
MOV RDX,qword ptr [RSP + 0x8]
MOV RSI,RBX
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00103540
JMP 0x001028f8
MOV EDX,0x5
LEA RSI,[0x1055d7]
XOR EDI,EDI
CALL 0x00102160
MOV RSI,RBX
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00103540
XOR EAX,EAX
JMP 0x00102919
MOV EDX,0x5
LEA RSI,[0x1055ea]
JMP 0x00102b34
MOV RDI,R13
CALL 0x001023c0
JMP 0x00102978
LEA RSI,[0x1054b0]
XOR EDI,EDI
MOV EDX,0x5
CALL 0x00102160
MOV ESI,EBX
MOV RDI,RAX
XOR EAX,EAX
CALL 0x001034a0
(translation_unit "undefined ** FUN_00102480(uint param_1,undefined8 *param_2)\n\n{\n  bool bVar1;\n  int iVar2;\n  uint uVar3;\n  undefined4 uVar4;\n  ulong uVar5;\n  FILE *__stream;\n  int *piVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  undefined8 uVar9;\n  long lVar10;\n  byte *__filename;\n  char *pcVar11;\n  byte *pbVar12;\n  char *pcVar13;\n  byte *pbVar14;\n  undefined **ppuVar15;\n  undefined8 *puVar16;\n  bool bVar17;\n  bool bVar18;\n  byte bVar19;\n  undefined8 *local_e8;\n  int local_e0;\n  uint local_dc;\n  char *local_d8;\n  void *local_d0;\n  stat local_c8;\n  \n  bVar19 = 0;\n  __stream = (FILE *)0x0;\n  ppuVar15 = &PTR_DAT_00108260;\n  pcVar11 = "adfhHn:wot:e:T:s:Vv0123456789";\n  __filename = &DAT_00105674;\n  local_e8 = param_2;\n  local_dc = param_1;\n  setlocale(6,"");\n  bindtextdomain("binutils","/usr/share/locale");\n  textdomain("binutils");\n  DAT_00108478 = *local_e8;\n  xmalloc_set_program_name();\n  bfd_set_error_program_name(DAT_00108478);\n  FUN_001047f0(&local_dc,&local_e8);\n  DAT_0010843c = 's';\n  DAT_00108458 = 4;\n  DAT_00108454 = 0;\n  DAT_00108450 = 0;\n  DAT_0010844c = 0;\n  DAT_00108448 = 0;\n  DAT_00108440 = 0;\n  DAT_00108430 = 0;\n  do {\n    while (iVar2 = getopt_long(local_dc,local_e8,pcVar11,ppuVar15,0), iVar2 != -1) {\n      if (iVar2 - 0x3fU < 0x39) {\n                    /* WARNING: Could not recover jumptable at 0x0010259b. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        ppuVar15 = (undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))();\n        return ppuVar15;\n      }\n      __stream = (FILE *)(ulong)optind;\n    }\n    iVar2 = (int)__stream;\n    if (iVar2 != 0) {\n      uVar5 = strtoul((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0);\n      DAT_00108458 = (uint)uVar5;\n      if ((local_d8 != (char *)0x0) && (*local_d8 != '\0')) {\n        lVar10 = local_e8[(long)iVar2 + -1];\n        uVar9 = dcgettext(0,"invalid integer argument %s",5);\n                    /* WARNING: Subroutine does not return */\n        FUN_001034a0(uVar9,lVar10 + 1);\n      }\n    }\n    uVar3 = DAT_00108458;\n    __filename = (byte *)(ulong)DAT_00108458;\n    if ((int)DAT_00108458 < 1) {\n      uVar9 = dcgettext(0,"invalid minimum string length %d",5);\n                    /* WARNING: Subroutine does not return */\n      FUN_001034a0(uVar9,uVar3);\n    }\n    if ((byte)(DAT_0010843c + 0xbeU) < 0x32) {\n      uVar5 = 1L << (DAT_0010843c + 0xbeU & 0x3f);\n      if ((uVar5 & 0x401) == 0) {\n        if ((uVar5 & 0x40100000000) == 0) {\n          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;\n          DAT_00108438 = 1;\n        }\n        else {\n          DAT_00108438 = 2;\n        }\n      }\n      else {\n        DAT_00108438 = 4;\n      }\n      bfd_init();\n      FUN_001035e0();\n      if ((int)local_dc <= (int)optind) {\n        DAT_00108448 = 0;\n        FUN_00102ec0("{standard input}",stdin,0,0,0);\n        return (undefined **)0x0;\n      }\n      bVar1 = false;\n      bVar17 = false;\n      ppuVar15 = (undefined **)0x0;\n      bVar18 = true;\n      pcVar11 = "-";\n      do {\n        __filename = (byte *)local_e8[(int)optind];\n        lVar10 = 2;\n        pbVar12 = __filename;\n        pbVar14 = &DAT_001055d5;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar17 = *pbVar12 < *pbVar14;\n          bVar18 = *pbVar12 == *pbVar14;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n        } while (bVar18);\n        if ((!bVar17 && !bVar18) == bVar17) {\n          DAT_00108448 = 0;\n        }\n        else {\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }\n        optind = optind + 1;\n        bVar17 = optind < local_dc;\n        bVar18 = optind == local_dc;\n      } while ((int)optind < (int)local_dc);\n      if (bVar1) {\n        return ppuVar15;\n      }\n    }\nLAB_00102704:\n    FUN_00102dc0(stderr,1);\n    DAT_0010845c = 8;\n  } while( true );\n}\n\n" (function_definition "undefined ** FUN_00102480(uint param_1,undefined8 *param_2)\n\n{\n  bool bVar1;\n  int iVar2;\n  uint uVar3;\n  undefined4 uVar4;\n  ulong uVar5;\n  FILE *__stream;\n  int *piVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  undefined8 uVar9;\n  long lVar10;\n  byte *__filename;\n  char *pcVar11;\n  byte *pbVar12;\n  char *pcVar13;\n  byte *pbVar14;\n  undefined **ppuVar15;\n  undefined8 *puVar16;\n  bool bVar17;\n  bool bVar18;\n  byte bVar19;\n  undefined8 *local_e8;\n  int local_e0;\n  uint local_dc;\n  char *local_d8;\n  void *local_d0;\n  stat local_c8;\n  \n  bVar19 = 0;\n  __stream = (FILE *)0x0;\n  ppuVar15 = &PTR_DAT_00108260;\n  pcVar11 = "adfhHn:wot:e:T:s:Vv0123456789";\n  __filename = &DAT_00105674;\n  local_e8 = param_2;\n  local_dc = param_1;\n  setlocale(6,"");\n  bindtextdomain("binutils","/usr/share/locale");\n  textdomain("binutils");\n  DAT_00108478 = *local_e8;\n  xmalloc_set_program_name();\n  bfd_set_error_program_name(DAT_00108478);\n  FUN_001047f0(&local_dc,&local_e8);\n  DAT_0010843c = 's';\n  DAT_00108458 = 4;\n  DAT_00108454 = 0;\n  DAT_00108450 = 0;\n  DAT_0010844c = 0;\n  DAT_00108448 = 0;\n  DAT_00108440 = 0;\n  DAT_00108430 = 0;\n  do {\n    while (iVar2 = getopt_long(local_dc,local_e8,pcVar11,ppuVar15,0), iVar2 != -1) {\n      if (iVar2 - 0x3fU < 0x39) {\n                    /* WARNING: Could not recover jumptable at 0x0010259b. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        ppuVar15 = (undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))();\n        return ppuVar15;\n      }\n      __stream = (FILE *)(ulong)optind;\n    }\n    iVar2 = (int)__stream;\n    if (iVar2 != 0) {\n      uVar5 = strtoul((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0);\n      DAT_00108458 = (uint)uVar5;\n      if ((local_d8 != (char *)0x0) && (*local_d8 != '\0')) {\n        lVar10 = local_e8[(long)iVar2 + -1];\n        uVar9 = dcgettext(0,"invalid integer argument %s",5);\n                    /* WARNING: Subroutine does not return */\n        FUN_001034a0(uVar9,lVar10 + 1);\n      }\n    }\n    uVar3 = DAT_00108458;\n    __filename = (byte *)(ulong)DAT_00108458;\n    if ((int)DAT_00108458 < 1) {\n      uVar9 = dcgettext(0,"invalid minimum string length %d",5);\n                    /* WARNING: Subroutine does not return */\n      FUN_001034a0(uVar9,uVar3);\n    }\n    if ((byte)(DAT_0010843c + 0xbeU) < 0x32) {\n      uVar5 = 1L << (DAT_0010843c + 0xbeU & 0x3f);\n      if ((uVar5 & 0x401) == 0) {\n        if ((uVar5 & 0x40100000000) == 0) {\n          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;\n          DAT_00108438 = 1;\n        }\n        else {\n          DAT_00108438 = 2;\n        }\n      }\n      else {\n        DAT_00108438 = 4;\n      }\n      bfd_init();\n      FUN_001035e0();\n      if ((int)local_dc <= (int)optind) {\n        DAT_00108448 = 0;\n        FUN_00102ec0("{standard input}",stdin,0,0,0);\n        return (undefined **)0x0;\n      }\n      bVar1 = false;\n      bVar17 = false;\n      ppuVar15 = (undefined **)0x0;\n      bVar18 = true;\n      pcVar11 = "-";\n      do {\n        __filename = (byte *)local_e8[(int)optind];\n        lVar10 = 2;\n        pbVar12 = __filename;\n        pbVar14 = &DAT_001055d5;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar17 = *pbVar12 < *pbVar14;\n          bVar18 = *pbVar12 == *pbVar14;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n        } while (bVar18);\n        if ((!bVar17 && !bVar18) == bVar17) {\n          DAT_00108448 = 0;\n        }\n        else {\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }\n        optind = optind + 1;\n        bVar17 = optind < local_dc;\n        bVar18 = optind == local_dc;\n      } while ((int)optind < (int)local_dc);\n      if (bVar1) {\n        return ppuVar15;\n      }\n    }\nLAB_00102704:\n    FUN_00102dc0(stderr,1);\n    DAT_0010845c = 8;\n  } while( true );\n}" type_identifier (pointer_declarator "** FUN_00102480(uint param_1,undefined8 *param_2)" * (pointer_declarator "* FUN_00102480(uint param_1,undefined8 *param_2)" * (function_declarator "FUN_00102480(uint param_1,undefined8 *param_2)" identifier (parameter_list "(uint param_1,undefined8 *param_2)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "undefined8 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  uint uVar3;\n  undefined4 uVar4;\n  ulong uVar5;\n  FILE *__stream;\n  int *piVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  undefined8 uVar9;\n  long lVar10;\n  byte *__filename;\n  char *pcVar11;\n  byte *pbVar12;\n  char *pcVar13;\n  byte *pbVar14;\n  undefined **ppuVar15;\n  undefined8 *puVar16;\n  bool bVar17;\n  bool bVar18;\n  byte bVar19;\n  undefined8 *local_e8;\n  int local_e0;\n  uint local_dc;\n  char *local_d8;\n  void *local_d0;\n  stat local_c8;\n  \n  bVar19 = 0;\n  __stream = (FILE *)0x0;\n  ppuVar15 = &PTR_DAT_00108260;\n  pcVar11 = "adfhHn:wot:e:T:s:Vv0123456789";\n  __filename = &DAT_00105674;\n  local_e8 = param_2;\n  local_dc = param_1;\n  setlocale(6,"");\n  bindtextdomain("binutils","/usr/share/locale");\n  textdomain("binutils");\n  DAT_00108478 = *local_e8;\n  xmalloc_set_program_name();\n  bfd_set_error_program_name(DAT_00108478);\n  FUN_001047f0(&local_dc,&local_e8);\n  DAT_0010843c = 's';\n  DAT_00108458 = 4;\n  DAT_00108454 = 0;\n  DAT_00108450 = 0;\n  DAT_0010844c = 0;\n  DAT_00108448 = 0;\n  DAT_00108440 = 0;\n  DAT_00108430 = 0;\n  do {\n    while (iVar2 = getopt_long(local_dc,local_e8,pcVar11,ppuVar15,0), iVar2 != -1) {\n      if (iVar2 - 0x3fU < 0x39) {\n                    /* WARNING: Could not recover jumptable at 0x0010259b. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        ppuVar15 = (undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))();\n        return ppuVar15;\n      }\n      __stream = (FILE *)(ulong)optind;\n    }\n    iVar2 = (int)__stream;\n    if (iVar2 != 0) {\n      uVar5 = strtoul((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0);\n      DAT_00108458 = (uint)uVar5;\n      if ((local_d8 != (char *)0x0) && (*local_d8 != '\0')) {\n        lVar10 = local_e8[(long)iVar2 + -1];\n        uVar9 = dcgettext(0,"invalid integer argument %s",5);\n                    /* WARNING: Subroutine does not return */\n        FUN_001034a0(uVar9,lVar10 + 1);\n      }\n    }\n    uVar3 = DAT_00108458;\n    __filename = (byte *)(ulong)DAT_00108458;\n    if ((int)DAT_00108458 < 1) {\n      uVar9 = dcgettext(0,"invalid minimum string length %d",5);\n                    /* WARNING: Subroutine does not return */\n      FUN_001034a0(uVar9,uVar3);\n    }\n    if ((byte)(DAT_0010843c + 0xbeU) < 0x32) {\n      uVar5 = 1L << (DAT_0010843c + 0xbeU & 0x3f);\n      if ((uVar5 & 0x401) == 0) {\n        if ((uVar5 & 0x40100000000) == 0) {\n          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;\n          DAT_00108438 = 1;\n        }\n        else {\n          DAT_00108438 = 2;\n        }\n      }\n      else {\n        DAT_00108438 = 4;\n      }\n      bfd_init();\n      FUN_001035e0();\n      if ((int)local_dc <= (int)optind) {\n        DAT_00108448 = 0;\n        FUN_00102ec0("{standard input}",stdin,0,0,0);\n        return (undefined **)0x0;\n      }\n      bVar1 = false;\n      bVar17 = false;\n      ppuVar15 = (undefined **)0x0;\n      bVar18 = true;\n      pcVar11 = "-";\n      do {\n        __filename = (byte *)local_e8[(int)optind];\n        lVar10 = 2;\n        pbVar12 = __filename;\n        pbVar14 = &DAT_001055d5;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar17 = *pbVar12 < *pbVar14;\n          bVar18 = *pbVar12 == *pbVar14;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n        } while (bVar18);\n        if ((!bVar17 && !bVar18) == bVar17) {\n          DAT_00108448 = 0;\n        }\n        else {\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }\n        optind = optind + 1;\n        bVar17 = optind < local_dc;\n        bVar18 = optind == local_dc;\n      } while ((int)optind < (int)local_dc);\n      if (bVar1) {\n        return ppuVar15;\n      }\n    }\nLAB_00102704:\n    FUN_00102dc0(stderr,1);\n    DAT_0010845c = 8;\n  } while( true );\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "ulong uVar5;" type_identifier identifier ;) (declaration "FILE *__stream;" type_identifier (pointer_declarator "*__stream" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "undefined8 uVar7;" type_identifier identifier ;) (declaration "undefined8 uVar8;" type_identifier identifier ;) (declaration "undefined8 uVar9;" type_identifier identifier ;) (declaration "long lVar10;" (sized_type_specifier "long" long) identifier ;) (declaration "byte *__filename;" type_identifier (pointer_declarator "*__filename" * identifier) ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "byte *pbVar14;" type_identifier (pointer_declarator "*pbVar14" * identifier) ;) (declaration "undefined **ppuVar15;" type_identifier (pointer_declarator "**ppuVar15" * (pointer_declarator "*ppuVar15" * identifier)) ;) (declaration "undefined8 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "bool bVar17;" primitive_type identifier ;) (declaration "bool bVar18;" primitive_type identifier ;) (declaration "byte bVar19;" type_identifier identifier ;) (declaration "undefined8 *local_e8;" type_identifier (pointer_declarator "*local_e8" * identifier) ;) (declaration "int local_e0;" primitive_type identifier ;) (declaration "uint local_dc;" type_identifier identifier ;) (declaration "char *local_d8;" primitive_type (pointer_declarator "*local_d8" * identifier) ;) (declaration "void *local_d0;" primitive_type (pointer_declarator "*local_d0" * identifier) ;) (declaration "stat local_c8;" type_identifier identifier ;) (expression_statement "bVar19 = 0;" (assignment_expression "bVar19 = 0" identifier = number_literal) ;) (expression_statement "__stream = (FILE *)0x0;" (assignment_expression "__stream = (FILE *)0x0" identifier = (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppuVar15 = &PTR_DAT_00108260;" (assignment_expression "ppuVar15 = &PTR_DAT_00108260" identifier = (pointer_expression "&PTR_DAT_00108260" & identifier)) ;) (expression_statement "pcVar11 = "adfhHn:wot:e:T:s:Vv0123456789";" (assignment_expression "pcVar11 = "adfhHn:wot:e:T:s:Vv0123456789"" identifier = (string_literal ""adfhHn:wot:e:T:s:Vv0123456789"" " string_content ")) ;) (expression_statement "__filename = &DAT_00105674;" (assignment_expression "__filename = &DAT_00105674" identifier = (pointer_expression "&DAT_00105674" & identifier)) ;) (expression_statement "local_e8 = param_2;" (assignment_expression "local_e8 = param_2" identifier = identifier) ;) (expression_statement "local_dc = param_1;" (assignment_expression "local_dc = param_1" identifier = identifier) ;) (expression_statement "setlocale(6,"");" (call_expression "setlocale(6,"")" identifier (argument_list "(6,"")" ( number_literal , (string_literal """" " ") ))) ;) (expression_statement "bindtextdomain("binutils","/usr/share/locale");" (call_expression "bindtextdomain("binutils","/usr/share/locale")" identifier (argument_list "("binutils","/usr/share/locale")" ( (string_literal ""binutils"" " string_content ") , (string_literal ""/usr/share/locale"" " string_content ") ))) ;) (expression_statement "textdomain("binutils");" (call_expression "textdomain("binutils")" identifier (argument_list "("binutils")" ( (string_literal ""binutils"" " string_content ") ))) ;) (expression_statement "DAT_00108478 = *local_e8;" (assignment_expression "DAT_00108478 = *local_e8" identifier = (pointer_expression "*local_e8" * identifier)) ;) (expression_statement "xmalloc_set_program_name();" (call_expression "xmalloc_set_program_name()" identifier (argument_list "()" ( ))) ;) (expression_statement "bfd_set_error_program_name(DAT_00108478);" (call_expression "bfd_set_error_program_name(DAT_00108478)" identifier (argument_list "(DAT_00108478)" ( identifier ))) ;) (expression_statement "FUN_001047f0(&local_dc,&local_e8);" (call_expression "FUN_001047f0(&local_dc,&local_e8)" identifier (argument_list "(&local_dc,&local_e8)" ( (pointer_expression "&local_dc" & identifier) , (pointer_expression "&local_e8" & identifier) ))) ;) (expression_statement "DAT_0010843c = 's';" (assignment_expression "DAT_0010843c = 's'" identifier = (char_literal "'s'" ' character ')) ;) (expression_statement "DAT_00108458 = 4;" (assignment_expression "DAT_00108458 = 4" identifier = number_literal) ;) (expression_statement "DAT_00108454 = 0;" (assignment_expression "DAT_00108454 = 0" identifier = number_literal) ;) (expression_statement "DAT_00108450 = 0;" (assignment_expression "DAT_00108450 = 0" identifier = number_literal) ;) (expression_statement "DAT_0010844c = 0;" (assignment_expression "DAT_0010844c = 0" identifier = number_literal) ;) (expression_statement "DAT_00108448 = 0;" (assignment_expression "DAT_00108448 = 0" identifier = number_literal) ;) (expression_statement "DAT_00108440 = 0;" (assignment_expression "DAT_00108440 = 0" identifier = number_literal) ;) (expression_statement "DAT_00108430 = 0;" (assignment_expression "DAT_00108430 = 0" identifier = number_literal) ;) (do_statement "do {\n    while (iVar2 = getopt_long(local_dc,local_e8,pcVar11,ppuVar15,0), iVar2 != -1) {\n      if (iVar2 - 0x3fU < 0x39) {\n                    /* WARNING: Could not recover jumptable at 0x0010259b. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        ppuVar15 = (undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))();\n        return ppuVar15;\n      }\n      __stream = (FILE *)(ulong)optind;\n    }\n    iVar2 = (int)__stream;\n    if (iVar2 != 0) {\n      uVar5 = strtoul((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0);\n      DAT_00108458 = (uint)uVar5;\n      if ((local_d8 != (char *)0x0) && (*local_d8 != '\0')) {\n        lVar10 = local_e8[(long)iVar2 + -1];\n        uVar9 = dcgettext(0,"invalid integer argument %s",5);\n                    /* WARNING: Subroutine does not return */\n        FUN_001034a0(uVar9,lVar10 + 1);\n      }\n    }\n    uVar3 = DAT_00108458;\n    __filename = (byte *)(ulong)DAT_00108458;\n    if ((int)DAT_00108458 < 1) {\n      uVar9 = dcgettext(0,"invalid minimum string length %d",5);\n                    /* WARNING: Subroutine does not return */\n      FUN_001034a0(uVar9,uVar3);\n    }\n    if ((byte)(DAT_0010843c + 0xbeU) < 0x32) {\n      uVar5 = 1L << (DAT_0010843c + 0xbeU & 0x3f);\n      if ((uVar5 & 0x401) == 0) {\n        if ((uVar5 & 0x40100000000) == 0) {\n          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;\n          DAT_00108438 = 1;\n        }\n        else {\n          DAT_00108438 = 2;\n        }\n      }\n      else {\n        DAT_00108438 = 4;\n      }\n      bfd_init();\n      FUN_001035e0();\n      if ((int)local_dc <= (int)optind) {\n        DAT_00108448 = 0;\n        FUN_00102ec0("{standard input}",stdin,0,0,0);\n        return (undefined **)0x0;\n      }\n      bVar1 = false;\n      bVar17 = false;\n      ppuVar15 = (undefined **)0x0;\n      bVar18 = true;\n      pcVar11 = "-";\n      do {\n        __filename = (byte *)local_e8[(int)optind];\n        lVar10 = 2;\n        pbVar12 = __filename;\n        pbVar14 = &DAT_001055d5;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar17 = *pbVar12 < *pbVar14;\n          bVar18 = *pbVar12 == *pbVar14;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n        } while (bVar18);\n        if ((!bVar17 && !bVar18) == bVar17) {\n          DAT_00108448 = 0;\n        }\n        else {\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }\n        optind = optind + 1;\n        bVar17 = optind < local_dc;\n        bVar18 = optind == local_dc;\n      } while ((int)optind < (int)local_dc);\n      if (bVar1) {\n        return ppuVar15;\n      }\n    }\nLAB_00102704:\n    FUN_00102dc0(stderr,1);\n    DAT_0010845c = 8;\n  } while( true );" do (compound_statement "{\n    while (iVar2 = getopt_long(local_dc,local_e8,pcVar11,ppuVar15,0), iVar2 != -1) {\n      if (iVar2 - 0x3fU < 0x39) {\n                    /* WARNING: Could not recover jumptable at 0x0010259b. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        ppuVar15 = (undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))();\n        return ppuVar15;\n      }\n      __stream = (FILE *)(ulong)optind;\n    }\n    iVar2 = (int)__stream;\n    if (iVar2 != 0) {\n      uVar5 = strtoul((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0);\n      DAT_00108458 = (uint)uVar5;\n      if ((local_d8 != (char *)0x0) && (*local_d8 != '\0')) {\n        lVar10 = local_e8[(long)iVar2 + -1];\n        uVar9 = dcgettext(0,"invalid integer argument %s",5);\n                    /* WARNING: Subroutine does not return */\n        FUN_001034a0(uVar9,lVar10 + 1);\n      }\n    }\n    uVar3 = DAT_00108458;\n    __filename = (byte *)(ulong)DAT_00108458;\n    if ((int)DAT_00108458 < 1) {\n      uVar9 = dcgettext(0,"invalid minimum string length %d",5);\n                    /* WARNING: Subroutine does not return */\n      FUN_001034a0(uVar9,uVar3);\n    }\n    if ((byte)(DAT_0010843c + 0xbeU) < 0x32) {\n      uVar5 = 1L << (DAT_0010843c + 0xbeU & 0x3f);\n      if ((uVar5 & 0x401) == 0) {\n        if ((uVar5 & 0x40100000000) == 0) {\n          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;\n          DAT_00108438 = 1;\n        }\n        else {\n          DAT_00108438 = 2;\n        }\n      }\n      else {\n        DAT_00108438 = 4;\n      }\n      bfd_init();\n      FUN_001035e0();\n      if ((int)local_dc <= (int)optind) {\n        DAT_00108448 = 0;\n        FUN_00102ec0("{standard input}",stdin,0,0,0);\n        return (undefined **)0x0;\n      }\n      bVar1 = false;\n      bVar17 = false;\n      ppuVar15 = (undefined **)0x0;\n      bVar18 = true;\n      pcVar11 = "-";\n      do {\n        __filename = (byte *)local_e8[(int)optind];\n        lVar10 = 2;\n        pbVar12 = __filename;\n        pbVar14 = &DAT_001055d5;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar17 = *pbVar12 < *pbVar14;\n          bVar18 = *pbVar12 == *pbVar14;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n        } while (bVar18);\n        if ((!bVar17 && !bVar18) == bVar17) {\n          DAT_00108448 = 0;\n        }\n        else {\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }\n        optind = optind + 1;\n        bVar17 = optind < local_dc;\n        bVar18 = optind == local_dc;\n      } while ((int)optind < (int)local_dc);\n      if (bVar1) {\n        return ppuVar15;\n      }\n    }\nLAB_00102704:\n    FUN_00102dc0(stderr,1);\n    DAT_0010845c = 8;\n  }" { (while_statement "while (iVar2 = getopt_long(local_dc,local_e8,pcVar11,ppuVar15,0), iVar2 != -1) {\n      if (iVar2 - 0x3fU < 0x39) {\n                    /* WARNING: Could not recover jumptable at 0x0010259b. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        ppuVar15 = (undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))();\n        return ppuVar15;\n      }\n      __stream = (FILE *)(ulong)optind;\n    }" while (parenthesized_expression "(iVar2 = getopt_long(local_dc,local_e8,pcVar11,ppuVar15,0), iVar2 != -1)" ( (comma_expression "iVar2 = getopt_long(local_dc,local_e8,pcVar11,ppuVar15,0), iVar2 != -1" (assignment_expression "iVar2 = getopt_long(local_dc,local_e8,pcVar11,ppuVar15,0)" identifier = (call_expression "getopt_long(local_dc,local_e8,pcVar11,ppuVar15,0)" identifier (argument_list "(local_dc,local_e8,pcVar11,ppuVar15,0)" ( identifier , identifier , identifier , identifier , number_literal )))) , (binary_expression "iVar2 != -1" identifier != number_literal)) )) (compound_statement "{\n      if (iVar2 - 0x3fU < 0x39) {\n                    /* WARNING: Could not recover jumptable at 0x0010259b. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        ppuVar15 = (undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))();\n        return ppuVar15;\n      }\n      __stream = (FILE *)(ulong)optind;\n    }" { (if_statement "if (iVar2 - 0x3fU < 0x39) {\n                    /* WARNING: Could not recover jumptable at 0x0010259b. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        ppuVar15 = (undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))();\n        return ppuVar15;\n      }" if (parenthesized_expression "(iVar2 - 0x3fU < 0x39)" ( (binary_expression "iVar2 - 0x3fU < 0x39" (binary_expression "iVar2 - 0x3fU" identifier - number_literal) < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x0010259b. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        ppuVar15 = (undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))();\n        return ppuVar15;\n      }" { comment comment (expression_statement "ppuVar15 = (undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))();" (assignment_expression "ppuVar15 = (undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))()" identifier = (cast_expression "(undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))()" (parenthesized_expression "(*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))" ( (pointer_expression "*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4))" * (cast_expression "(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4))" ( (binary_expression "__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)" identifier + (pointer_expression "*(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)" * (cast_expression "(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__filename + (ulong)(iVar2 - 0x3fU) * 4)" ( (binary_expression "__filename + (ulong)(iVar2 - 0x3fU) * 4" identifier + (binary_expression "(ulong)(iVar2 - 0x3fU) * 4" (call_expression "(ulong)(iVar2 - 0x3fU)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar2 - 0x3fU)" ( (binary_expression "iVar2 - 0x3fU" identifier - number_literal) ))) * number_literal)) ))))) )))) )) (argument_list "()" ( ))))) ;) (return_statement "return ppuVar15;" return identifier ;) })) (expression_statement "__stream = (FILE *)(ulong)optind;" (assignment_expression "__stream = (FILE *)(ulong)optind" identifier = (cast_expression "(FILE *)(ulong)optind" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)optind" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) })) (expression_statement "iVar2 = (int)__stream;" (assignment_expression "iVar2 = (int)__stream" identifier = (cast_expression "(int)__stream" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (iVar2 != 0) {\n      uVar5 = strtoul((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0);\n      DAT_00108458 = (uint)uVar5;\n      if ((local_d8 != (char *)0x0) && (*local_d8 != '\0')) {\n        lVar10 = local_e8[(long)iVar2 + -1];\n        uVar9 = dcgettext(0,"invalid integer argument %s",5);\n                    /* WARNING: Subroutine does not return */\n        FUN_001034a0(uVar9,lVar10 + 1);\n      }\n    }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar5 = strtoul((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0);\n      DAT_00108458 = (uint)uVar5;\n      if ((local_d8 != (char *)0x0) && (*local_d8 != '\0')) {\n        lVar10 = local_e8[(long)iVar2 + -1];\n        uVar9 = dcgettext(0,"invalid integer argument %s",5);\n                    /* WARNING: Subroutine does not return */\n        FUN_001034a0(uVar9,lVar10 + 1);\n      }\n    }" { (expression_statement "uVar5 = strtoul((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0);" (assignment_expression "uVar5 = strtoul((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0)" identifier = (call_expression "strtoul((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0)" identifier (argument_list "((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0)" ( (cast_expression "(char *)(local_e8[(long)iVar2 + -1] + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_e8[(long)iVar2 + -1] + 1)" ( (binary_expression "local_e8[(long)iVar2 + -1] + 1" (subscript_expression "local_e8[(long)iVar2 + -1]" identifier [ (binary_expression "(long)iVar2 + -1" (cast_expression "(long)iVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ]) + number_literal) ))) , (pointer_expression "&local_d8" & identifier) , number_literal )))) ;) (expression_statement "DAT_00108458 = (uint)uVar5;" (assignment_expression "DAT_00108458 = (uint)uVar5" identifier = (cast_expression "(uint)uVar5" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((local_d8 != (char *)0x0) && (*local_d8 != '\0')) {\n        lVar10 = local_e8[(long)iVar2 + -1];\n        uVar9 = dcgettext(0,"invalid integer argument %s",5);\n                    /* WARNING: Subroutine does not return */\n        FUN_001034a0(uVar9,lVar10 + 1);\n      }" if (parenthesized_expression "((local_d8 != (char *)0x0) && (*local_d8 != '\0'))" ( (binary_expression "(local_d8 != (char *)0x0) && (*local_d8 != '\0')" (parenthesized_expression "(local_d8 != (char *)0x0)" ( (binary_expression "local_d8 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*local_d8 != '\0')" ( (binary_expression "*local_d8 != '\0'" (pointer_expression "*local_d8" * identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n        lVar10 = local_e8[(long)iVar2 + -1];\n        uVar9 = dcgettext(0,"invalid integer argument %s",5);\n                    /* WARNING: Subroutine does not return */\n        FUN_001034a0(uVar9,lVar10 + 1);\n      }" { (expression_statement "lVar10 = local_e8[(long)iVar2 + -1];" (assignment_expression "lVar10 = local_e8[(long)iVar2 + -1]" identifier = (subscript_expression "local_e8[(long)iVar2 + -1]" identifier [ (binary_expression "(long)iVar2 + -1" (cast_expression "(long)iVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ])) ;) (expression_statement "uVar9 = dcgettext(0,"invalid integer argument %s",5);" (assignment_expression "uVar9 = dcgettext(0,"invalid integer argument %s",5)" identifier = (call_expression "dcgettext(0,"invalid integer argument %s",5)" identifier (argument_list "(0,"invalid integer argument %s",5)" ( number_literal , (string_literal ""invalid integer argument %s"" " string_content ") , number_literal )))) ;) comment (expression_statement "FUN_001034a0(uVar9,lVar10 + 1);" (call_expression "FUN_001034a0(uVar9,lVar10 + 1)" identifier (argument_list "(uVar9,lVar10 + 1)" ( identifier , (binary_expression "lVar10 + 1" identifier + number_literal) ))) ;) })) })) (expression_statement "uVar3 = DAT_00108458;" (assignment_expression "uVar3 = DAT_00108458" identifier = identifier) ;) (expression_statement "__filename = (byte *)(ulong)DAT_00108458;" (assignment_expression "__filename = (byte *)(ulong)DAT_00108458" identifier = (cast_expression "(byte *)(ulong)DAT_00108458" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)DAT_00108458" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (if_statement "if ((int)DAT_00108458 < 1) {\n      uVar9 = dcgettext(0,"invalid minimum string length %d",5);\n                    /* WARNING: Subroutine does not return */\n      FUN_001034a0(uVar9,uVar3);\n    }" if (parenthesized_expression "((int)DAT_00108458 < 1)" ( (binary_expression "(int)DAT_00108458 < 1" (cast_expression "(int)DAT_00108458" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      uVar9 = dcgettext(0,"invalid minimum string length %d",5);\n                    /* WARNING: Subroutine does not return */\n      FUN_001034a0(uVar9,uVar3);\n    }" { (expression_statement "uVar9 = dcgettext(0,"invalid minimum string length %d",5);" (assignment_expression "uVar9 = dcgettext(0,"invalid minimum string length %d",5)" identifier = (call_expression "dcgettext(0,"invalid minimum string length %d",5)" identifier (argument_list "(0,"invalid minimum string length %d",5)" ( number_literal , (string_literal ""invalid minimum string length %d"" " string_content ") , number_literal )))) ;) comment (expression_statement "FUN_001034a0(uVar9,uVar3);" (call_expression "FUN_001034a0(uVar9,uVar3)" identifier (argument_list "(uVar9,uVar3)" ( identifier , identifier ))) ;) })) (if_statement "if ((byte)(DAT_0010843c + 0xbeU) < 0x32) {\n      uVar5 = 1L << (DAT_0010843c + 0xbeU & 0x3f);\n      if ((uVar5 & 0x401) == 0) {\n        if ((uVar5 & 0x40100000000) == 0) {\n          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;\n          DAT_00108438 = 1;\n        }\n        else {\n          DAT_00108438 = 2;\n        }\n      }\n      else {\n        DAT_00108438 = 4;\n      }\n      bfd_init();\n      FUN_001035e0();\n      if ((int)local_dc <= (int)optind) {\n        DAT_00108448 = 0;\n        FUN_00102ec0("{standard input}",stdin,0,0,0);\n        return (undefined **)0x0;\n      }\n      bVar1 = false;\n      bVar17 = false;\n      ppuVar15 = (undefined **)0x0;\n      bVar18 = true;\n      pcVar11 = "-";\n      do {\n        __filename = (byte *)local_e8[(int)optind];\n        lVar10 = 2;\n        pbVar12 = __filename;\n        pbVar14 = &DAT_001055d5;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar17 = *pbVar12 < *pbVar14;\n          bVar18 = *pbVar12 == *pbVar14;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n        } while (bVar18);\n        if ((!bVar17 && !bVar18) == bVar17) {\n          DAT_00108448 = 0;\n        }\n        else {\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }\n        optind = optind + 1;\n        bVar17 = optind < local_dc;\n        bVar18 = optind == local_dc;\n      } while ((int)optind < (int)local_dc);\n      if (bVar1) {\n        return ppuVar15;\n      }\n    }" if (parenthesized_expression "((byte)(DAT_0010843c + 0xbeU) < 0x32)" ( (binary_expression "(byte)(DAT_0010843c + 0xbeU) < 0x32" (call_expression "(byte)(DAT_0010843c + 0xbeU)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(DAT_0010843c + 0xbeU)" ( (binary_expression "DAT_0010843c + 0xbeU" identifier + number_literal) ))) < number_literal) )) (compound_statement "{\n      uVar5 = 1L << (DAT_0010843c + 0xbeU & 0x3f);\n      if ((uVar5 & 0x401) == 0) {\n        if ((uVar5 & 0x40100000000) == 0) {\n          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;\n          DAT_00108438 = 1;\n        }\n        else {\n          DAT_00108438 = 2;\n        }\n      }\n      else {\n        DAT_00108438 = 4;\n      }\n      bfd_init();\n      FUN_001035e0();\n      if ((int)local_dc <= (int)optind) {\n        DAT_00108448 = 0;\n        FUN_00102ec0("{standard input}",stdin,0,0,0);\n        return (undefined **)0x0;\n      }\n      bVar1 = false;\n      bVar17 = false;\n      ppuVar15 = (undefined **)0x0;\n      bVar18 = true;\n      pcVar11 = "-";\n      do {\n        __filename = (byte *)local_e8[(int)optind];\n        lVar10 = 2;\n        pbVar12 = __filename;\n        pbVar14 = &DAT_001055d5;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar17 = *pbVar12 < *pbVar14;\n          bVar18 = *pbVar12 == *pbVar14;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n        } while (bVar18);\n        if ((!bVar17 && !bVar18) == bVar17) {\n          DAT_00108448 = 0;\n        }\n        else {\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }\n        optind = optind + 1;\n        bVar17 = optind < local_dc;\n        bVar18 = optind == local_dc;\n      } while ((int)optind < (int)local_dc);\n      if (bVar1) {\n        return ppuVar15;\n      }\n    }" { (expression_statement "uVar5 = 1L << (DAT_0010843c + 0xbeU & 0x3f);" (assignment_expression "uVar5 = 1L << (DAT_0010843c + 0xbeU & 0x3f)" identifier = (binary_expression "1L << (DAT_0010843c + 0xbeU & 0x3f)" number_literal << (parenthesized_expression "(DAT_0010843c + 0xbeU & 0x3f)" ( (binary_expression "DAT_0010843c + 0xbeU & 0x3f" (binary_expression "DAT_0010843c + 0xbeU" identifier + number_literal) & number_literal) )))) ;) (if_statement "if ((uVar5 & 0x401) == 0) {\n        if ((uVar5 & 0x40100000000) == 0) {\n          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;\n          DAT_00108438 = 1;\n        }\n        else {\n          DAT_00108438 = 2;\n        }\n      }\n      else {\n        DAT_00108438 = 4;\n      }" if (parenthesized_expression "((uVar5 & 0x401) == 0)" ( (binary_expression "(uVar5 & 0x401) == 0" (parenthesized_expression "(uVar5 & 0x401)" ( (binary_expression "uVar5 & 0x401" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        if ((uVar5 & 0x40100000000) == 0) {\n          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;\n          DAT_00108438 = 1;\n        }\n        else {\n          DAT_00108438 = 2;\n        }\n      }" { (if_statement "if ((uVar5 & 0x40100000000) == 0) {\n          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;\n          DAT_00108438 = 1;\n        }\n        else {\n          DAT_00108438 = 2;\n        }" if (parenthesized_expression "((uVar5 & 0x40100000000) == 0)" ( (binary_expression "(uVar5 & 0x40100000000) == 0" (parenthesized_expression "(uVar5 & 0x40100000000)" ( (binary_expression "uVar5 & 0x40100000000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;\n          DAT_00108438 = 1;\n        }" { (if_statement "if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;" if (parenthesized_expression "((uVar5 & 0x2000000020000) == 0)" ( (binary_expression "(uVar5 & 0x2000000020000) == 0" (parenthesized_expression "(uVar5 & 0x2000000020000)" ( (binary_expression "uVar5 & 0x2000000020000" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00102704;" goto statement_identifier ;)) (expression_statement "DAT_00108438 = 1;" (assignment_expression "DAT_00108438 = 1" identifier = number_literal) ;) }) (else_clause "else {\n          DAT_00108438 = 2;\n        }" else (compound_statement "{\n          DAT_00108438 = 2;\n        }" { (expression_statement "DAT_00108438 = 2;" (assignment_expression "DAT_00108438 = 2" identifier = number_literal) ;) }))) }) (else_clause "else {\n        DAT_00108438 = 4;\n      }" else (compound_statement "{\n        DAT_00108438 = 4;\n      }" { (expression_statement "DAT_00108438 = 4;" (assignment_expression "DAT_00108438 = 4" identifier = number_literal) ;) }))) (expression_statement "bfd_init();" (call_expression "bfd_init()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_001035e0();" (call_expression "FUN_001035e0()" identifier (argument_list "()" ( ))) ;) (if_statement "if ((int)local_dc <= (int)optind) {\n        DAT_00108448 = 0;\n        FUN_00102ec0("{standard input}",stdin,0,0,0);\n        return (undefined **)0x0;\n      }" if (parenthesized_expression "((int)local_dc <= (int)optind)" ( (binary_expression "(int)local_dc <= (int)optind" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)optind" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        DAT_00108448 = 0;\n        FUN_00102ec0("{standard input}",stdin,0,0,0);\n        return (undefined **)0x0;\n      }" { (expression_statement "DAT_00108448 = 0;" (assignment_expression "DAT_00108448 = 0" identifier = number_literal) ;) (expression_statement "FUN_00102ec0("{standard input}",stdin,0,0,0);" (call_expression "FUN_00102ec0("{standard input}",stdin,0,0,0)" identifier (argument_list "("{standard input}",stdin,0,0,0)" ( (string_literal ""{standard input}"" " string_content ") , identifier , number_literal , number_literal , number_literal ))) ;) (return_statement "return (undefined **)0x0;" return (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) ;) })) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "bVar17 = false;" (assignment_expression "bVar17 = false" identifier = false) ;) (expression_statement "ppuVar15 = (undefined **)0x0;" (assignment_expression "ppuVar15 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "bVar18 = true;" (assignment_expression "bVar18 = true" identifier = true) ;) (expression_statement "pcVar11 = "-";" (assignment_expression "pcVar11 = "-"" identifier = (string_literal ""-"" " string_content ")) ;) (do_statement "do {\n        __filename = (byte *)local_e8[(int)optind];\n        lVar10 = 2;\n        pbVar12 = __filename;\n        pbVar14 = &DAT_001055d5;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar17 = *pbVar12 < *pbVar14;\n          bVar18 = *pbVar12 == *pbVar14;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n        } while (bVar18);\n        if ((!bVar17 && !bVar18) == bVar17) {\n          DAT_00108448 = 0;\n        }\n        else {\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }\n        optind = optind + 1;\n        bVar17 = optind < local_dc;\n        bVar18 = optind == local_dc;\n      } while ((int)optind < (int)local_dc);" do (compound_statement "{\n        __filename = (byte *)local_e8[(int)optind];\n        lVar10 = 2;\n        pbVar12 = __filename;\n        pbVar14 = &DAT_001055d5;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar17 = *pbVar12 < *pbVar14;\n          bVar18 = *pbVar12 == *pbVar14;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n        } while (bVar18);\n        if ((!bVar17 && !bVar18) == bVar17) {\n          DAT_00108448 = 0;\n        }\n        else {\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }\n        optind = optind + 1;\n        bVar17 = optind < local_dc;\n        bVar18 = optind == local_dc;\n      }" { (expression_statement "__filename = (byte *)local_e8[(int)optind];" (assignment_expression "__filename = (byte *)local_e8[(int)optind]" identifier = (cast_expression "(byte *)local_e8[(int)optind]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_e8[(int)optind]" identifier [ (cast_expression "(int)optind" ( (type_descriptor "int" primitive_type) ) identifier) ]))) ;) (expression_statement "lVar10 = 2;" (assignment_expression "lVar10 = 2" identifier = number_literal) ;) (expression_statement "pbVar12 = __filename;" (assignment_expression "pbVar12 = __filename" identifier = identifier) ;) (expression_statement "pbVar14 = &DAT_001055d5;" (assignment_expression "pbVar14 = &DAT_001055d5" identifier = (pointer_expression "&DAT_001055d5" & identifier)) ;) (do_statement "do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar17 = *pbVar12 < *pbVar14;\n          bVar18 = *pbVar12 == *pbVar14;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n        } while (bVar18);" do (compound_statement "{\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar17 = *pbVar12 < *pbVar14;\n          bVar18 = *pbVar12 == *pbVar14;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n        }" { (if_statement "if (lVar10 == 0) break;" if (parenthesized_expression "(lVar10 == 0)" ( (binary_expression "lVar10 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar10 = lVar10 + -1;" (assignment_expression "lVar10 = lVar10 + -1" identifier = (binary_expression "lVar10 + -1" identifier + number_literal)) ;) (expression_statement "bVar17 = *pbVar12 < *pbVar14;" (assignment_expression "bVar17 = *pbVar12 < *pbVar14" identifier = (binary_expression "*pbVar12 < *pbVar14" (pointer_expression "*pbVar12" * identifier) < (pointer_expression "*pbVar14" * identifier))) ;) (expression_statement "bVar18 = *pbVar12 == *pbVar14;" (assignment_expression "bVar18 = *pbVar12 == *pbVar14" identifier = (binary_expression "*pbVar12 == *pbVar14" (pointer_expression "*pbVar12" * identifier) == (pointer_expression "*pbVar14" * identifier))) ;) (expression_statement "pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;" (assignment_expression "pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1" identifier = (binary_expression "pbVar12 + (ulong)bVar19 * -2 + 1" (binary_expression "pbVar12 + (ulong)bVar19 * -2" identifier + (binary_expression "(ulong)bVar19 * -2" (cast_expression "(ulong)bVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;" (assignment_expression "pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1" identifier = (binary_expression "pbVar14 + (ulong)bVar19 * -2 + 1" (binary_expression "pbVar14 + (ulong)bVar19 * -2" identifier + (binary_expression "(ulong)bVar19 * -2" (cast_expression "(ulong)bVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar18)" ( identifier )) ;) (if_statement "if ((!bVar17 && !bVar18) == bVar17) {\n          DAT_00108448 = 0;\n        }\n        else {\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }" if (parenthesized_expression "((!bVar17 && !bVar18) == bVar17)" ( (binary_expression "(!bVar17 && !bVar18) == bVar17" (parenthesized_expression "(!bVar17 && !bVar18)" ( (binary_expression "!bVar17 && !bVar18" (unary_expression "!bVar17" ! identifier) && (unary_expression "!bVar18" ! identifier)) )) == identifier) )) (compound_statement "{\n          DAT_00108448 = 0;\n        }" { (expression_statement "DAT_00108448 = 0;" (assignment_expression "DAT_00108448 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }" else (compound_statement "{\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }" { (expression_statement "iVar2 = __xstat(1,(char *)__filename,&local_c8);" (assignment_expression "iVar2 = __xstat(1,(char *)__filename,&local_c8)" identifier = (call_expression "__xstat(1,(char *)__filename,&local_c8)" identifier (argument_list "(1,(char *)__filename,&local_c8)" ( number_literal , (cast_expression "(char *)__filename" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&local_c8" & identifier) )))) ;) (if_statement "if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }" { (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }" if (parenthesized_expression "(*piVar6 == 2)" ( (binary_expression "*piVar6 == 2" (pointer_expression "*piVar6" * identifier) == number_literal) )) (compound_statement "{\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }" { (expression_statement "pcVar13 = "\'%s\': No such file";" (assignment_expression "pcVar13 = "\'%s\': No such file"" identifier = (string_literal ""\'%s\': No such file"" " escape_sequence string_content escape_sequence string_content ")) ;) (goto_statement "goto LAB_00102b34;" goto statement_identifier ;) })) (expression_statement "__stream = (FILE *)strerror(*piVar6);" (assignment_expression "__stream = (FILE *)strerror(*piVar6)" identifier = (cast_expression "(FILE *)strerror(*piVar6)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "strerror(*piVar6)" identifier (argument_list "(*piVar6)" ( (pointer_expression "*piVar6" * identifier) ))))) ;) (expression_statement "uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);" (assignment_expression "uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5)" identifier = (call_expression "dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5)" identifier (argument_list "(0,"Warning: could not locate \'%s\'.  reason: %s",5)" ( number_literal , (string_literal ""Warning: could not locate \'%s\'.  reason: %s"" " string_content escape_sequence string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_00103540(uVar9,__filename,__stream);" (call_expression "FUN_00103540(uVar9,__filename,__stream)" identifier (argument_list "(uVar9,__filename,__stream)" ( identifier , identifier , identifier ))) ;) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" identifier = number_literal) ;) }) (else_clause "else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }" else (if_statement "if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }" if (parenthesized_expression "((local_c8.st_mode & 0xf000) == 0x4000)" ( (binary_expression "(local_c8.st_mode & 0xf000) == 0x4000" (parenthesized_expression "(local_c8.st_mode & 0xf000)" ( (binary_expression "local_c8.st_mode & 0xf000" (field_expression "local_c8.st_mode" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }" { (expression_statement "pcVar13 = "Warning: \'%s\' is a directory";" (assignment_expression "pcVar13 = "Warning: \'%s\' is a directory"" identifier = (string_literal ""Warning: \'%s\' is a directory"" " string_content escape_sequence string_content escape_sequence string_content ")) ;) (labeled_statement "LAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);" statement_identifier : (expression_statement "uVar9 = dcgettext(0,pcVar13,5);" (assignment_expression "uVar9 = dcgettext(0,pcVar13,5)" identifier = (call_expression "dcgettext(0,pcVar13,5)" identifier (argument_list "(0,pcVar13,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "FUN_00103540(uVar9,__filename);" (call_expression "FUN_00103540(uVar9,__filename)" identifier (argument_list "(uVar9,__filename)" ( identifier , identifier ))) ;) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" identifier = number_literal) ;) }) (else_clause "else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }" else (if_statement "if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }" if (parenthesized_expression "((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))" ( (binary_expression "(DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0)" (parenthesized_expression "(DAT_00108448 == 0)" ( (binary_expression "DAT_00108448 == 0" identifier == number_literal) )) || (parenthesized_expression "(__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0)" ( (comma_expression "__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0" (assignment_expression "__stream = (FILE *)bfd_openr(__filename,DAT_00108440)" identifier = (cast_expression "(FILE *)bfd_openr(__filename,DAT_00108440)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_openr(__filename,DAT_00108440)" identifier (argument_list "(__filename,DAT_00108440)" ( identifier , identifier ))))) , (binary_expression "__stream == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }" { (labeled_statement "LAB_00102978:\n            __stream = fopen((char *)__filename,"r");" statement_identifier : (expression_statement "__stream = fopen((char *)__filename,"r");" (assignment_expression "__stream = fopen((char *)__filename,"r")" identifier = (call_expression "fopen((char *)__filename,"r")" identifier (argument_list "((char *)__filename,"r")" ( (cast_expression "(char *)__filename" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""r"" " string_content ") )))) ;)) (if_statement "if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }" if (parenthesized_expression "(__stream != (FILE *)0x0)" ( (binary_expression "__stream != (FILE *)0x0" identifier != (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }" { (expression_statement "FUN_00102ec0(__filename,__stream,0,0);" (call_expression "FUN_00102ec0(__filename,__stream,0,0)" identifier (argument_list "(__filename,__stream,0,0)" ( identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "iVar2 = fclose(__stream);" (assignment_expression "iVar2 = fclose(__stream)" identifier = (call_expression "fclose(__stream)" identifier (argument_list "(__stream)" ( identifier )))) ;) (if_statement "if (iVar2 != -1) goto LAB_00102914;" if (parenthesized_expression "(iVar2 != -1)" ( (binary_expression "iVar2 != -1" identifier != number_literal) )) (goto_statement "goto LAB_00102914;" goto statement_identifier ;)) })) (expression_statement "fprintf(stderr,"%s: ",DAT_00108478);" (call_expression "fprintf(stderr,"%s: ",DAT_00108478)" identifier (argument_list "(stderr,"%s: ",DAT_00108478)" ( identifier , (string_literal ""%s: "" " string_content ") , identifier ))) ;) (expression_statement "perror((char *)__filename);" (call_expression "perror((char *)__filename)" identifier (argument_list "((char *)__filename)" ( (cast_expression "(char *)__filename" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }" else (compound_statement "{\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }" { (expression_statement "iVar2 = bfd_check_format(__stream,1);" (assignment_expression "iVar2 = bfd_check_format(__stream,1)" identifier = (call_expression "bfd_check_format(__stream,1)" identifier (argument_list "(__stream,1)" ( identifier , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }" { (expression_statement "bfd_close(__stream);" (call_expression "bfd_close(__stream)" identifier (argument_list "(__stream)" ( identifier ))) ;) (goto_statement "goto LAB_00102978;" goto statement_identifier ;) })) (expression_statement "puVar16 = (undefined8 *)__stream->_offset;" (assignment_expression "puVar16 = (undefined8 *)__stream->_offset" identifier = (cast_expression "(undefined8 *)__stream->_offset" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "__stream->_offset" identifier -> field_identifier))) ;) (if_statement "if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }" if (parenthesized_expression "(puVar16 == (undefined8 *)0x0)" ( (binary_expression "puVar16 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }" { (expression_statement "iVar2 = bfd_close(__stream);" (assignment_expression "iVar2 = bfd_close(__stream)" identifier = (call_expression "bfd_close(__stream)" identifier (argument_list "(__stream)" ( identifier )))) ;) (if_statement "if (iVar2 == 0) goto LAB_00102969;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00102969;" goto statement_identifier ;)) (goto_statement "goto LAB_00102978;" goto statement_identifier ;) })) (expression_statement "local_e0 = 0;" (assignment_expression "local_e0 = 0" identifier = number_literal) ;) (do_statement "do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);" do (compound_statement "{\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            }" { (if_statement "if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }" if (parenthesized_expression "(((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0))" ( (binary_expression "((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)" (parenthesized_expression "((*(uint *)(puVar16 + 4) & 0x103) == 0x103)" ( (binary_expression "(*(uint *)(puVar16 + 4) & 0x103) == 0x103" (parenthesized_expression "(*(uint *)(puVar16 + 4) & 0x103)" ( (binary_expression "*(uint *)(puVar16 + 4) & 0x103" (pointer_expression "*(uint *)(puVar16 + 4)" * (cast_expression "(uint *)(puVar16 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 4)" ( (binary_expression "puVar16 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(puVar16[7] != 0)" ( (binary_expression "puVar16[7] != 0" (subscript_expression "puVar16[7]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }" { (expression_statement "iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);" (assignment_expression "iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0)" identifier = (call_expression "bfd_malloc_and_get_section(__stream,puVar16,&local_d0)" identifier (argument_list "(__stream,puVar16,&local_d0)" ( identifier , identifier , (pointer_expression "&local_d0" & identifier) )))) ;) (if_statement "if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }" { (expression_statement "uVar4 = bfd_get_error();" (assignment_expression "uVar4 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar7 = bfd_errmsg(uVar4);" (assignment_expression "uVar7 = bfd_errmsg(uVar4)" identifier = (call_expression "bfd_errmsg(uVar4)" identifier (argument_list "(uVar4)" ( identifier )))) ;) (expression_statement "uVar9 = *puVar16;" (assignment_expression "uVar9 = *puVar16" identifier = (pointer_expression "*puVar16" * identifier)) ;) (expression_statement "uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);" (assignment_expression "uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5)" identifier = (call_expression "dcgettext(0,"%s: Reading section %s failed: %s",5)" identifier (argument_list "(0,"%s: Reading section %s failed: %s",5)" ( number_literal , (string_literal ""%s: Reading section %s failed: %s"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_00103540(uVar8,__filename,uVar9,uVar7);" (call_expression "FUN_00103540(uVar8,__filename,uVar9,uVar7)" identifier (argument_list "(uVar8,__filename,uVar9,uVar7)" ( identifier , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }" else (compound_statement "{\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }" { (expression_statement "FUN_00102ec0(__filename,0,puVar16[0x12]);" (call_expression "FUN_00102ec0(__filename,0,puVar16[0x12])" identifier (argument_list "(__filename,0,puVar16[0x12])" ( identifier , number_literal , (subscript_expression "puVar16[0x12]" identifier [ number_literal ]) ))) ;) (expression_statement "free(local_d0);" (call_expression "free(local_d0)" identifier (argument_list "(local_d0)" ( identifier ))) ;) (expression_statement "local_e0 = 1;" (assignment_expression "local_e0 = 1" identifier = number_literal) ;) }))) })) (expression_statement "puVar16 = (undefined8 *)puVar16[2];" (assignment_expression "puVar16 = (undefined8 *)puVar16[2]" identifier = (cast_expression "(undefined8 *)puVar16[2]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar16[2]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "(puVar16 != (undefined8 *)0x0)" ( (binary_expression "puVar16 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "iVar2 = bfd_close(__stream);" (assignment_expression "iVar2 = bfd_close(__stream)" identifier = (call_expression "bfd_close(__stream)" identifier (argument_list "(__stream)" ( identifier )))) ;) (if_statement "if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }" { (labeled_statement "LAB_00102969:\n              FUN_001031f0(__filename);" statement_identifier : (expression_statement "FUN_001031f0(__filename);" (call_expression "FUN_001031f0(__filename)" identifier (argument_list "(__filename)" ( identifier ))) ;)) (goto_statement "goto LAB_00102978;" goto statement_identifier ;) })) (if_statement "if (local_e0 == 0) goto LAB_00102978;" if (parenthesized_expression "(local_e0 == 0)" ( (binary_expression "local_e0 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00102978;" goto statement_identifier ;)) (labeled_statement "LAB_00102914:\n            uVar3 = 1;" statement_identifier : (expression_statement "uVar3 = 1;" (assignment_expression "uVar3 = 1" identifier = number_literal) ;)) }))))))) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);" (assignment_expression "ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1)" identifier = (cast_expression "(undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(ulong)((uint)ppuVar15 | uVar3 ^ 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)ppuVar15 | uVar3 ^ 1)" ( (binary_expression "(uint)ppuVar15 | uVar3 ^ 1" (cast_expression "(uint)ppuVar15" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "uVar3 ^ 1" identifier ^ number_literal)) ))))) ;) }))) (expression_statement "optind = optind + 1;" (assignment_expression "optind = optind + 1" identifier = (binary_expression "optind + 1" identifier + number_literal)) ;) (expression_statement "bVar17 = optind < local_dc;" (assignment_expression "bVar17 = optind < local_dc" identifier = (binary_expression "optind < local_dc" identifier < identifier)) ;) (expression_statement "bVar18 = optind == local_dc;" (assignment_expression "bVar18 = optind == local_dc" identifier = (binary_expression "optind == local_dc" identifier == identifier)) ;) }) while (parenthesized_expression "((int)optind < (int)local_dc)" ( (binary_expression "(int)optind < (int)local_dc" (cast_expression "(int)optind" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (if_statement "if (bVar1) {\n        return ppuVar15;\n      }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n        return ppuVar15;\n      }" { (return_statement "return ppuVar15;" return identifier ;) })) })) (labeled_statement "LAB_00102704:\n    FUN_00102dc0(stderr,1);" statement_identifier : (expression_statement "FUN_00102dc0(stderr,1);" (call_expression "FUN_00102dc0(stderr,1)" identifier (argument_list "(stderr,1)" ( identifier , number_literal ))) ;)) (expression_statement "DAT_0010845c = 8;" (assignment_expression "DAT_0010845c = 8" identifier = number_literal) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "int main(int argc,char **argv)\n\n{\n  char cVar1;\n  byte *__filename;\n  long lVar2;\n  undefined8 uVar3;\n  bool bVar4;\n  int iVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  ulong uVar8;\n  FILE *__stream;\n  int *piVar9;\n  char *pcVar10;\n  char *pcVar11;\n  long lVar12;\n  byte *pbVar13;\n  byte *pbVar14;\n  char *in_R9;\n  uint uVar15;\n  undefined8 *puVar16;\n  bool bVar17;\n  bool bVar18;\n  byte bVar19;\n  char **local_e8;\n  int local_e0;\n  uint local_dc;\n  char *s;\n  bfd_byte *mem;\n  stat st;\n  \n  bVar19 = 0;\n  local_e8 = argv;\n  local_dc = argc;\n  setlocale(6,"");\n  bindtextdomain("binutils","/usr/share/locale");\n  textdomain("binutils");\n  program_name = *local_e8;\n  xmalloc_set_program_name();\n  bfd_set_error_program_name(program_name);\n  expandargv((int *)&local_dc,&local_e8);\n  encoding = 's';\n  string_min = 4;\n  include_all_whitespace = 0;\n  print_addresses = 0;\n  print_filenames = 0;\n  datasection_only = 0;\n  target = (char *)0x0;\n  output_separator = (char *)0x0;\n  uVar15 = 0;\n  do {\n    iVar5 = getopt_long(local_dc,local_e8,"adfhHn:wot:e:T:s:Vv0123456789",long_options);\n    if (iVar5 == -1) {\n      if (uVar15 != 0) {\n        uVar8 = strtoul(local_e8[(long)(int)uVar15 + -1] + 1,&s,0);\n        string_min = (int)uVar8;\n        if ((s != (char *)0x0) && (*s != '\0')) {\n          pcVar11 = local_e8[(long)(int)uVar15 + -1] + 1;\n          goto LAB_00102ab1;\n        }\n      }\n      iVar5 = string_min;\n      if (string_min < 1) {\n        pcVar11 = (char *)dcgettext(0,"invalid minimum string length %d",5);\n                    /* WARNING: Subroutine does not return */\n        fatal(pcVar11,(ulong)(uint)iVar5);\n      }\n      if (0x31 < (byte)(encoding + 0xbeU)) goto switchD_0010259b_caseD_3f;\n      uVar8 = 1L << (encoding + 0xbeU & 0x3f);\n      if ((uVar8 & 0x401) == 0) {\n        if ((uVar8 & 0x40100000000) == 0) {\n          if ((uVar8 & 0x2000000020000) == 0) goto switchD_0010259b_caseD_3f;\n          encoding_bytes = 1;\n        }\n        else {\n          encoding_bytes = 2;\n        }\n      }\n      else {\n        encoding_bytes = 4;\n      }\n      bfd_init();\n      set_default_bfd_target();\n      if ((int)local_dc <= (int)optind) {\n        datasection_only = 0;\n        print_strings("{standard input}",stdin,0,0,0,in_R9);\n        return 0;\n      }\n      bVar4 = false;\n      bVar17 = false;\n      uVar15 = 0;\n      bVar18 = true;\n      break;\n    }\n    switch(iVar5) {\n    case 0x3f:\n      goto switchD_0010259b_caseD_3f;\n    default:\n      uVar15 = optind;\n      break;\n    case 0x48:\n    case 0x68:\n                    /* WARNING: Subroutine does not return */\n      usage(stdout,0);\n    case 0x54:\n      target = optarg;\n      break;\n    case 0x56:\n    case 0x76:\n      print_version("strings");\n      break;\n    case 0x61:\n      datasection_only = 0;\n      break;\n    case 100:\n      datasection_only = 1;\n      break;\n    case 0x65:\n      if (optarg[1] != '\0') goto switchD_0010259b_caseD_3f;\n      encoding = *optarg;\n      break;\n    case 0x66:\n      print_filenames = 1;\n      break;\n    case 0x6e:\n      uVar8 = strtoul(optarg,&s,0);\n      string_min = (int)uVar8;\n      if ((s != (char *)0x0) && (pcVar11 = optarg, *s != '\0')) {\nLAB_00102ab1:\n        pcVar10 = (char *)dcgettext(0,"invalid integer argument %s",5);\n                    /* WARNING: Subroutine does not return */\n        fatal(pcVar10,pcVar11);\n      }\n      break;\n    case 0x6f:\n      print_addresses = 1;\n      address_radix = 8;\n      break;\n    case 0x73:\n      output_separator = optarg;\n      break;\n    case 0x74:\n      print_addresses = 1;\n      if (optarg[1] != '\0') goto switchD_0010259b_caseD_3f;\n      cVar1 = *optarg;\n      if (cVar1 == 'o') {\n        address_radix = 8;\n      }\n      else if (cVar1 == 'x') {\n        address_radix = 0x10;\n      }\n      else {\n        if (cVar1 != 'd') goto switchD_0010259b_caseD_3f;\n        address_radix = 10;\n      }\n      break;\n    case 0x77:\n      include_all_whitespace = 1;\n    }\n  } while( true );\nLAB_001027e3:\n  __filename = (byte *)local_e8[(int)optind];\n  lVar12 = 2;\n  pbVar13 = __filename;\n  pbVar14 = &DAT_001055d5;\n  do {\n    if (lVar12 == 0) break;\n    lVar12 = lVar12 + -1;\n    bVar17 = *pbVar13 < *pbVar14;\n    bVar18 = *pbVar13 == *pbVar14;\n    pbVar13 = pbVar13 + (ulong)bVar19 * -2 + 1;\n    pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n  } while (bVar18);\n  if ((!bVar17 && !bVar18) == bVar17) {\n    datasection_only = 0;\n  }\n  else {\n    iVar5 = __xstat(1,(char *)__filename,(stat *)&st);\n    if (iVar5 < 0) {\n      piVar9 = __errno_location();\n      if (*piVar9 == 2) {\n        pcVar11 = "\'%s\': No such file";\n        goto LAB_00102b34;\n      }\n      pcVar11 = strerror(*piVar9);\n      pcVar10 = (char *)dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n      non_fatal(pcVar10,__filename,pcVar11);\n      uVar6 = 0;\n    }\n    else if ((st.st_mode & 0xf000) == 0x4000) {\n      pcVar11 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n      pcVar11 = (char *)dcgettext(0,pcVar11,5);\n      non_fatal(pcVar11,__filename);\n      uVar6 = 0;\n    }\n    else if ((datasection_only == 0) || (lVar12 = bfd_openr(__filename,target), lVar12 == 0)) {\nLAB_00102978:\n      __stream = fopen((char *)__filename,"r");\n      if (__stream != (FILE *)0x0) {\n        print_strings((char *)__filename,(FILE *)__stream,0,0,0,in_R9);\n        iVar5 = fclose(__stream);\n        if (iVar5 != -1) goto LAB_00102914;\n      }\n      fprintf(stderr,"%s: ",program_name);\n      perror((char *)__filename);\n      uVar6 = 0;\n    }\n    else {\n      iVar5 = bfd_check_format(lVar12,1);\n      if (iVar5 == 0) {\n        bfd_close(lVar12);\n        goto LAB_00102978;\n      }\n      puVar16 = *(undefined8 **)(lVar12 + 0x90);\n      if (puVar16 == (undefined8 *)0x0) {\n        iVar5 = bfd_close(lVar12);\n        if (iVar5 == 0) goto LAB_00102969;\n        goto LAB_00102978;\n      }\n      local_e0 = 0;\n      do {\n        if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (lVar2 = puVar16[7], lVar2 != 0)) {\n          iVar5 = bfd_malloc_and_get_section(lVar12,puVar16,&mem);\n          if (iVar5 == 0) {\n            uVar7 = bfd_get_error();\n            bfd_errmsg(uVar7);\n            uVar3 = *puVar16;\n            pcVar11 = (char *)dcgettext(0,"%s: Reading section %s failed: %s",5);\n            non_fatal(pcVar11,__filename,uVar3);\n          }\n          else {\n            print_strings((char *)__filename,(FILE *)0x0,puVar16[0x12],(int)lVar2,(int)mem,in_R9);\n            free(mem);\n            local_e0 = 1;\n          }\n        }\n        puVar16 = (undefined8 *)puVar16[2];\n      } while (puVar16 != (undefined8 *)0x0);\n      iVar5 = bfd_close(lVar12);\n      if (iVar5 == 0) {\nLAB_00102969:\n        bfd_nonfatal((char *)__filename);\n        goto LAB_00102978;\n      }\n      if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n      uVar6 = 1;\n    }\n    bVar4 = true;\n    uVar15 = uVar15 | uVar6 ^ 1;\n  }\n  optind = optind + 1;\n  bVar17 = optind < local_dc;\n  bVar18 = optind == local_dc;\n  if ((int)local_dc <= (int)optind) {\n    if (bVar4) {\n      return uVar15;\n    }\nswitchD_0010259b_caseD_3f:\n                    /* WARNING: Subroutine does not return */\n    usage((FILE *)stderr,1);\n  }\n  goto LAB_001027e3;\n}\n\n" (function_definition "int main(int argc,char **argv)\n\n{\n  char cVar1;\n  byte *__filename;\n  long lVar2;\n  undefined8 uVar3;\n  bool bVar4;\n  int iVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  ulong uVar8;\n  FILE *__stream;\n  int *piVar9;\n  char *pcVar10;\n  char *pcVar11;\n  long lVar12;\n  byte *pbVar13;\n  byte *pbVar14;\n  char *in_R9;\n  uint uVar15;\n  undefined8 *puVar16;\n  bool bVar17;\n  bool bVar18;\n  byte bVar19;\n  char **local_e8;\n  int local_e0;\n  uint local_dc;\n  char *s;\n  bfd_byte *mem;\n  stat st;\n  \n  bVar19 = 0;\n  local_e8 = argv;\n  local_dc = argc;\n  setlocale(6,"");\n  bindtextdomain("binutils","/usr/share/locale");\n  textdomain("binutils");\n  program_name = *local_e8;\n  xmalloc_set_program_name();\n  bfd_set_error_program_name(program_name);\n  expandargv((int *)&local_dc,&local_e8);\n  encoding = 's';\n  string_min = 4;\n  include_all_whitespace = 0;\n  print_addresses = 0;\n  print_filenames = 0;\n  datasection_only = 0;\n  target = (char *)0x0;\n  output_separator = (char *)0x0;\n  uVar15 = 0;\n  do {\n    iVar5 = getopt_long(local_dc,local_e8,"adfhHn:wot:e:T:s:Vv0123456789",long_options);\n    if (iVar5 == -1) {\n      if (uVar15 != 0) {\n        uVar8 = strtoul(local_e8[(long)(int)uVar15 + -1] + 1,&s,0);\n        string_min = (int)uVar8;\n        if ((s != (char *)0x0) && (*s != '\0')) {\n          pcVar11 = local_e8[(long)(int)uVar15 + -1] + 1;\n          goto LAB_00102ab1;\n        }\n      }\n      iVar5 = string_min;\n      if (string_min < 1) {\n        pcVar11 = (char *)dcgettext(0,"invalid minimum string length %d",5);\n                    /* WARNING: Subroutine does not return */\n        fatal(pcVar11,(ulong)(uint)iVar5);\n      }\n      if (0x31 < (byte)(encoding + 0xbeU)) goto switchD_0010259b_caseD_3f;\n      uVar8 = 1L << (encoding + 0xbeU & 0x3f);\n      if ((uVar8 & 0x401) == 0) {\n        if ((uVar8 & 0x40100000000) == 0) {\n          if ((uVar8 & 0x2000000020000) == 0) goto switchD_0010259b_caseD_3f;\n          encoding_bytes = 1;\n        }\n        else {\n          encoding_bytes = 2;\n        }\n      }\n      else {\n        encoding_bytes = 4;\n      }\n      bfd_init();\n      set_default_bfd_target();\n      if ((int)local_dc <= (int)optind) {\n        datasection_only = 0;\n        print_strings("{standard input}",stdin,0,0,0,in_R9);\n        return 0;\n      }\n      bVar4 = false;\n      bVar17 = false;\n      uVar15 = 0;\n      bVar18 = true;\n      break;\n    }\n    switch(iVar5) {\n    case 0x3f:\n      goto switchD_0010259b_caseD_3f;\n    default:\n      uVar15 = optind;\n      break;\n    case 0x48:\n    case 0x68:\n                    /* WARNING: Subroutine does not return */\n      usage(stdout,0);\n    case 0x54:\n      target = optarg;\n      break;\n    case 0x56:\n    case 0x76:\n      print_version("strings");\n      break;\n    case 0x61:\n      datasection_only = 0;\n      break;\n    case 100:\n      datasection_only = 1;\n      break;\n    case 0x65:\n      if (optarg[1] != '\0') goto switchD_0010259b_caseD_3f;\n      encoding = *optarg;\n      break;\n    case 0x66:\n      print_filenames = 1;\n      break;\n    case 0x6e:\n      uVar8 = strtoul(optarg,&s,0);\n      string_min = (int)uVar8;\n      if ((s != (char *)0x0) && (pcVar11 = optarg, *s != '\0')) {\nLAB_00102ab1:\n        pcVar10 = (char *)dcgettext(0,"invalid integer argument %s",5);\n                    /* WARNING: Subroutine does not return */\n        fatal(pcVar10,pcVar11);\n      }\n      break;\n    case 0x6f:\n      print_addresses = 1;\n      address_radix = 8;\n      break;\n    case 0x73:\n      output_separator = optarg;\n      break;\n    case 0x74:\n      print_addresses = 1;\n      if (optarg[1] != '\0') goto switchD_0010259b_caseD_3f;\n      cVar1 = *optarg;\n      if (cVar1 == 'o') {\n        address_radix = 8;\n      }\n      else if (cVar1 == 'x') {\n        address_radix = 0x10;\n      }\n      else {\n        if (cVar1 != 'd') goto switchD_0010259b_caseD_3f;\n        address_radix = 10;\n      }\n      break;\n    case 0x77:\n      include_all_whitespace = 1;\n    }\n  } while( true );\nLAB_001027e3:\n  __filename = (byte *)local_e8[(int)optind];\n  lVar12 = 2;\n  pbVar13 = __filename;\n  pbVar14 = &DAT_001055d5;\n  do {\n    if (lVar12 == 0) break;\n    lVar12 = lVar12 + -1;\n    bVar17 = *pbVar13 < *pbVar14;\n    bVar18 = *pbVar13 == *pbVar14;\n    pbVar13 = pbVar13 + (ulong)bVar19 * -2 + 1;\n    pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n  } while (bVar18);\n  if ((!bVar17 && !bVar18) == bVar17) {\n    datasection_only = 0;\n  }\n  else {\n    iVar5 = __xstat(1,(char *)__filename,(stat *)&st);\n    if (iVar5 < 0) {\n      piVar9 = __errno_location();\n      if (*piVar9 == 2) {\n        pcVar11 = "\'%s\': No such file";\n        goto LAB_00102b34;\n      }\n      pcVar11 = strerror(*piVar9);\n      pcVar10 = (char *)dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n      non_fatal(pcVar10,__filename,pcVar11);\n      uVar6 = 0;\n    }\n    else if ((st.st_mode & 0xf000) == 0x4000) {\n      pcVar11 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n      pcVar11 = (char *)dcgettext(0,pcVar11,5);\n      non_fatal(pcVar11,__filename);\n      uVar6 = 0;\n    }\n    else if ((datasection_only == 0) || (lVar12 = bfd_openr(__filename,target), lVar12 == 0)) {\nLAB_00102978:\n      __stream = fopen((char *)__filename,"r");\n      if (__stream != (FILE *)0x0) {\n        print_strings((char *)__filename,(FILE *)__stream,0,0,0,in_R9);\n        iVar5 = fclose(__stream);\n        if (iVar5 != -1) goto LAB_00102914;\n      }\n      fprintf(stderr,"%s: ",program_name);\n      perror((char *)__filename);\n      uVar6 = 0;\n    }\n    else {\n      iVar5 = bfd_check_format(lVar12,1);\n      if (iVar5 == 0) {\n        bfd_close(lVar12);\n        goto LAB_00102978;\n      }\n      puVar16 = *(undefined8 **)(lVar12 + 0x90);\n      if (puVar16 == (undefined8 *)0x0) {\n        iVar5 = bfd_close(lVar12);\n        if (iVar5 == 0) goto LAB_00102969;\n        goto LAB_00102978;\n      }\n      local_e0 = 0;\n      do {\n        if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (lVar2 = puVar16[7], lVar2 != 0)) {\n          iVar5 = bfd_malloc_and_get_section(lVar12,puVar16,&mem);\n          if (iVar5 == 0) {\n            uVar7 = bfd_get_error();\n            bfd_errmsg(uVar7);\n            uVar3 = *puVar16;\n            pcVar11 = (char *)dcgettext(0,"%s: Reading section %s failed: %s",5);\n            non_fatal(pcVar11,__filename,uVar3);\n          }\n          else {\n            print_strings((char *)__filename,(FILE *)0x0,puVar16[0x12],(int)lVar2,(int)mem,in_R9);\n            free(mem);\n            local_e0 = 1;\n          }\n        }\n        puVar16 = (undefined8 *)puVar16[2];\n      } while (puVar16 != (undefined8 *)0x0);\n      iVar5 = bfd_close(lVar12);\n      if (iVar5 == 0) {\nLAB_00102969:\n        bfd_nonfatal((char *)__filename);\n        goto LAB_00102978;\n      }\n      if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n      uVar6 = 1;\n    }\n    bVar4 = true;\n    uVar15 = uVar15 | uVar6 ^ 1;\n  }\n  optind = optind + 1;\n  bVar17 = optind < local_dc;\n  bVar18 = optind == local_dc;\n  if ((int)local_dc <= (int)optind) {\n    if (bVar4) {\n      return uVar15;\n    }\nswitchD_0010259b_caseD_3f:\n                    /* WARNING: Subroutine does not return */\n    usage((FILE *)stderr,1);\n  }\n  goto LAB_001027e3;\n}" primitive_type (function_declarator "main(int argc,char **argv)" identifier (parameter_list "(int argc,char **argv)" ( (parameter_declaration "int argc" primitive_type identifier) , (parameter_declaration "char **argv" primitive_type (pointer_declarator "**argv" * (pointer_declarator "*argv" * identifier))) ))) (compound_statement "{\n  char cVar1;\n  byte *__filename;\n  long lVar2;\n  undefined8 uVar3;\n  bool bVar4;\n  int iVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  ulong uVar8;\n  FILE *__stream;\n  int *piVar9;\n  char *pcVar10;\n  char *pcVar11;\n  long lVar12;\n  byte *pbVar13;\n  byte *pbVar14;\n  char *in_R9;\n  uint uVar15;\n  undefined8 *puVar16;\n  bool bVar17;\n  bool bVar18;\n  byte bVar19;\n  char **local_e8;\n  int local_e0;\n  uint local_dc;\n  char *s;\n  bfd_byte *mem;\n  stat st;\n  \n  bVar19 = 0;\n  local_e8 = argv;\n  local_dc = argc;\n  setlocale(6,"");\n  bindtextdomain("binutils","/usr/share/locale");\n  textdomain("binutils");\n  program_name = *local_e8;\n  xmalloc_set_program_name();\n  bfd_set_error_program_name(program_name);\n  expandargv((int *)&local_dc,&local_e8);\n  encoding = 's';\n  string_min = 4;\n  include_all_whitespace = 0;\n  print_addresses = 0;\n  print_filenames = 0;\n  datasection_only = 0;\n  target = (char *)0x0;\n  output_separator = (char *)0x0;\n  uVar15 = 0;\n  do {\n    iVar5 = getopt_long(local_dc,local_e8,"adfhHn:wot:e:T:s:Vv0123456789",long_options);\n    if (iVar5 == -1) {\n      if (uVar15 != 0) {\n        uVar8 = strtoul(local_e8[(long)(int)uVar15 + -1] + 1,&s,0);\n        string_min = (int)uVar8;\n        if ((s != (char *)0x0) && (*s != '\0')) {\n          pcVar11 = local_e8[(long)(int)uVar15 + -1] + 1;\n          goto LAB_00102ab1;\n        }\n      }\n      iVar5 = string_min;\n      if (string_min < 1) {\n        pcVar11 = (char *)dcgettext(0,"invalid minimum string length %d",5);\n                    /* WARNING: Subroutine does not return */\n        fatal(pcVar11,(ulong)(uint)iVar5);\n      }\n      if (0x31 < (byte)(encoding + 0xbeU)) goto switchD_0010259b_caseD_3f;\n      uVar8 = 1L << (encoding + 0xbeU & 0x3f);\n      if ((uVar8 & 0x401) == 0) {\n        if ((uVar8 & 0x40100000000) == 0) {\n          if ((uVar8 & 0x2000000020000) == 0) goto switchD_0010259b_caseD_3f;\n          encoding_bytes = 1;\n        }\n        else {\n          encoding_bytes = 2;\n        }\n      }\n      else {\n        encoding_bytes = 4;\n      }\n      bfd_init();\n      set_default_bfd_target();\n      if ((int)local_dc <= (int)optind) {\n        datasection_only = 0;\n        print_strings("{standard input}",stdin,0,0,0,in_R9);\n        return 0;\n      }\n      bVar4 = false;\n      bVar17 = false;\n      uVar15 = 0;\n      bVar18 = true;\n      break;\n    }\n    switch(iVar5) {\n    case 0x3f:\n      goto switchD_0010259b_caseD_3f;\n    default:\n      uVar15 = optind;\n      break;\n    case 0x48:\n    case 0x68:\n                    /* WARNING: Subroutine does not return */\n      usage(stdout,0);\n    case 0x54:\n      target = optarg;\n      break;\n    case 0x56:\n    case 0x76:\n      print_version("strings");\n      break;\n    case 0x61:\n      datasection_only = 0;\n      break;\n    case 100:\n      datasection_only = 1;\n      break;\n    case 0x65:\n      if (optarg[1] != '\0') goto switchD_0010259b_caseD_3f;\n      encoding = *optarg;\n      break;\n    case 0x66:\n      print_filenames = 1;\n      break;\n    case 0x6e:\n      uVar8 = strtoul(optarg,&s,0);\n      string_min = (int)uVar8;\n      if ((s != (char *)0x0) && (pcVar11 = optarg, *s != '\0')) {\nLAB_00102ab1:\n        pcVar10 = (char *)dcgettext(0,"invalid integer argument %s",5);\n                    /* WARNING: Subroutine does not return */\n        fatal(pcVar10,pcVar11);\n      }\n      break;\n    case 0x6f:\n      print_addresses = 1;\n      address_radix = 8;\n      break;\n    case 0x73:\n      output_separator = optarg;\n      break;\n    case 0x74:\n      print_addresses = 1;\n      if (optarg[1] != '\0') goto switchD_0010259b_caseD_3f;\n      cVar1 = *optarg;\n      if (cVar1 == 'o') {\n        address_radix = 8;\n      }\n      else if (cVar1 == 'x') {\n        address_radix = 0x10;\n      }\n      else {\n        if (cVar1 != 'd') goto switchD_0010259b_caseD_3f;\n        address_radix = 10;\n      }\n      break;\n    case 0x77:\n      include_all_whitespace = 1;\n    }\n  } while( true );\nLAB_001027e3:\n  __filename = (byte *)local_e8[(int)optind];\n  lVar12 = 2;\n  pbVar13 = __filename;\n  pbVar14 = &DAT_001055d5;\n  do {\n    if (lVar12 == 0) break;\n    lVar12 = lVar12 + -1;\n    bVar17 = *pbVar13 < *pbVar14;\n    bVar18 = *pbVar13 == *pbVar14;\n    pbVar13 = pbVar13 + (ulong)bVar19 * -2 + 1;\n    pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n  } while (bVar18);\n  if ((!bVar17 && !bVar18) == bVar17) {\n    datasection_only = 0;\n  }\n  else {\n    iVar5 = __xstat(1,(char *)__filename,(stat *)&st);\n    if (iVar5 < 0) {\n      piVar9 = __errno_location();\n      if (*piVar9 == 2) {\n        pcVar11 = "\'%s\': No such file";\n        goto LAB_00102b34;\n      }\n      pcVar11 = strerror(*piVar9);\n      pcVar10 = (char *)dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n      non_fatal(pcVar10,__filename,pcVar11);\n      uVar6 = 0;\n    }\n    else if ((st.st_mode & 0xf000) == 0x4000) {\n      pcVar11 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n      pcVar11 = (char *)dcgettext(0,pcVar11,5);\n      non_fatal(pcVar11,__filename);\n      uVar6 = 0;\n    }\n    else if ((datasection_only == 0) || (lVar12 = bfd_openr(__filename,target), lVar12 == 0)) {\nLAB_00102978:\n      __stream = fopen((char *)__filename,"r");\n      if (__stream != (FILE *)0x0) {\n        print_strings((char *)__filename,(FILE *)__stream,0,0,0,in_R9);\n        iVar5 = fclose(__stream);\n        if (iVar5 != -1) goto LAB_00102914;\n      }\n      fprintf(stderr,"%s: ",program_name);\n      perror((char *)__filename);\n      uVar6 = 0;\n    }\n    else {\n      iVar5 = bfd_check_format(lVar12,1);\n      if (iVar5 == 0) {\n        bfd_close(lVar12);\n        goto LAB_00102978;\n      }\n      puVar16 = *(undefined8 **)(lVar12 + 0x90);\n      if (puVar16 == (undefined8 *)0x0) {\n        iVar5 = bfd_close(lVar12);\n        if (iVar5 == 0) goto LAB_00102969;\n        goto LAB_00102978;\n      }\n      local_e0 = 0;\n      do {\n        if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (lVar2 = puVar16[7], lVar2 != 0)) {\n          iVar5 = bfd_malloc_and_get_section(lVar12,puVar16,&mem);\n          if (iVar5 == 0) {\n            uVar7 = bfd_get_error();\n            bfd_errmsg(uVar7);\n            uVar3 = *puVar16;\n            pcVar11 = (char *)dcgettext(0,"%s: Reading section %s failed: %s",5);\n            non_fatal(pcVar11,__filename,uVar3);\n          }\n          else {\n            print_strings((char *)__filename,(FILE *)0x0,puVar16[0x12],(int)lVar2,(int)mem,in_R9);\n            free(mem);\n            local_e0 = 1;\n          }\n        }\n        puVar16 = (undefined8 *)puVar16[2];\n      } while (puVar16 != (undefined8 *)0x0);\n      iVar5 = bfd_close(lVar12);\n      if (iVar5 == 0) {\nLAB_00102969:\n        bfd_nonfatal((char *)__filename);\n        goto LAB_00102978;\n      }\n      if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n      uVar6 = 1;\n    }\n    bVar4 = true;\n    uVar15 = uVar15 | uVar6 ^ 1;\n  }\n  optind = optind + 1;\n  bVar17 = optind < local_dc;\n  bVar18 = optind == local_dc;\n  if ((int)local_dc <= (int)optind) {\n    if (bVar4) {\n      return uVar15;\n    }\nswitchD_0010259b_caseD_3f:\n                    /* WARNING: Subroutine does not return */\n    usage((FILE *)stderr,1);\n  }\n  goto LAB_001027e3;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "byte *__filename;" type_identifier (pointer_declarator "*__filename" * identifier) ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "ulong uVar8;" type_identifier identifier ;) (declaration "FILE *__stream;" type_identifier (pointer_declarator "*__stream" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "long lVar12;" (sized_type_specifier "long" long) identifier ;) (declaration "byte *pbVar13;" type_identifier (pointer_declarator "*pbVar13" * identifier) ;) (declaration "byte *pbVar14;" type_identifier (pointer_declarator "*pbVar14" * identifier) ;) (declaration "char *in_R9;" primitive_type (pointer_declarator "*in_R9" * identifier) ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "undefined8 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "bool bVar17;" primitive_type identifier ;) (declaration "bool bVar18;" primitive_type identifier ;) (declaration "byte bVar19;" type_identifier identifier ;) (declaration "char **local_e8;" primitive_type (pointer_declarator "**local_e8" * (pointer_declarator "*local_e8" * identifier)) ;) (declaration "int local_e0;" primitive_type identifier ;) (declaration "uint local_dc;" type_identifier identifier ;) (declaration "char *s;" primitive_type (pointer_declarator "*s" * identifier) ;) (declaration "bfd_byte *mem;" type_identifier (pointer_declarator "*mem" * identifier) ;) (declaration "stat st;" type_identifier identifier ;) (expression_statement "bVar19 = 0;" (assignment_expression "bVar19 = 0" identifier = number_literal) ;) (expression_statement "local_e8 = argv;" (assignment_expression "local_e8 = argv" identifier = identifier) ;) (expression_statement "local_dc = argc;" (assignment_expression "local_dc = argc" identifier = identifier) ;) (expression_statement "setlocale(6,"");" (call_expression "setlocale(6,"")" identifier (argument_list "(6,"")" ( number_literal , (string_literal """" " ") ))) ;) (expression_statement "bindtextdomain("binutils","/usr/share/locale");" (call_expression "bindtextdomain("binutils","/usr/share/locale")" identifier (argument_list "("binutils","/usr/share/locale")" ( (string_literal ""binutils"" " string_content ") , (string_literal ""/usr/share/locale"" " string_content ") ))) ;) (expression_statement "textdomain("binutils");" (call_expression "textdomain("binutils")" identifier (argument_list "("binutils")" ( (string_literal ""binutils"" " string_content ") ))) ;) (expression_statement "program_name = *local_e8;" (assignment_expression "program_name = *local_e8" identifier = (pointer_expression "*local_e8" * identifier)) ;) (expression_statement "xmalloc_set_program_name();" (call_expression "xmalloc_set_program_name()" identifier (argument_list "()" ( ))) ;) (expression_statement "bfd_set_error_program_name(program_name);" (call_expression "bfd_set_error_program_name(program_name)" identifier (argument_list "(program_name)" ( identifier ))) ;) (expression_statement "expandargv((int *)&local_dc,&local_e8);" (call_expression "expandargv((int *)&local_dc,&local_e8)" identifier (argument_list "((int *)&local_dc,&local_e8)" ( (cast_expression "(int *)&local_dc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_dc" & identifier)) , (pointer_expression "&local_e8" & identifier) ))) ;) (expression_statement "encoding = 's';" (assignment_expression "encoding = 's'" identifier = (char_literal "'s'" ' character ')) ;) (expression_statement "string_min = 4;" (assignment_expression "string_min = 4" identifier = number_literal) ;) (expression_statement "include_all_whitespace = 0;" (assignment_expression "include_all_whitespace = 0" identifier = number_literal) ;) (expression_statement "print_addresses = 0;" (assignment_expression "print_addresses = 0" identifier = number_literal) ;) (expression_statement "print_filenames = 0;" (assignment_expression "print_filenames = 0" identifier = number_literal) ;) (expression_statement "datasection_only = 0;" (assignment_expression "datasection_only = 0" identifier = number_literal) ;) (expression_statement "target = (char *)0x0;" (assignment_expression "target = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "output_separator = (char *)0x0;" (assignment_expression "output_separator = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (do_statement "do {\n    iVar5 = getopt_long(local_dc,local_e8,"adfhHn:wot:e:T:s:Vv0123456789",long_options);\n    if (iVar5 == -1) {\n      if (uVar15 != 0) {\n        uVar8 = strtoul(local_e8[(long)(int)uVar15 + -1] + 1,&s,0);\n        string_min = (int)uVar8;\n        if ((s != (char *)0x0) && (*s != '\0')) {\n          pcVar11 = local_e8[(long)(int)uVar15 + -1] + 1;\n          goto LAB_00102ab1;\n        }\n      }\n      iVar5 = string_min;\n      if (string_min < 1) {\n        pcVar11 = (char *)dcgettext(0,"invalid minimum string length %d",5);\n                    /* WARNING: Subroutine does not return */\n        fatal(pcVar11,(ulong)(uint)iVar5);\n      }\n      if (0x31 < (byte)(encoding + 0xbeU)) goto switchD_0010259b_caseD_3f;\n      uVar8 = 1L << (encoding + 0xbeU & 0x3f);\n      if ((uVar8 & 0x401) == 0) {\n        if ((uVar8 & 0x40100000000) == 0) {\n          if ((uVar8 & 0x2000000020000) == 0) goto switchD_0010259b_caseD_3f;\n          encoding_bytes = 1;\n        }\n        else {\n          encoding_bytes = 2;\n        }\n      }\n      else {\n        encoding_bytes = 4;\n      }\n      bfd_init();\n      set_default_bfd_target();\n      if ((int)local_dc <= (int)optind) {\n        datasection_only = 0;\n        print_strings("{standard input}",stdin,0,0,0,in_R9);\n        return 0;\n      }\n      bVar4 = false;\n      bVar17 = false;\n      uVar15 = 0;\n      bVar18 = true;\n      break;\n    }\n    switch(iVar5) {\n    case 0x3f:\n      goto switchD_0010259b_caseD_3f;\n    default:\n      uVar15 = optind;\n      break;\n    case 0x48:\n    case 0x68:\n                    /* WARNING: Subroutine does not return */\n      usage(stdout,0);\n    case 0x54:\n      target = optarg;\n      break;\n    case 0x56:\n    case 0x76:\n      print_version("strings");\n      break;\n    case 0x61:\n      datasection_only = 0;\n      break;\n    case 100:\n      datasection_only = 1;\n      break;\n    case 0x65:\n      if (optarg[1] != '\0') goto switchD_0010259b_caseD_3f;\n      encoding = *optarg;\n      break;\n    case 0x66:\n      print_filenames = 1;\n      break;\n    case 0x6e:\n      uVar8 = strtoul(optarg,&s,0);\n      string_min = (int)uVar8;\n      if ((s != (char *)0x0) && (pcVar11 = optarg, *s != '\0')) {\nLAB_00102ab1:\n        pcVar10 = (char *)dcgettext(0,"invalid integer argument %s",5);\n                    /* WARNING: Subroutine does not return */\n        fatal(pcVar10,pcVar11);\n      }\n      break;\n    case 0x6f:\n      print_addresses = 1;\n      address_radix = 8;\n      break;\n    case 0x73:\n      output_separator = optarg;\n      break;\n    case 0x74:\n      print_addresses = 1;\n      if (optarg[1] != '\0') goto switchD_0010259b_caseD_3f;\n      cVar1 = *optarg;\n      if (cVar1 == 'o') {\n        address_radix = 8;\n      }\n      else if (cVar1 == 'x') {\n        address_radix = 0x10;\n      }\n      else {\n        if (cVar1 != 'd') goto switchD_0010259b_caseD_3f;\n        address_radix = 10;\n      }\n      break;\n    case 0x77:\n      include_all_whitespace = 1;\n    }\n  } while( true );" do (compound_statement "{\n    iVar5 = getopt_long(local_dc,local_e8,"adfhHn:wot:e:T:s:Vv0123456789",long_options);\n    if (iVar5 == -1) {\n      if (uVar15 != 0) {\n        uVar8 = strtoul(local_e8[(long)(int)uVar15 + -1] + 1,&s,0);\n        string_min = (int)uVar8;\n        if ((s != (char *)0x0) && (*s != '\0')) {\n          pcVar11 = local_e8[(long)(int)uVar15 + -1] + 1;\n          goto LAB_00102ab1;\n        }\n      }\n      iVar5 = string_min;\n      if (string_min < 1) {\n        pcVar11 = (char *)dcgettext(0,"invalid minimum string length %d",5);\n                    /* WARNING: Subroutine does not return */\n        fatal(pcVar11,(ulong)(uint)iVar5);\n      }\n      if (0x31 < (byte)(encoding + 0xbeU)) goto switchD_0010259b_caseD_3f;\n      uVar8 = 1L << (encoding + 0xbeU & 0x3f);\n      if ((uVar8 & 0x401) == 0) {\n        if ((uVar8 & 0x40100000000) == 0) {\n          if ((uVar8 & 0x2000000020000) == 0) goto switchD_0010259b_caseD_3f;\n          encoding_bytes = 1;\n        }\n        else {\n          encoding_bytes = 2;\n        }\n      }\n      else {\n        encoding_bytes = 4;\n      }\n      bfd_init();\n      set_default_bfd_target();\n      if ((int)local_dc <= (int)optind) {\n        datasection_only = 0;\n        print_strings("{standard input}",stdin,0,0,0,in_R9);\n        return 0;\n      }\n      bVar4 = false;\n      bVar17 = false;\n      uVar15 = 0;\n      bVar18 = true;\n      break;\n    }\n    switch(iVar5) {\n    case 0x3f:\n      goto switchD_0010259b_caseD_3f;\n    default:\n      uVar15 = optind;\n      break;\n    case 0x48:\n    case 0x68:\n                    /* WARNING: Subroutine does not return */\n      usage(stdout,0);\n    case 0x54:\n      target = optarg;\n      break;\n    case 0x56:\n    case 0x76:\n      print_version("strings");\n      break;\n    case 0x61:\n      datasection_only = 0;\n      break;\n    case 100:\n      datasection_only = 1;\n      break;\n    case 0x65:\n      if (optarg[1] != '\0') goto switchD_0010259b_caseD_3f;\n      encoding = *optarg;\n      break;\n    case 0x66:\n      print_filenames = 1;\n      break;\n    case 0x6e:\n      uVar8 = strtoul(optarg,&s,0);\n      string_min = (int)uVar8;\n      if ((s != (char *)0x0) && (pcVar11 = optarg, *s != '\0')) {\nLAB_00102ab1:\n        pcVar10 = (char *)dcgettext(0,"invalid integer argument %s",5);\n                    /* WARNING: Subroutine does not return */\n        fatal(pcVar10,pcVar11);\n      }\n      break;\n    case 0x6f:\n      print_addresses = 1;\n      address_radix = 8;\n      break;\n    case 0x73:\n      output_separator = optarg;\n      break;\n    case 0x74:\n      print_addresses = 1;\n      if (optarg[1] != '\0') goto switchD_0010259b_caseD_3f;\n      cVar1 = *optarg;\n      if (cVar1 == 'o') {\n        address_radix = 8;\n      }\n      else if (cVar1 == 'x') {\n        address_radix = 0x10;\n      }\n      else {\n        if (cVar1 != 'd') goto switchD_0010259b_caseD_3f;\n        address_radix = 10;\n      }\n      break;\n    case 0x77:\n      include_all_whitespace = 1;\n    }\n  }" { (expression_statement "iVar5 = getopt_long(local_dc,local_e8,"adfhHn:wot:e:T:s:Vv0123456789",long_options);" (assignment_expression "iVar5 = getopt_long(local_dc,local_e8,"adfhHn:wot:e:T:s:Vv0123456789",long_options)" identifier = (call_expression "getopt_long(local_dc,local_e8,"adfhHn:wot:e:T:s:Vv0123456789",long_options)" identifier (argument_list "(local_dc,local_e8,"adfhHn:wot:e:T:s:Vv0123456789",long_options)" ( identifier , identifier , (string_literal ""adfhHn:wot:e:T:s:Vv0123456789"" " string_content ") , identifier )))) ;) (if_statement "if (iVar5 == -1) {\n      if (uVar15 != 0) {\n        uVar8 = strtoul(local_e8[(long)(int)uVar15 + -1] + 1,&s,0);\n        string_min = (int)uVar8;\n        if ((s != (char *)0x0) && (*s != '\0')) {\n          pcVar11 = local_e8[(long)(int)uVar15 + -1] + 1;\n          goto LAB_00102ab1;\n        }\n      }\n      iVar5 = string_min;\n      if (string_min < 1) {\n        pcVar11 = (char *)dcgettext(0,"invalid minimum string length %d",5);\n                    /* WARNING: Subroutine does not return */\n        fatal(pcVar11,(ulong)(uint)iVar5);\n      }\n      if (0x31 < (byte)(encoding + 0xbeU)) goto switchD_0010259b_caseD_3f;\n      uVar8 = 1L << (encoding + 0xbeU & 0x3f);\n      if ((uVar8 & 0x401) == 0) {\n        if ((uVar8 & 0x40100000000) == 0) {\n          if ((uVar8 & 0x2000000020000) == 0) goto switchD_0010259b_caseD_3f;\n          encoding_bytes = 1;\n        }\n        else {\n          encoding_bytes = 2;\n        }\n      }\n      else {\n        encoding_bytes = 4;\n      }\n      bfd_init();\n      set_default_bfd_target();\n      if ((int)local_dc <= (int)optind) {\n        datasection_only = 0;\n        print_strings("{standard input}",stdin,0,0,0,in_R9);\n        return 0;\n      }\n      bVar4 = false;\n      bVar17 = false;\n      uVar15 = 0;\n      bVar18 = true;\n      break;\n    }" if (parenthesized_expression "(iVar5 == -1)" ( (binary_expression "iVar5 == -1" identifier == number_literal) )) (compound_statement "{\n      if (uVar15 != 0) {\n        uVar8 = strtoul(local_e8[(long)(int)uVar15 + -1] + 1,&s,0);\n        string_min = (int)uVar8;\n        if ((s != (char *)0x0) && (*s != '\0')) {\n          pcVar11 = local_e8[(long)(int)uVar15 + -1] + 1;\n          goto LAB_00102ab1;\n        }\n      }\n      iVar5 = string_min;\n      if (string_min < 1) {\n        pcVar11 = (char *)dcgettext(0,"invalid minimum string length %d",5);\n                    /* WARNING: Subroutine does not return */\n        fatal(pcVar11,(ulong)(uint)iVar5);\n      }\n      if (0x31 < (byte)(encoding + 0xbeU)) goto switchD_0010259b_caseD_3f;\n      uVar8 = 1L << (encoding + 0xbeU & 0x3f);\n      if ((uVar8 & 0x401) == 0) {\n        if ((uVar8 & 0x40100000000) == 0) {\n          if ((uVar8 & 0x2000000020000) == 0) goto switchD_0010259b_caseD_3f;\n          encoding_bytes = 1;\n        }\n        else {\n          encoding_bytes = 2;\n        }\n      }\n      else {\n        encoding_bytes = 4;\n      }\n      bfd_init();\n      set_default_bfd_target();\n      if ((int)local_dc <= (int)optind) {\n        datasection_only = 0;\n        print_strings("{standard input}",stdin,0,0,0,in_R9);\n        return 0;\n      }\n      bVar4 = false;\n      bVar17 = false;\n      uVar15 = 0;\n      bVar18 = true;\n      break;\n    }" { (if_statement "if (uVar15 != 0) {\n        uVar8 = strtoul(local_e8[(long)(int)uVar15 + -1] + 1,&s,0);\n        string_min = (int)uVar8;\n        if ((s != (char *)0x0) && (*s != '\0')) {\n          pcVar11 = local_e8[(long)(int)uVar15 + -1] + 1;\n          goto LAB_00102ab1;\n        }\n      }" if (parenthesized_expression "(uVar15 != 0)" ( (binary_expression "uVar15 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar8 = strtoul(local_e8[(long)(int)uVar15 + -1] + 1,&s,0);\n        string_min = (int)uVar8;\n        if ((s != (char *)0x0) && (*s != '\0')) {\n          pcVar11 = local_e8[(long)(int)uVar15 + -1] + 1;\n          goto LAB_00102ab1;\n        }\n      }" { (expression_statement "uVar8 = strtoul(local_e8[(long)(int)uVar15 + -1] + 1,&s,0);" (assignment_expression "uVar8 = strtoul(local_e8[(long)(int)uVar15 + -1] + 1,&s,0)" identifier = (call_expression "strtoul(local_e8[(long)(int)uVar15 + -1] + 1,&s,0)" identifier (argument_list "(local_e8[(long)(int)uVar15 + -1] + 1,&s,0)" ( (binary_expression "local_e8[(long)(int)uVar15 + -1] + 1" (subscript_expression "local_e8[(long)(int)uVar15 + -1]" identifier [ (binary_expression "(long)(int)uVar15 + -1" (cast_expression "(long)(int)uVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar15" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal) ]) + number_literal) , (pointer_expression "&s" & identifier) , number_literal )))) ;) (expression_statement "string_min = (int)uVar8;" (assignment_expression "string_min = (int)uVar8" identifier = (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if ((s != (char *)0x0) && (*s != '\0')) {\n          pcVar11 = local_e8[(long)(int)uVar15 + -1] + 1;\n          goto LAB_00102ab1;\n        }" if (parenthesized_expression "((s != (char *)0x0) && (*s != '\0'))" ( (binary_expression "(s != (char *)0x0) && (*s != '\0')" (parenthesized_expression "(s != (char *)0x0)" ( (binary_expression "s != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*s != '\0')" ( (binary_expression "*s != '\0'" (pointer_expression "*s" * identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n          pcVar11 = local_e8[(long)(int)uVar15 + -1] + 1;\n          goto LAB_00102ab1;\n        }" { (expression_statement "pcVar11 = local_e8[(long)(int)uVar15 + -1] + 1;" (assignment_expression "pcVar11 = local_e8[(long)(int)uVar15 + -1] + 1" identifier = (binary_expression "local_e8[(long)(int)uVar15 + -1] + 1" (subscript_expression "local_e8[(long)(int)uVar15 + -1]" identifier [ (binary_expression "(long)(int)uVar15 + -1" (cast_expression "(long)(int)uVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)uVar15" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal) ]) + number_literal)) ;) (goto_statement "goto LAB_00102ab1;" goto statement_identifier ;) })) })) (expression_statement "iVar5 = string_min;" (assignment_expression "iVar5 = string_min" identifier = identifier) ;) (if_statement "if (string_min < 1) {\n        pcVar11 = (char *)dcgettext(0,"invalid minimum string length %d",5);\n                    /* WARNING: Subroutine does not return */\n        fatal(pcVar11,(ulong)(uint)iVar5);\n      }" if (parenthesized_expression "(string_min < 1)" ( (binary_expression "string_min < 1" identifier < number_literal) )) (compound_statement "{\n        pcVar11 = (char *)dcgettext(0,"invalid minimum string length %d",5);\n                    /* WARNING: Subroutine does not return */\n        fatal(pcVar11,(ulong)(uint)iVar5);\n      }" { (expression_statement "pcVar11 = (char *)dcgettext(0,"invalid minimum string length %d",5);" (assignment_expression "pcVar11 = (char *)dcgettext(0,"invalid minimum string length %d",5)" identifier = (cast_expression "(char *)dcgettext(0,"invalid minimum string length %d",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"invalid minimum string length %d",5)" identifier (argument_list "(0,"invalid minimum string length %d",5)" ( number_literal , (string_literal ""invalid minimum string length %d"" " string_content ") , number_literal ))))) ;) comment (expression_statement "fatal(pcVar11,(ulong)(uint)iVar5);" (call_expression "fatal(pcVar11,(ulong)(uint)iVar5)" identifier (argument_list "(pcVar11,(ulong)(uint)iVar5)" ( identifier , (cast_expression "(ulong)(uint)iVar5" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)iVar5" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) ;) })) (if_statement "if (0x31 < (byte)(encoding + 0xbeU)) goto switchD_0010259b_caseD_3f;" if (parenthesized_expression "(0x31 < (byte)(encoding + 0xbeU))" ( (binary_expression "0x31 < (byte)(encoding + 0xbeU)" number_literal < (call_expression "(byte)(encoding + 0xbeU)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(encoding + 0xbeU)" ( (binary_expression "encoding + 0xbeU" identifier + number_literal) )))) )) (goto_statement "goto switchD_0010259b_caseD_3f;" goto statement_identifier ;)) (expression_statement "uVar8 = 1L << (encoding + 0xbeU & 0x3f);" (assignment_expression "uVar8 = 1L << (encoding + 0xbeU & 0x3f)" identifier = (binary_expression "1L << (encoding + 0xbeU & 0x3f)" number_literal << (parenthesized_expression "(encoding + 0xbeU & 0x3f)" ( (binary_expression "encoding + 0xbeU & 0x3f" (binary_expression "encoding + 0xbeU" identifier + number_literal) & number_literal) )))) ;) (if_statement "if ((uVar8 & 0x401) == 0) {\n        if ((uVar8 & 0x40100000000) == 0) {\n          if ((uVar8 & 0x2000000020000) == 0) goto switchD_0010259b_caseD_3f;\n          encoding_bytes = 1;\n        }\n        else {\n          encoding_bytes = 2;\n        }\n      }\n      else {\n        encoding_bytes = 4;\n      }" if (parenthesized_expression "((uVar8 & 0x401) == 0)" ( (binary_expression "(uVar8 & 0x401) == 0" (parenthesized_expression "(uVar8 & 0x401)" ( (binary_expression "uVar8 & 0x401" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        if ((uVar8 & 0x40100000000) == 0) {\n          if ((uVar8 & 0x2000000020000) == 0) goto switchD_0010259b_caseD_3f;\n          encoding_bytes = 1;\n        }\n        else {\n          encoding_bytes = 2;\n        }\n      }" { (if_statement "if ((uVar8 & 0x40100000000) == 0) {\n          if ((uVar8 & 0x2000000020000) == 0) goto switchD_0010259b_caseD_3f;\n          encoding_bytes = 1;\n        }\n        else {\n          encoding_bytes = 2;\n        }" if (parenthesized_expression "((uVar8 & 0x40100000000) == 0)" ( (binary_expression "(uVar8 & 0x40100000000) == 0" (parenthesized_expression "(uVar8 & 0x40100000000)" ( (binary_expression "uVar8 & 0x40100000000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          if ((uVar8 & 0x2000000020000) == 0) goto switchD_0010259b_caseD_3f;\n          encoding_bytes = 1;\n        }" { (if_statement "if ((uVar8 & 0x2000000020000) == 0) goto switchD_0010259b_caseD_3f;" if (parenthesized_expression "((uVar8 & 0x2000000020000) == 0)" ( (binary_expression "(uVar8 & 0x2000000020000) == 0" (parenthesized_expression "(uVar8 & 0x2000000020000)" ( (binary_expression "uVar8 & 0x2000000020000" identifier & number_literal) )) == number_literal) )) (goto_statement "goto switchD_0010259b_caseD_3f;" goto statement_identifier ;)) (expression_statement "encoding_bytes = 1;" (assignment_expression "encoding_bytes = 1" identifier = number_literal) ;) }) (else_clause "else {\n          encoding_bytes = 2;\n        }" else (compound_statement "{\n          encoding_bytes = 2;\n        }" { (expression_statement "encoding_bytes = 2;" (assignment_expression "encoding_bytes = 2" identifier = number_literal) ;) }))) }) (else_clause "else {\n        encoding_bytes = 4;\n      }" else (compound_statement "{\n        encoding_bytes = 4;\n      }" { (expression_statement "encoding_bytes = 4;" (assignment_expression "encoding_bytes = 4" identifier = number_literal) ;) }))) (expression_statement "bfd_init();" (call_expression "bfd_init()" identifier (argument_list "()" ( ))) ;) (expression_statement "set_default_bfd_target();" (call_expression "set_default_bfd_target()" identifier (argument_list "()" ( ))) ;) (if_statement "if ((int)local_dc <= (int)optind) {\n        datasection_only = 0;\n        print_strings("{standard input}",stdin,0,0,0,in_R9);\n        return 0;\n      }" if (parenthesized_expression "((int)local_dc <= (int)optind)" ( (binary_expression "(int)local_dc <= (int)optind" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)optind" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        datasection_only = 0;\n        print_strings("{standard input}",stdin,0,0,0,in_R9);\n        return 0;\n      }" { (expression_statement "datasection_only = 0;" (assignment_expression "datasection_only = 0" identifier = number_literal) ;) (expression_statement "print_strings("{standard input}",stdin,0,0,0,in_R9);" (call_expression "print_strings("{standard input}",stdin,0,0,0,in_R9)" identifier (argument_list "("{standard input}",stdin,0,0,0,in_R9)" ( (string_literal ""{standard input}"" " string_content ") , identifier , number_literal , number_literal , number_literal , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (expression_statement "bVar17 = false;" (assignment_expression "bVar17 = false" identifier = false) ;) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (expression_statement "bVar18 = true;" (assignment_expression "bVar18 = true" identifier = true) ;) (break_statement "break;" break ;) })) (switch_statement "switch(iVar5) {\n    case 0x3f:\n      goto switchD_0010259b_caseD_3f;\n    default:\n      uVar15 = optind;\n      break;\n    case 0x48:\n    case 0x68:\n                    /* WARNING: Subroutine does not return */\n      usage(stdout,0);\n    case 0x54:\n      target = optarg;\n      break;\n    case 0x56:\n    case 0x76:\n      print_version("strings");\n      break;\n    case 0x61:\n      datasection_only = 0;\n      break;\n    case 100:\n      datasection_only = 1;\n      break;\n    case 0x65:\n      if (optarg[1] != '\0') goto switchD_0010259b_caseD_3f;\n      encoding = *optarg;\n      break;\n    case 0x66:\n      print_filenames = 1;\n      break;\n    case 0x6e:\n      uVar8 = strtoul(optarg,&s,0);\n      string_min = (int)uVar8;\n      if ((s != (char *)0x0) && (pcVar11 = optarg, *s != '\0')) {\nLAB_00102ab1:\n        pcVar10 = (char *)dcgettext(0,"invalid integer argument %s",5);\n                    /* WARNING: Subroutine does not return */\n        fatal(pcVar10,pcVar11);\n      }\n      break;\n    case 0x6f:\n      print_addresses = 1;\n      address_radix = 8;\n      break;\n    case 0x73:\n      output_separator = optarg;\n      break;\n    case 0x74:\n      print_addresses = 1;\n      if (optarg[1] != '\0') goto switchD_0010259b_caseD_3f;\n      cVar1 = *optarg;\n      if (cVar1 == 'o') {\n        address_radix = 8;\n      }\n      else if (cVar1 == 'x') {\n        address_radix = 0x10;\n      }\n      else {\n        if (cVar1 != 'd') goto switchD_0010259b_caseD_3f;\n        address_radix = 10;\n      }\n      break;\n    case 0x77:\n      include_all_whitespace = 1;\n    }" switch (parenthesized_expression "(iVar5)" ( identifier )) (compound_statement "{\n    case 0x3f:\n      goto switchD_0010259b_caseD_3f;\n    default:\n      uVar15 = optind;\n      break;\n    case 0x48:\n    case 0x68:\n                    /* WARNING: Subroutine does not return */\n      usage(stdout,0);\n    case 0x54:\n      target = optarg;\n      break;\n    case 0x56:\n    case 0x76:\n      print_version("strings");\n      break;\n    case 0x61:\n      datasection_only = 0;\n      break;\n    case 100:\n      datasection_only = 1;\n      break;\n    case 0x65:\n      if (optarg[1] != '\0') goto switchD_0010259b_caseD_3f;\n      encoding = *optarg;\n      break;\n    case 0x66:\n      print_filenames = 1;\n      break;\n    case 0x6e:\n      uVar8 = strtoul(optarg,&s,0);\n      string_min = (int)uVar8;\n      if ((s != (char *)0x0) && (pcVar11 = optarg, *s != '\0')) {\nLAB_00102ab1:\n        pcVar10 = (char *)dcgettext(0,"invalid integer argument %s",5);\n                    /* WARNING: Subroutine does not return */\n        fatal(pcVar10,pcVar11);\n      }\n      break;\n    case 0x6f:\n      print_addresses = 1;\n      address_radix = 8;\n      break;\n    case 0x73:\n      output_separator = optarg;\n      break;\n    case 0x74:\n      print_addresses = 1;\n      if (optarg[1] != '\0') goto switchD_0010259b_caseD_3f;\n      cVar1 = *optarg;\n      if (cVar1 == 'o') {\n        address_radix = 8;\n      }\n      else if (cVar1 == 'x') {\n        address_radix = 0x10;\n      }\n      else {\n        if (cVar1 != 'd') goto switchD_0010259b_caseD_3f;\n        address_radix = 10;\n      }\n      break;\n    case 0x77:\n      include_all_whitespace = 1;\n    }" { (case_statement "case 0x3f:\n      goto switchD_0010259b_caseD_3f;" case number_literal : (goto_statement "goto switchD_0010259b_caseD_3f;" goto statement_identifier ;)) (case_statement "default:\n      uVar15 = optind;\n      break;" default : (expression_statement "uVar15 = optind;" (assignment_expression "uVar15 = optind" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 0x48:" case number_literal :) (case_statement "case 0x68:\n                    /* WARNING: Subroutine does not return */\n      usage(stdout,0);" case number_literal : comment (expression_statement "usage(stdout,0);" (call_expression "usage(stdout,0)" identifier (argument_list "(stdout,0)" ( identifier , number_literal ))) ;)) (case_statement "case 0x54:\n      target = optarg;\n      break;" case number_literal : (expression_statement "target = optarg;" (assignment_expression "target = optarg" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 0x56:" case number_literal :) (case_statement "case 0x76:\n      print_version("strings");\n      break;" case number_literal : (expression_statement "print_version("strings");" (call_expression "print_version("strings")" identifier (argument_list "("strings")" ( (string_literal ""strings"" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x61:\n      datasection_only = 0;\n      break;" case number_literal : (expression_statement "datasection_only = 0;" (assignment_expression "datasection_only = 0" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 100:\n      datasection_only = 1;\n      break;" case number_literal : (expression_statement "datasection_only = 1;" (assignment_expression "datasection_only = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x65:\n      if (optarg[1] != '\0') goto switchD_0010259b_caseD_3f;\n      encoding = *optarg;\n      break;" case number_literal : (if_statement "if (optarg[1] != '\0') goto switchD_0010259b_caseD_3f;" if (parenthesized_expression "(optarg[1] != '\0')" ( (binary_expression "optarg[1] != '\0'" (subscript_expression "optarg[1]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto switchD_0010259b_caseD_3f;" goto statement_identifier ;)) (expression_statement "encoding = *optarg;" (assignment_expression "encoding = *optarg" identifier = (pointer_expression "*optarg" * identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x66:\n      print_filenames = 1;\n      break;" case number_literal : (expression_statement "print_filenames = 1;" (assignment_expression "print_filenames = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x6e:\n      uVar8 = strtoul(optarg,&s,0);\n      string_min = (int)uVar8;\n      if ((s != (char *)0x0) && (pcVar11 = optarg, *s != '\0')) {\nLAB_00102ab1:\n        pcVar10 = (char *)dcgettext(0,"invalid integer argument %s",5);\n                    /* WARNING: Subroutine does not return */\n        fatal(pcVar10,pcVar11);\n      }\n      break;" case number_literal : (expression_statement "uVar8 = strtoul(optarg,&s,0);" (assignment_expression "uVar8 = strtoul(optarg,&s,0)" identifier = (call_expression "strtoul(optarg,&s,0)" identifier (argument_list "(optarg,&s,0)" ( identifier , (pointer_expression "&s" & identifier) , number_literal )))) ;) (expression_statement "string_min = (int)uVar8;" (assignment_expression "string_min = (int)uVar8" identifier = (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if ((s != (char *)0x0) && (pcVar11 = optarg, *s != '\0')) {\nLAB_00102ab1:\n        pcVar10 = (char *)dcgettext(0,"invalid integer argument %s",5);\n                    /* WARNING: Subroutine does not return */\n        fatal(pcVar10,pcVar11);\n      }" if (parenthesized_expression "((s != (char *)0x0) && (pcVar11 = optarg, *s != '\0'))" ( (binary_expression "(s != (char *)0x0) && (pcVar11 = optarg, *s != '\0')" (parenthesized_expression "(s != (char *)0x0)" ( (binary_expression "s != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pcVar11 = optarg, *s != '\0')" ( (comma_expression "pcVar11 = optarg, *s != '\0'" (assignment_expression "pcVar11 = optarg" identifier = identifier) , (binary_expression "*s != '\0'" (pointer_expression "*s" * identifier) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\nLAB_00102ab1:\n        pcVar10 = (char *)dcgettext(0,"invalid integer argument %s",5);\n                    /* WARNING: Subroutine does not return */\n        fatal(pcVar10,pcVar11);\n      }" { (labeled_statement "LAB_00102ab1:\n        pcVar10 = (char *)dcgettext(0,"invalid integer argument %s",5);" statement_identifier : (expression_statement "pcVar10 = (char *)dcgettext(0,"invalid integer argument %s",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"invalid integer argument %s",5)" identifier = (cast_expression "(char *)dcgettext(0,"invalid integer argument %s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"invalid integer argument %s",5)" identifier (argument_list "(0,"invalid integer argument %s",5)" ( number_literal , (string_literal ""invalid integer argument %s"" " string_content ") , number_literal ))))) ;)) comment (expression_statement "fatal(pcVar10,pcVar11);" (call_expression "fatal(pcVar10,pcVar11)" identifier (argument_list "(pcVar10,pcVar11)" ( identifier , identifier ))) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x6f:\n      print_addresses = 1;\n      address_radix = 8;\n      break;" case number_literal : (expression_statement "print_addresses = 1;" (assignment_expression "print_addresses = 1" identifier = number_literal) ;) (expression_statement "address_radix = 8;" (assignment_expression "address_radix = 8" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x73:\n      output_separator = optarg;\n      break;" case number_literal : (expression_statement "output_separator = optarg;" (assignment_expression "output_separator = optarg" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 0x74:\n      print_addresses = 1;\n      if (optarg[1] != '\0') goto switchD_0010259b_caseD_3f;\n      cVar1 = *optarg;\n      if (cVar1 == 'o') {\n        address_radix = 8;\n      }\n      else if (cVar1 == 'x') {\n        address_radix = 0x10;\n      }\n      else {\n        if (cVar1 != 'd') goto switchD_0010259b_caseD_3f;\n        address_radix = 10;\n      }\n      break;" case number_literal : (expression_statement "print_addresses = 1;" (assignment_expression "print_addresses = 1" identifier = number_literal) ;) (if_statement "if (optarg[1] != '\0') goto switchD_0010259b_caseD_3f;" if (parenthesized_expression "(optarg[1] != '\0')" ( (binary_expression "optarg[1] != '\0'" (subscript_expression "optarg[1]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto switchD_0010259b_caseD_3f;" goto statement_identifier ;)) (expression_statement "cVar1 = *optarg;" (assignment_expression "cVar1 = *optarg" identifier = (pointer_expression "*optarg" * identifier)) ;) (if_statement "if (cVar1 == 'o') {\n        address_radix = 8;\n      }\n      else if (cVar1 == 'x') {\n        address_radix = 0x10;\n      }\n      else {\n        if (cVar1 != 'd') goto switchD_0010259b_caseD_3f;\n        address_radix = 10;\n      }" if (parenthesized_expression "(cVar1 == 'o')" ( (binary_expression "cVar1 == 'o'" identifier == (char_literal "'o'" ' character ')) )) (compound_statement "{\n        address_radix = 8;\n      }" { (expression_statement "address_radix = 8;" (assignment_expression "address_radix = 8" identifier = number_literal) ;) }) (else_clause "else if (cVar1 == 'x') {\n        address_radix = 0x10;\n      }\n      else {\n        if (cVar1 != 'd') goto switchD_0010259b_caseD_3f;\n        address_radix = 10;\n      }" else (if_statement "if (cVar1 == 'x') {\n        address_radix = 0x10;\n      }\n      else {\n        if (cVar1 != 'd') goto switchD_0010259b_caseD_3f;\n        address_radix = 10;\n      }" if (parenthesized_expression "(cVar1 == 'x')" ( (binary_expression "cVar1 == 'x'" identifier == (char_literal "'x'" ' character ')) )) (compound_statement "{\n        address_radix = 0x10;\n      }" { (expression_statement "address_radix = 0x10;" (assignment_expression "address_radix = 0x10" identifier = number_literal) ;) }) (else_clause "else {\n        if (cVar1 != 'd') goto switchD_0010259b_caseD_3f;\n        address_radix = 10;\n      }" else (compound_statement "{\n        if (cVar1 != 'd') goto switchD_0010259b_caseD_3f;\n        address_radix = 10;\n      }" { (if_statement "if (cVar1 != 'd') goto switchD_0010259b_caseD_3f;" if (parenthesized_expression "(cVar1 != 'd')" ( (binary_expression "cVar1 != 'd'" identifier != (char_literal "'d'" ' character ')) )) (goto_statement "goto switchD_0010259b_caseD_3f;" goto statement_identifier ;)) (expression_statement "address_radix = 10;" (assignment_expression "address_radix = 10" identifier = number_literal) ;) }))))) (break_statement "break;" break ;)) (case_statement "case 0x77:\n      include_all_whitespace = 1;" case number_literal : (expression_statement "include_all_whitespace = 1;" (assignment_expression "include_all_whitespace = 1" identifier = number_literal) ;)) })) }) while (parenthesized_expression "( true )" ( true )) ;) (labeled_statement "LAB_001027e3:\n  __filename = (byte *)local_e8[(int)optind];" statement_identifier : (expression_statement "__filename = (byte *)local_e8[(int)optind];" (assignment_expression "__filename = (byte *)local_e8[(int)optind]" identifier = (cast_expression "(byte *)local_e8[(int)optind]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_e8[(int)optind]" identifier [ (cast_expression "(int)optind" ( (type_descriptor "int" primitive_type) ) identifier) ]))) ;)) (expression_statement "lVar12 = 2;" (assignment_expression "lVar12 = 2" identifier = number_literal) ;) (expression_statement "pbVar13 = __filename;" (assignment_expression "pbVar13 = __filename" identifier = identifier) ;) (expression_statement "pbVar14 = &DAT_001055d5;" (assignment_expression "pbVar14 = &DAT_001055d5" identifier = (pointer_expression "&DAT_001055d5" & identifier)) ;) (do_statement "do {\n    if (lVar12 == 0) break;\n    lVar12 = lVar12 + -1;\n    bVar17 = *pbVar13 < *pbVar14;\n    bVar18 = *pbVar13 == *pbVar14;\n    pbVar13 = pbVar13 + (ulong)bVar19 * -2 + 1;\n    pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n  } while (bVar18);" do (compound_statement "{\n    if (lVar12 == 0) break;\n    lVar12 = lVar12 + -1;\n    bVar17 = *pbVar13 < *pbVar14;\n    bVar18 = *pbVar13 == *pbVar14;\n    pbVar13 = pbVar13 + (ulong)bVar19 * -2 + 1;\n    pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n  }" { (if_statement "if (lVar12 == 0) break;" if (parenthesized_expression "(lVar12 == 0)" ( (binary_expression "lVar12 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar12 = lVar12 + -1;" (assignment_expression "lVar12 = lVar12 + -1" identifier = (binary_expression "lVar12 + -1" identifier + number_literal)) ;) (expression_statement "bVar17 = *pbVar13 < *pbVar14;" (assignment_expression "bVar17 = *pbVar13 < *pbVar14" identifier = (binary_expression "*pbVar13 < *pbVar14" (pointer_expression "*pbVar13" * identifier) < (pointer_expression "*pbVar14" * identifier))) ;) (expression_statement "bVar18 = *pbVar13 == *pbVar14;" (assignment_expression "bVar18 = *pbVar13 == *pbVar14" identifier = (binary_expression "*pbVar13 == *pbVar14" (pointer_expression "*pbVar13" * identifier) == (pointer_expression "*pbVar14" * identifier))) ;) (expression_statement "pbVar13 = pbVar13 + (ulong)bVar19 * -2 + 1;" (assignment_expression "pbVar13 = pbVar13 + (ulong)bVar19 * -2 + 1" identifier = (binary_expression "pbVar13 + (ulong)bVar19 * -2 + 1" (binary_expression "pbVar13 + (ulong)bVar19 * -2" identifier + (binary_expression "(ulong)bVar19 * -2" (cast_expression "(ulong)bVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;" (assignment_expression "pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1" identifier = (binary_expression "pbVar14 + (ulong)bVar19 * -2 + 1" (binary_expression "pbVar14 + (ulong)bVar19 * -2" identifier + (binary_expression "(ulong)bVar19 * -2" (cast_expression "(ulong)bVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar18)" ( identifier )) ;) (if_statement "if ((!bVar17 && !bVar18) == bVar17) {\n    datasection_only = 0;\n  }\n  else {\n    iVar5 = __xstat(1,(char *)__filename,(stat *)&st);\n    if (iVar5 < 0) {\n      piVar9 = __errno_location();\n      if (*piVar9 == 2) {\n        pcVar11 = "\'%s\': No such file";\n        goto LAB_00102b34;\n      }\n      pcVar11 = strerror(*piVar9);\n      pcVar10 = (char *)dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n      non_fatal(pcVar10,__filename,pcVar11);\n      uVar6 = 0;\n    }\n    else if ((st.st_mode & 0xf000) == 0x4000) {\n      pcVar11 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n      pcVar11 = (char *)dcgettext(0,pcVar11,5);\n      non_fatal(pcVar11,__filename);\n      uVar6 = 0;\n    }\n    else if ((datasection_only == 0) || (lVar12 = bfd_openr(__filename,target), lVar12 == 0)) {\nLAB_00102978:\n      __stream = fopen((char *)__filename,"r");\n      if (__stream != (FILE *)0x0) {\n        print_strings((char *)__filename,(FILE *)__stream,0,0,0,in_R9);\n        iVar5 = fclose(__stream);\n        if (iVar5 != -1) goto LAB_00102914;\n      }\n      fprintf(stderr,"%s: ",program_name);\n      perror((char *)__filename);\n      uVar6 = 0;\n    }\n    else {\n      iVar5 = bfd_check_format(lVar12,1);\n      if (iVar5 == 0) {\n        bfd_close(lVar12);\n        goto LAB_00102978;\n      }\n      puVar16 = *(undefined8 **)(lVar12 + 0x90);\n      if (puVar16 == (undefined8 *)0x0) {\n        iVar5 = bfd_close(lVar12);\n        if (iVar5 == 0) goto LAB_00102969;\n        goto LAB_00102978;\n      }\n      local_e0 = 0;\n      do {\n        if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (lVar2 = puVar16[7], lVar2 != 0)) {\n          iVar5 = bfd_malloc_and_get_section(lVar12,puVar16,&mem);\n          if (iVar5 == 0) {\n            uVar7 = bfd_get_error();\n            bfd_errmsg(uVar7);\n            uVar3 = *puVar16;\n            pcVar11 = (char *)dcgettext(0,"%s: Reading section %s failed: %s",5);\n            non_fatal(pcVar11,__filename,uVar3);\n          }\n          else {\n            print_strings((char *)__filename,(FILE *)0x0,puVar16[0x12],(int)lVar2,(int)mem,in_R9);\n            free(mem);\n            local_e0 = 1;\n          }\n        }\n        puVar16 = (undefined8 *)puVar16[2];\n      } while (puVar16 != (undefined8 *)0x0);\n      iVar5 = bfd_close(lVar12);\n      if (iVar5 == 0) {\nLAB_00102969:\n        bfd_nonfatal((char *)__filename);\n        goto LAB_00102978;\n      }\n      if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n      uVar6 = 1;\n    }\n    bVar4 = true;\n    uVar15 = uVar15 | uVar6 ^ 1;\n  }" if (parenthesized_expression "((!bVar17 && !bVar18) == bVar17)" ( (binary_expression "(!bVar17 && !bVar18) == bVar17" (parenthesized_expression "(!bVar17 && !bVar18)" ( (binary_expression "!bVar17 && !bVar18" (unary_expression "!bVar17" ! identifier) && (unary_expression "!bVar18" ! identifier)) )) == identifier) )) (compound_statement "{\n    datasection_only = 0;\n  }" { (expression_statement "datasection_only = 0;" (assignment_expression "datasection_only = 0" identifier = number_literal) ;) }) (else_clause "else {\n    iVar5 = __xstat(1,(char *)__filename,(stat *)&st);\n    if (iVar5 < 0) {\n      piVar9 = __errno_location();\n      if (*piVar9 == 2) {\n        pcVar11 = "\'%s\': No such file";\n        goto LAB_00102b34;\n      }\n      pcVar11 = strerror(*piVar9);\n      pcVar10 = (char *)dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n      non_fatal(pcVar10,__filename,pcVar11);\n      uVar6 = 0;\n    }\n    else if ((st.st_mode & 0xf000) == 0x4000) {\n      pcVar11 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n      pcVar11 = (char *)dcgettext(0,pcVar11,5);\n      non_fatal(pcVar11,__filename);\n      uVar6 = 0;\n    }\n    else if ((datasection_only == 0) || (lVar12 = bfd_openr(__filename,target), lVar12 == 0)) {\nLAB_00102978:\n      __stream = fopen((char *)__filename,"r");\n      if (__stream != (FILE *)0x0) {\n        print_strings((char *)__filename,(FILE *)__stream,0,0,0,in_R9);\n        iVar5 = fclose(__stream);\n        if (iVar5 != -1) goto LAB_00102914;\n      }\n      fprintf(stderr,"%s: ",program_name);\n      perror((char *)__filename);\n      uVar6 = 0;\n    }\n    else {\n      iVar5 = bfd_check_format(lVar12,1);\n      if (iVar5 == 0) {\n        bfd_close(lVar12);\n        goto LAB_00102978;\n      }\n      puVar16 = *(undefined8 **)(lVar12 + 0x90);\n      if (puVar16 == (undefined8 *)0x0) {\n        iVar5 = bfd_close(lVar12);\n        if (iVar5 == 0) goto LAB_00102969;\n        goto LAB_00102978;\n      }\n      local_e0 = 0;\n      do {\n        if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (lVar2 = puVar16[7], lVar2 != 0)) {\n          iVar5 = bfd_malloc_and_get_section(lVar12,puVar16,&mem);\n          if (iVar5 == 0) {\n            uVar7 = bfd_get_error();\n            bfd_errmsg(uVar7);\n            uVar3 = *puVar16;\n            pcVar11 = (char *)dcgettext(0,"%s: Reading section %s failed: %s",5);\n            non_fatal(pcVar11,__filename,uVar3);\n          }\n          else {\n            print_strings((char *)__filename,(FILE *)0x0,puVar16[0x12],(int)lVar2,(int)mem,in_R9);\n            free(mem);\n            local_e0 = 1;\n          }\n        }\n        puVar16 = (undefined8 *)puVar16[2];\n      } while (puVar16 != (undefined8 *)0x0);\n      iVar5 = bfd_close(lVar12);\n      if (iVar5 == 0) {\nLAB_00102969:\n        bfd_nonfatal((char *)__filename);\n        goto LAB_00102978;\n      }\n      if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n      uVar6 = 1;\n    }\n    bVar4 = true;\n    uVar15 = uVar15 | uVar6 ^ 1;\n  }" else (compound_statement "{\n    iVar5 = __xstat(1,(char *)__filename,(stat *)&st);\n    if (iVar5 < 0) {\n      piVar9 = __errno_location();\n      if (*piVar9 == 2) {\n        pcVar11 = "\'%s\': No such file";\n        goto LAB_00102b34;\n      }\n      pcVar11 = strerror(*piVar9);\n      pcVar10 = (char *)dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n      non_fatal(pcVar10,__filename,pcVar11);\n      uVar6 = 0;\n    }\n    else if ((st.st_mode & 0xf000) == 0x4000) {\n      pcVar11 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n      pcVar11 = (char *)dcgettext(0,pcVar11,5);\n      non_fatal(pcVar11,__filename);\n      uVar6 = 0;\n    }\n    else if ((datasection_only == 0) || (lVar12 = bfd_openr(__filename,target), lVar12 == 0)) {\nLAB_00102978:\n      __stream = fopen((char *)__filename,"r");\n      if (__stream != (FILE *)0x0) {\n        print_strings((char *)__filename,(FILE *)__stream,0,0,0,in_R9);\n        iVar5 = fclose(__stream);\n        if (iVar5 != -1) goto LAB_00102914;\n      }\n      fprintf(stderr,"%s: ",program_name);\n      perror((char *)__filename);\n      uVar6 = 0;\n    }\n    else {\n      iVar5 = bfd_check_format(lVar12,1);\n      if (iVar5 == 0) {\n        bfd_close(lVar12);\n        goto LAB_00102978;\n      }\n      puVar16 = *(undefined8 **)(lVar12 + 0x90);\n      if (puVar16 == (undefined8 *)0x0) {\n        iVar5 = bfd_close(lVar12);\n        if (iVar5 == 0) goto LAB_00102969;\n        goto LAB_00102978;\n      }\n      local_e0 = 0;\n      do {\n        if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (lVar2 = puVar16[7], lVar2 != 0)) {\n          iVar5 = bfd_malloc_and_get_section(lVar12,puVar16,&mem);\n          if (iVar5 == 0) {\n            uVar7 = bfd_get_error();\n            bfd_errmsg(uVar7);\n            uVar3 = *puVar16;\n            pcVar11 = (char *)dcgettext(0,"%s: Reading section %s failed: %s",5);\n            non_fatal(pcVar11,__filename,uVar3);\n          }\n          else {\n            print_strings((char *)__filename,(FILE *)0x0,puVar16[0x12],(int)lVar2,(int)mem,in_R9);\n            free(mem);\n            local_e0 = 1;\n          }\n        }\n        puVar16 = (undefined8 *)puVar16[2];\n      } while (puVar16 != (undefined8 *)0x0);\n      iVar5 = bfd_close(lVar12);\n      if (iVar5 == 0) {\nLAB_00102969:\n        bfd_nonfatal((char *)__filename);\n        goto LAB_00102978;\n      }\n      if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n      uVar6 = 1;\n    }\n    bVar4 = true;\n    uVar15 = uVar15 | uVar6 ^ 1;\n  }" { (expression_statement "iVar5 = __xstat(1,(char *)__filename,(stat *)&st);" (assignment_expression "iVar5 = __xstat(1,(char *)__filename,(stat *)&st)" identifier = (call_expression "__xstat(1,(char *)__filename,(stat *)&st)" identifier (argument_list "(1,(char *)__filename,(stat *)&st)" ( number_literal , (cast_expression "(char *)__filename" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(stat *)&st" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&st" & identifier)) )))) ;) (if_statement "if (iVar5 < 0) {\n      piVar9 = __errno_location();\n      if (*piVar9 == 2) {\n        pcVar11 = "\'%s\': No such file";\n        goto LAB_00102b34;\n      }\n      pcVar11 = strerror(*piVar9);\n      pcVar10 = (char *)dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n      non_fatal(pcVar10,__filename,pcVar11);\n      uVar6 = 0;\n    }\n    else if ((st.st_mode & 0xf000) == 0x4000) {\n      pcVar11 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n      pcVar11 = (char *)dcgettext(0,pcVar11,5);\n      non_fatal(pcVar11,__filename);\n      uVar6 = 0;\n    }\n    else if ((datasection_only == 0) || (lVar12 = bfd_openr(__filename,target), lVar12 == 0)) {\nLAB_00102978:\n      __stream = fopen((char *)__filename,"r");\n      if (__stream != (FILE *)0x0) {\n        print_strings((char *)__filename,(FILE *)__stream,0,0,0,in_R9);\n        iVar5 = fclose(__stream);\n        if (iVar5 != -1) goto LAB_00102914;\n      }\n      fprintf(stderr,"%s: ",program_name);\n      perror((char *)__filename);\n      uVar6 = 0;\n    }\n    else {\n      iVar5 = bfd_check_format(lVar12,1);\n      if (iVar5 == 0) {\n        bfd_close(lVar12);\n        goto LAB_00102978;\n      }\n      puVar16 = *(undefined8 **)(lVar12 + 0x90);\n      if (puVar16 == (undefined8 *)0x0) {\n        iVar5 = bfd_close(lVar12);\n        if (iVar5 == 0) goto LAB_00102969;\n        goto LAB_00102978;\n      }\n      local_e0 = 0;\n      do {\n        if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (lVar2 = puVar16[7], lVar2 != 0)) {\n          iVar5 = bfd_malloc_and_get_section(lVar12,puVar16,&mem);\n          if (iVar5 == 0) {\n            uVar7 = bfd_get_error();\n            bfd_errmsg(uVar7);\n            uVar3 = *puVar16;\n            pcVar11 = (char *)dcgettext(0,"%s: Reading section %s failed: %s",5);\n            non_fatal(pcVar11,__filename,uVar3);\n          }\n          else {\n            print_strings((char *)__filename,(FILE *)0x0,puVar16[0x12],(int)lVar2,(int)mem,in_R9);\n            free(mem);\n            local_e0 = 1;\n          }\n        }\n        puVar16 = (undefined8 *)puVar16[2];\n      } while (puVar16 != (undefined8 *)0x0);\n      iVar5 = bfd_close(lVar12);\n      if (iVar5 == 0) {\nLAB_00102969:\n        bfd_nonfatal((char *)__filename);\n        goto LAB_00102978;\n      }\n      if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n      uVar6 = 1;\n    }" if (parenthesized_expression "(iVar5 < 0)" ( (binary_expression "iVar5 < 0" identifier < number_literal) )) (compound_statement "{\n      piVar9 = __errno_location();\n      if (*piVar9 == 2) {\n        pcVar11 = "\'%s\': No such file";\n        goto LAB_00102b34;\n      }\n      pcVar11 = strerror(*piVar9);\n      pcVar10 = (char *)dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n      non_fatal(pcVar10,__filename,pcVar11);\n      uVar6 = 0;\n    }" { (expression_statement "piVar9 = __errno_location();" (assignment_expression "piVar9 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar9 == 2) {\n        pcVar11 = "\'%s\': No such file";\n        goto LAB_00102b34;\n      }" if (parenthesized_expression "(*piVar9 == 2)" ( (binary_expression "*piVar9 == 2" (pointer_expression "*piVar9" * identifier) == number_literal) )) (compound_statement "{\n        pcVar11 = "\'%s\': No such file";\n        goto LAB_00102b34;\n      }" { (expression_statement "pcVar11 = "\'%s\': No such file";" (assignment_expression "pcVar11 = "\'%s\': No such file"" identifier = (string_literal ""\'%s\': No such file"" " escape_sequence string_content escape_sequence string_content ")) ;) (goto_statement "goto LAB_00102b34;" goto statement_identifier ;) })) (expression_statement "pcVar11 = strerror(*piVar9);" (assignment_expression "pcVar11 = strerror(*piVar9)" identifier = (call_expression "strerror(*piVar9)" identifier (argument_list "(*piVar9)" ( (pointer_expression "*piVar9" * identifier) )))) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5)" identifier = (cast_expression "(char *)dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5)" identifier (argument_list "(0,"Warning: could not locate \'%s\'.  reason: %s",5)" ( number_literal , (string_literal ""Warning: could not locate \'%s\'.  reason: %s"" " string_content escape_sequence string_content escape_sequence string_content ") , number_literal ))))) ;) (expression_statement "non_fatal(pcVar10,__filename,pcVar11);" (call_expression "non_fatal(pcVar10,__filename,pcVar11)" identifier (argument_list "(pcVar10,__filename,pcVar11)" ( identifier , identifier , identifier ))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) }) (else_clause "else if ((st.st_mode & 0xf000) == 0x4000) {\n      pcVar11 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n      pcVar11 = (char *)dcgettext(0,pcVar11,5);\n      non_fatal(pcVar11,__filename);\n      uVar6 = 0;\n    }\n    else if ((datasection_only == 0) || (lVar12 = bfd_openr(__filename,target), lVar12 == 0)) {\nLAB_00102978:\n      __stream = fopen((char *)__filename,"r");\n      if (__stream != (FILE *)0x0) {\n        print_strings((char *)__filename,(FILE *)__stream,0,0,0,in_R9);\n        iVar5 = fclose(__stream);\n        if (iVar5 != -1) goto LAB_00102914;\n      }\n      fprintf(stderr,"%s: ",program_name);\n      perror((char *)__filename);\n      uVar6 = 0;\n    }\n    else {\n      iVar5 = bfd_check_format(lVar12,1);\n      if (iVar5 == 0) {\n        bfd_close(lVar12);\n        goto LAB_00102978;\n      }\n      puVar16 = *(undefined8 **)(lVar12 + 0x90);\n      if (puVar16 == (undefined8 *)0x0) {\n        iVar5 = bfd_close(lVar12);\n        if (iVar5 == 0) goto LAB_00102969;\n        goto LAB_00102978;\n      }\n      local_e0 = 0;\n      do {\n        if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (lVar2 = puVar16[7], lVar2 != 0)) {\n          iVar5 = bfd_malloc_and_get_section(lVar12,puVar16,&mem);\n          if (iVar5 == 0) {\n            uVar7 = bfd_get_error();\n            bfd_errmsg(uVar7);\n            uVar3 = *puVar16;\n            pcVar11 = (char *)dcgettext(0,"%s: Reading section %s failed: %s",5);\n            non_fatal(pcVar11,__filename,uVar3);\n          }\n          else {\n            print_strings((char *)__filename,(FILE *)0x0,puVar16[0x12],(int)lVar2,(int)mem,in_R9);\n            free(mem);\n            local_e0 = 1;\n          }\n        }\n        puVar16 = (undefined8 *)puVar16[2];\n      } while (puVar16 != (undefined8 *)0x0);\n      iVar5 = bfd_close(lVar12);\n      if (iVar5 == 0) {\nLAB_00102969:\n        bfd_nonfatal((char *)__filename);\n        goto LAB_00102978;\n      }\n      if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n      uVar6 = 1;\n    }" else (if_statement "if ((st.st_mode & 0xf000) == 0x4000) {\n      pcVar11 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n      pcVar11 = (char *)dcgettext(0,pcVar11,5);\n      non_fatal(pcVar11,__filename);\n      uVar6 = 0;\n    }\n    else if ((datasection_only == 0) || (lVar12 = bfd_openr(__filename,target), lVar12 == 0)) {\nLAB_00102978:\n      __stream = fopen((char *)__filename,"r");\n      if (__stream != (FILE *)0x0) {\n        print_strings((char *)__filename,(FILE *)__stream,0,0,0,in_R9);\n        iVar5 = fclose(__stream);\n        if (iVar5 != -1) goto LAB_00102914;\n      }\n      fprintf(stderr,"%s: ",program_name);\n      perror((char *)__filename);\n      uVar6 = 0;\n    }\n    else {\n      iVar5 = bfd_check_format(lVar12,1);\n      if (iVar5 == 0) {\n        bfd_close(lVar12);\n        goto LAB_00102978;\n      }\n      puVar16 = *(undefined8 **)(lVar12 + 0x90);\n      if (puVar16 == (undefined8 *)0x0) {\n        iVar5 = bfd_close(lVar12);\n        if (iVar5 == 0) goto LAB_00102969;\n        goto LAB_00102978;\n      }\n      local_e0 = 0;\n      do {\n        if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (lVar2 = puVar16[7], lVar2 != 0)) {\n          iVar5 = bfd_malloc_and_get_section(lVar12,puVar16,&mem);\n          if (iVar5 == 0) {\n            uVar7 = bfd_get_error();\n            bfd_errmsg(uVar7);\n            uVar3 = *puVar16;\n            pcVar11 = (char *)dcgettext(0,"%s: Reading section %s failed: %s",5);\n            non_fatal(pcVar11,__filename,uVar3);\n          }\n          else {\n            print_strings((char *)__filename,(FILE *)0x0,puVar16[0x12],(int)lVar2,(int)mem,in_R9);\n            free(mem);\n            local_e0 = 1;\n          }\n        }\n        puVar16 = (undefined8 *)puVar16[2];\n      } while (puVar16 != (undefined8 *)0x0);\n      iVar5 = bfd_close(lVar12);\n      if (iVar5 == 0) {\nLAB_00102969:\n        bfd_nonfatal((char *)__filename);\n        goto LAB_00102978;\n      }\n      if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n      uVar6 = 1;\n    }" if (parenthesized_expression "((st.st_mode & 0xf000) == 0x4000)" ( (binary_expression "(st.st_mode & 0xf000) == 0x4000" (parenthesized_expression "(st.st_mode & 0xf000)" ( (binary_expression "st.st_mode & 0xf000" (field_expression "st.st_mode" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      pcVar11 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n      pcVar11 = (char *)dcgettext(0,pcVar11,5);\n      non_fatal(pcVar11,__filename);\n      uVar6 = 0;\n    }" { (expression_statement "pcVar11 = "Warning: \'%s\' is a directory";" (assignment_expression "pcVar11 = "Warning: \'%s\' is a directory"" identifier = (string_literal ""Warning: \'%s\' is a directory"" " string_content escape_sequence string_content escape_sequence string_content ")) ;) (labeled_statement "LAB_00102b34:\n      pcVar11 = (char *)dcgettext(0,pcVar11,5);" statement_identifier : (expression_statement "pcVar11 = (char *)dcgettext(0,pcVar11,5);" (assignment_expression "pcVar11 = (char *)dcgettext(0,pcVar11,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar11,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar11,5)" identifier (argument_list "(0,pcVar11,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "non_fatal(pcVar11,__filename);" (call_expression "non_fatal(pcVar11,__filename)" identifier (argument_list "(pcVar11,__filename)" ( identifier , identifier ))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) }) (else_clause "else if ((datasection_only == 0) || (lVar12 = bfd_openr(__filename,target), lVar12 == 0)) {\nLAB_00102978:\n      __stream = fopen((char *)__filename,"r");\n      if (__stream != (FILE *)0x0) {\n        print_strings((char *)__filename,(FILE *)__stream,0,0,0,in_R9);\n        iVar5 = fclose(__stream);\n        if (iVar5 != -1) goto LAB_00102914;\n      }\n      fprintf(stderr,"%s: ",program_name);\n      perror((char *)__filename);\n      uVar6 = 0;\n    }\n    else {\n      iVar5 = bfd_check_format(lVar12,1);\n      if (iVar5 == 0) {\n        bfd_close(lVar12);\n        goto LAB_00102978;\n      }\n      puVar16 = *(undefined8 **)(lVar12 + 0x90);\n      if (puVar16 == (undefined8 *)0x0) {\n        iVar5 = bfd_close(lVar12);\n        if (iVar5 == 0) goto LAB_00102969;\n        goto LAB_00102978;\n      }\n      local_e0 = 0;\n      do {\n        if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (lVar2 = puVar16[7], lVar2 != 0)) {\n          iVar5 = bfd_malloc_and_get_section(lVar12,puVar16,&mem);\n          if (iVar5 == 0) {\n            uVar7 = bfd_get_error();\n            bfd_errmsg(uVar7);\n            uVar3 = *puVar16;\n            pcVar11 = (char *)dcgettext(0,"%s: Reading section %s failed: %s",5);\n            non_fatal(pcVar11,__filename,uVar3);\n          }\n          else {\n            print_strings((char *)__filename,(FILE *)0x0,puVar16[0x12],(int)lVar2,(int)mem,in_R9);\n            free(mem);\n            local_e0 = 1;\n          }\n        }\n        puVar16 = (undefined8 *)puVar16[2];\n      } while (puVar16 != (undefined8 *)0x0);\n      iVar5 = bfd_close(lVar12);\n      if (iVar5 == 0) {\nLAB_00102969:\n        bfd_nonfatal((char *)__filename);\n        goto LAB_00102978;\n      }\n      if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n      uVar6 = 1;\n    }" else (if_statement "if ((datasection_only == 0) || (lVar12 = bfd_openr(__filename,target), lVar12 == 0)) {\nLAB_00102978:\n      __stream = fopen((char *)__filename,"r");\n      if (__stream != (FILE *)0x0) {\n        print_strings((char *)__filename,(FILE *)__stream,0,0,0,in_R9);\n        iVar5 = fclose(__stream);\n        if (iVar5 != -1) goto LAB_00102914;\n      }\n      fprintf(stderr,"%s: ",program_name);\n      perror((char *)__filename);\n      uVar6 = 0;\n    }\n    else {\n      iVar5 = bfd_check_format(lVar12,1);\n      if (iVar5 == 0) {\n        bfd_close(lVar12);\n        goto LAB_00102978;\n      }\n      puVar16 = *(undefined8 **)(lVar12 + 0x90);\n      if (puVar16 == (undefined8 *)0x0) {\n        iVar5 = bfd_close(lVar12);\n        if (iVar5 == 0) goto LAB_00102969;\n        goto LAB_00102978;\n      }\n      local_e0 = 0;\n      do {\n        if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (lVar2 = puVar16[7], lVar2 != 0)) {\n          iVar5 = bfd_malloc_and_get_section(lVar12,puVar16,&mem);\n          if (iVar5 == 0) {\n            uVar7 = bfd_get_error();\n            bfd_errmsg(uVar7);\n            uVar3 = *puVar16;\n            pcVar11 = (char *)dcgettext(0,"%s: Reading section %s failed: %s",5);\n            non_fatal(pcVar11,__filename,uVar3);\n          }\n          else {\n            print_strings((char *)__filename,(FILE *)0x0,puVar16[0x12],(int)lVar2,(int)mem,in_R9);\n            free(mem);\n            local_e0 = 1;\n          }\n        }\n        puVar16 = (undefined8 *)puVar16[2];\n      } while (puVar16 != (undefined8 *)0x0);\n      iVar5 = bfd_close(lVar12);\n      if (iVar5 == 0) {\nLAB_00102969:\n        bfd_nonfatal((char *)__filename);\n        goto LAB_00102978;\n      }\n      if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n      uVar6 = 1;\n    }" if (parenthesized_expression "((datasection_only == 0) || (lVar12 = bfd_openr(__filename,target), lVar12 == 0))" ( (binary_expression "(datasection_only == 0) || (lVar12 = bfd_openr(__filename,target), lVar12 == 0)" (parenthesized_expression "(datasection_only == 0)" ( (binary_expression "datasection_only == 0" identifier == number_literal) )) || (parenthesized_expression "(lVar12 = bfd_openr(__filename,target), lVar12 == 0)" ( (comma_expression "lVar12 = bfd_openr(__filename,target), lVar12 == 0" (assignment_expression "lVar12 = bfd_openr(__filename,target)" identifier = (call_expression "bfd_openr(__filename,target)" identifier (argument_list "(__filename,target)" ( identifier , identifier )))) , (binary_expression "lVar12 == 0" identifier == number_literal)) ))) )) (compound_statement "{\nLAB_00102978:\n      __stream = fopen((char *)__filename,"r");\n      if (__stream != (FILE *)0x0) {\n        print_strings((char *)__filename,(FILE *)__stream,0,0,0,in_R9);\n        iVar5 = fclose(__stream);\n        if (iVar5 != -1) goto LAB_00102914;\n      }\n      fprintf(stderr,"%s: ",program_name);\n      perror((char *)__filename);\n      uVar6 = 0;\n    }" { (labeled_statement "LAB_00102978:\n      __stream = fopen((char *)__filename,"r");" statement_identifier : (expression_statement "__stream = fopen((char *)__filename,"r");" (assignment_expression "__stream = fopen((char *)__filename,"r")" identifier = (call_expression "fopen((char *)__filename,"r")" identifier (argument_list "((char *)__filename,"r")" ( (cast_expression "(char *)__filename" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""r"" " string_content ") )))) ;)) (if_statement "if (__stream != (FILE *)0x0) {\n        print_strings((char *)__filename,(FILE *)__stream,0,0,0,in_R9);\n        iVar5 = fclose(__stream);\n        if (iVar5 != -1) goto LAB_00102914;\n      }" if (parenthesized_expression "(__stream != (FILE *)0x0)" ( (binary_expression "__stream != (FILE *)0x0" identifier != (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        print_strings((char *)__filename,(FILE *)__stream,0,0,0,in_R9);\n        iVar5 = fclose(__stream);\n        if (iVar5 != -1) goto LAB_00102914;\n      }" { (expression_statement "print_strings((char *)__filename,(FILE *)__stream,0,0,0,in_R9);" (call_expression "print_strings((char *)__filename,(FILE *)__stream,0,0,0,in_R9)" identifier (argument_list "((char *)__filename,(FILE *)__stream,0,0,0,in_R9)" ( (cast_expression "(char *)__filename" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(FILE *)__stream" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , number_literal , number_literal , number_literal , identifier ))) ;) (expression_statement "iVar5 = fclose(__stream);" (assignment_expression "iVar5 = fclose(__stream)" identifier = (call_expression "fclose(__stream)" identifier (argument_list "(__stream)" ( identifier )))) ;) (if_statement "if (iVar5 != -1) goto LAB_00102914;" if (parenthesized_expression "(iVar5 != -1)" ( (binary_expression "iVar5 != -1" identifier != number_literal) )) (goto_statement "goto LAB_00102914;" goto statement_identifier ;)) })) (expression_statement "fprintf(stderr,"%s: ",program_name);" (call_expression "fprintf(stderr,"%s: ",program_name)" identifier (argument_list "(stderr,"%s: ",program_name)" ( identifier , (string_literal ""%s: "" " string_content ") , identifier ))) ;) (expression_statement "perror((char *)__filename);" (call_expression "perror((char *)__filename)" identifier (argument_list "((char *)__filename)" ( (cast_expression "(char *)__filename" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      iVar5 = bfd_check_format(lVar12,1);\n      if (iVar5 == 0) {\n        bfd_close(lVar12);\n        goto LAB_00102978;\n      }\n      puVar16 = *(undefined8 **)(lVar12 + 0x90);\n      if (puVar16 == (undefined8 *)0x0) {\n        iVar5 = bfd_close(lVar12);\n        if (iVar5 == 0) goto LAB_00102969;\n        goto LAB_00102978;\n      }\n      local_e0 = 0;\n      do {\n        if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (lVar2 = puVar16[7], lVar2 != 0)) {\n          iVar5 = bfd_malloc_and_get_section(lVar12,puVar16,&mem);\n          if (iVar5 == 0) {\n            uVar7 = bfd_get_error();\n            bfd_errmsg(uVar7);\n            uVar3 = *puVar16;\n            pcVar11 = (char *)dcgettext(0,"%s: Reading section %s failed: %s",5);\n            non_fatal(pcVar11,__filename,uVar3);\n          }\n          else {\n            print_strings((char *)__filename,(FILE *)0x0,puVar16[0x12],(int)lVar2,(int)mem,in_R9);\n            free(mem);\n            local_e0 = 1;\n          }\n        }\n        puVar16 = (undefined8 *)puVar16[2];\n      } while (puVar16 != (undefined8 *)0x0);\n      iVar5 = bfd_close(lVar12);\n      if (iVar5 == 0) {\nLAB_00102969:\n        bfd_nonfatal((char *)__filename);\n        goto LAB_00102978;\n      }\n      if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n      uVar6 = 1;\n    }" else (compound_statement "{\n      iVar5 = bfd_check_format(lVar12,1);\n      if (iVar5 == 0) {\n        bfd_close(lVar12);\n        goto LAB_00102978;\n      }\n      puVar16 = *(undefined8 **)(lVar12 + 0x90);\n      if (puVar16 == (undefined8 *)0x0) {\n        iVar5 = bfd_close(lVar12);\n        if (iVar5 == 0) goto LAB_00102969;\n        goto LAB_00102978;\n      }\n      local_e0 = 0;\n      do {\n        if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (lVar2 = puVar16[7], lVar2 != 0)) {\n          iVar5 = bfd_malloc_and_get_section(lVar12,puVar16,&mem);\n          if (iVar5 == 0) {\n            uVar7 = bfd_get_error();\n            bfd_errmsg(uVar7);\n            uVar3 = *puVar16;\n            pcVar11 = (char *)dcgettext(0,"%s: Reading section %s failed: %s",5);\n            non_fatal(pcVar11,__filename,uVar3);\n          }\n          else {\n            print_strings((char *)__filename,(FILE *)0x0,puVar16[0x12],(int)lVar2,(int)mem,in_R9);\n            free(mem);\n            local_e0 = 1;\n          }\n        }\n        puVar16 = (undefined8 *)puVar16[2];\n      } while (puVar16 != (undefined8 *)0x0);\n      iVar5 = bfd_close(lVar12);\n      if (iVar5 == 0) {\nLAB_00102969:\n        bfd_nonfatal((char *)__filename);\n        goto LAB_00102978;\n      }\n      if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n      uVar6 = 1;\n    }" { (expression_statement "iVar5 = bfd_check_format(lVar12,1);" (assignment_expression "iVar5 = bfd_check_format(lVar12,1)" identifier = (call_expression "bfd_check_format(lVar12,1)" identifier (argument_list "(lVar12,1)" ( identifier , number_literal )))) ;) (if_statement "if (iVar5 == 0) {\n        bfd_close(lVar12);\n        goto LAB_00102978;\n      }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n        bfd_close(lVar12);\n        goto LAB_00102978;\n      }" { (expression_statement "bfd_close(lVar12);" (call_expression "bfd_close(lVar12)" identifier (argument_list "(lVar12)" ( identifier ))) ;) (goto_statement "goto LAB_00102978;" goto statement_identifier ;) })) (expression_statement "puVar16 = *(undefined8 **)(lVar12 + 0x90);" (assignment_expression "puVar16 = *(undefined8 **)(lVar12 + 0x90)" identifier = (pointer_expression "*(undefined8 **)(lVar12 + 0x90)" * (cast_expression "(undefined8 **)(lVar12 + 0x90)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar12 + 0x90)" ( (binary_expression "lVar12 + 0x90" identifier + number_literal) ))))) ;) (if_statement "if (puVar16 == (undefined8 *)0x0) {\n        iVar5 = bfd_close(lVar12);\n        if (iVar5 == 0) goto LAB_00102969;\n        goto LAB_00102978;\n      }" if (parenthesized_expression "(puVar16 == (undefined8 *)0x0)" ( (binary_expression "puVar16 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar5 = bfd_close(lVar12);\n        if (iVar5 == 0) goto LAB_00102969;\n        goto LAB_00102978;\n      }" { (expression_statement "iVar5 = bfd_close(lVar12);" (assignment_expression "iVar5 = bfd_close(lVar12)" identifier = (call_expression "bfd_close(lVar12)" identifier (argument_list "(lVar12)" ( identifier )))) ;) (if_statement "if (iVar5 == 0) goto LAB_00102969;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00102969;" goto statement_identifier ;)) (goto_statement "goto LAB_00102978;" goto statement_identifier ;) })) (expression_statement "local_e0 = 0;" (assignment_expression "local_e0 = 0" identifier = number_literal) ;) (do_statement "do {\n        if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (lVar2 = puVar16[7], lVar2 != 0)) {\n          iVar5 = bfd_malloc_and_get_section(lVar12,puVar16,&mem);\n          if (iVar5 == 0) {\n            uVar7 = bfd_get_error();\n            bfd_errmsg(uVar7);\n            uVar3 = *puVar16;\n            pcVar11 = (char *)dcgettext(0,"%s: Reading section %s failed: %s",5);\n            non_fatal(pcVar11,__filename,uVar3);\n          }\n          else {\n            print_strings((char *)__filename,(FILE *)0x0,puVar16[0x12],(int)lVar2,(int)mem,in_R9);\n            free(mem);\n            local_e0 = 1;\n          }\n        }\n        puVar16 = (undefined8 *)puVar16[2];\n      } while (puVar16 != (undefined8 *)0x0);" do (compound_statement "{\n        if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (lVar2 = puVar16[7], lVar2 != 0)) {\n          iVar5 = bfd_malloc_and_get_section(lVar12,puVar16,&mem);\n          if (iVar5 == 0) {\n            uVar7 = bfd_get_error();\n            bfd_errmsg(uVar7);\n            uVar3 = *puVar16;\n            pcVar11 = (char *)dcgettext(0,"%s: Reading section %s failed: %s",5);\n            non_fatal(pcVar11,__filename,uVar3);\n          }\n          else {\n            print_strings((char *)__filename,(FILE *)0x0,puVar16[0x12],(int)lVar2,(int)mem,in_R9);\n            free(mem);\n            local_e0 = 1;\n          }\n        }\n        puVar16 = (undefined8 *)puVar16[2];\n      }" { (if_statement "if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (lVar2 = puVar16[7], lVar2 != 0)) {\n          iVar5 = bfd_malloc_and_get_section(lVar12,puVar16,&mem);\n          if (iVar5 == 0) {\n            uVar7 = bfd_get_error();\n            bfd_errmsg(uVar7);\n            uVar3 = *puVar16;\n            pcVar11 = (char *)dcgettext(0,"%s: Reading section %s failed: %s",5);\n            non_fatal(pcVar11,__filename,uVar3);\n          }\n          else {\n            print_strings((char *)__filename,(FILE *)0x0,puVar16[0x12],(int)lVar2,(int)mem,in_R9);\n            free(mem);\n            local_e0 = 1;\n          }\n        }" if (parenthesized_expression "(((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (lVar2 = puVar16[7], lVar2 != 0))" ( (binary_expression "((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (lVar2 = puVar16[7], lVar2 != 0)" (parenthesized_expression "((*(uint *)(puVar16 + 4) & 0x103) == 0x103)" ( (binary_expression "(*(uint *)(puVar16 + 4) & 0x103) == 0x103" (parenthesized_expression "(*(uint *)(puVar16 + 4) & 0x103)" ( (binary_expression "*(uint *)(puVar16 + 4) & 0x103" (pointer_expression "*(uint *)(puVar16 + 4)" * (cast_expression "(uint *)(puVar16 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 4)" ( (binary_expression "puVar16 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(lVar2 = puVar16[7], lVar2 != 0)" ( (comma_expression "lVar2 = puVar16[7], lVar2 != 0" (assignment_expression "lVar2 = puVar16[7]" identifier = (subscript_expression "puVar16[7]" identifier [ number_literal ])) , (binary_expression "lVar2 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          iVar5 = bfd_malloc_and_get_section(lVar12,puVar16,&mem);\n          if (iVar5 == 0) {\n            uVar7 = bfd_get_error();\n            bfd_errmsg(uVar7);\n            uVar3 = *puVar16;\n            pcVar11 = (char *)dcgettext(0,"%s: Reading section %s failed: %s",5);\n            non_fatal(pcVar11,__filename,uVar3);\n          }\n          else {\n            print_strings((char *)__filename,(FILE *)0x0,puVar16[0x12],(int)lVar2,(int)mem,in_R9);\n            free(mem);\n            local_e0 = 1;\n          }\n        }" { (expression_statement "iVar5 = bfd_malloc_and_get_section(lVar12,puVar16,&mem);" (assignment_expression "iVar5 = bfd_malloc_and_get_section(lVar12,puVar16,&mem)" identifier = (call_expression "bfd_malloc_and_get_section(lVar12,puVar16,&mem)" identifier (argument_list "(lVar12,puVar16,&mem)" ( identifier , identifier , (pointer_expression "&mem" & identifier) )))) ;) (if_statement "if (iVar5 == 0) {\n            uVar7 = bfd_get_error();\n            bfd_errmsg(uVar7);\n            uVar3 = *puVar16;\n            pcVar11 = (char *)dcgettext(0,"%s: Reading section %s failed: %s",5);\n            non_fatal(pcVar11,__filename,uVar3);\n          }\n          else {\n            print_strings((char *)__filename,(FILE *)0x0,puVar16[0x12],(int)lVar2,(int)mem,in_R9);\n            free(mem);\n            local_e0 = 1;\n          }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar7 = bfd_get_error();\n            bfd_errmsg(uVar7);\n            uVar3 = *puVar16;\n            pcVar11 = (char *)dcgettext(0,"%s: Reading section %s failed: %s",5);\n            non_fatal(pcVar11,__filename,uVar3);\n          }" { (expression_statement "uVar7 = bfd_get_error();" (assignment_expression "uVar7 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (expression_statement "bfd_errmsg(uVar7);" (call_expression "bfd_errmsg(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "uVar3 = *puVar16;" (assignment_expression "uVar3 = *puVar16" identifier = (pointer_expression "*puVar16" * identifier)) ;) (expression_statement "pcVar11 = (char *)dcgettext(0,"%s: Reading section %s failed: %s",5);" (assignment_expression "pcVar11 = (char *)dcgettext(0,"%s: Reading section %s failed: %s",5)" identifier = (cast_expression "(char *)dcgettext(0,"%s: Reading section %s failed: %s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%s: Reading section %s failed: %s",5)" identifier (argument_list "(0,"%s: Reading section %s failed: %s",5)" ( number_literal , (string_literal ""%s: Reading section %s failed: %s"" " string_content ") , number_literal ))))) ;) (expression_statement "non_fatal(pcVar11,__filename,uVar3);" (call_expression "non_fatal(pcVar11,__filename,uVar3)" identifier (argument_list "(pcVar11,__filename,uVar3)" ( identifier , identifier , identifier ))) ;) }) (else_clause "else {\n            print_strings((char *)__filename,(FILE *)0x0,puVar16[0x12],(int)lVar2,(int)mem,in_R9);\n            free(mem);\n            local_e0 = 1;\n          }" else (compound_statement "{\n            print_strings((char *)__filename,(FILE *)0x0,puVar16[0x12],(int)lVar2,(int)mem,in_R9);\n            free(mem);\n            local_e0 = 1;\n          }" { (expression_statement "print_strings((char *)__filename,(FILE *)0x0,puVar16[0x12],(int)lVar2,(int)mem,in_R9);" (call_expression "print_strings((char *)__filename,(FILE *)0x0,puVar16[0x12],(int)lVar2,(int)mem,in_R9)" identifier (argument_list "((char *)__filename,(FILE *)0x0,puVar16[0x12],(int)lVar2,(int)mem,in_R9)" ( (cast_expression "(char *)__filename" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (subscript_expression "puVar16[0x12]" identifier [ number_literal ]) , (cast_expression "(int)lVar2" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(int)mem" ( (type_descriptor "int" primitive_type) ) identifier) , identifier ))) ;) (expression_statement "free(mem);" (call_expression "free(mem)" identifier (argument_list "(mem)" ( identifier ))) ;) (expression_statement "local_e0 = 1;" (assignment_expression "local_e0 = 1" identifier = number_literal) ;) }))) })) (expression_statement "puVar16 = (undefined8 *)puVar16[2];" (assignment_expression "puVar16 = (undefined8 *)puVar16[2]" identifier = (cast_expression "(undefined8 *)puVar16[2]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar16[2]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "(puVar16 != (undefined8 *)0x0)" ( (binary_expression "puVar16 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "iVar5 = bfd_close(lVar12);" (assignment_expression "iVar5 = bfd_close(lVar12)" identifier = (call_expression "bfd_close(lVar12)" identifier (argument_list "(lVar12)" ( identifier )))) ;) (if_statement "if (iVar5 == 0) {\nLAB_00102969:\n        bfd_nonfatal((char *)__filename);\n        goto LAB_00102978;\n      }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00102969:\n        bfd_nonfatal((char *)__filename);\n        goto LAB_00102978;\n      }" { (labeled_statement "LAB_00102969:\n        bfd_nonfatal((char *)__filename);" statement_identifier : (expression_statement "bfd_nonfatal((char *)__filename);" (call_expression "bfd_nonfatal((char *)__filename)" identifier (argument_list "((char *)__filename)" ( (cast_expression "(char *)__filename" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;)) (goto_statement "goto LAB_00102978;" goto statement_identifier ;) })) (if_statement "if (local_e0 == 0) goto LAB_00102978;" if (parenthesized_expression "(local_e0 == 0)" ( (binary_expression "local_e0 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00102978;" goto statement_identifier ;)) (labeled_statement "LAB_00102914:\n      uVar6 = 1;" statement_identifier : (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;)) }))))))) (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) (expression_statement "uVar15 = uVar15 | uVar6 ^ 1;" (assignment_expression "uVar15 = uVar15 | uVar6 ^ 1" identifier = (binary_expression "uVar15 | uVar6 ^ 1" identifier | (binary_expression "uVar6 ^ 1" identifier ^ number_literal))) ;) }))) (expression_statement "optind = optind + 1;" (assignment_expression "optind = optind + 1" identifier = (binary_expression "optind + 1" identifier + number_literal)) ;) (expression_statement "bVar17 = optind < local_dc;" (assignment_expression "bVar17 = optind < local_dc" identifier = (binary_expression "optind < local_dc" identifier < identifier)) ;) (expression_statement "bVar18 = optind == local_dc;" (assignment_expression "bVar18 = optind == local_dc" identifier = (binary_expression "optind == local_dc" identifier == identifier)) ;) (if_statement "if ((int)local_dc <= (int)optind) {\n    if (bVar4) {\n      return uVar15;\n    }\nswitchD_0010259b_caseD_3f:\n                    /* WARNING: Subroutine does not return */\n    usage((FILE *)stderr,1);\n  }" if (parenthesized_expression "((int)local_dc <= (int)optind)" ( (binary_expression "(int)local_dc <= (int)optind" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)optind" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    if (bVar4) {\n      return uVar15;\n    }\nswitchD_0010259b_caseD_3f:\n                    /* WARNING: Subroutine does not return */\n    usage((FILE *)stderr,1);\n  }" { (if_statement "if (bVar4) {\n      return uVar15;\n    }" if (parenthesized_expression "(bVar4)" ( identifier )) (compound_statement "{\n      return uVar15;\n    }" { (return_statement "return uVar15;" return identifier ;) })) (labeled_statement "switchD_0010259b_caseD_3f:\n                    /* WARNING: Subroutine does not return */\n    usage((FILE *)stderr,1);" statement_identifier : comment (expression_statement "usage((FILE *)stderr,1);" (call_expression "usage((FILE *)stderr,1)" identifier (argument_list "((FILE *)stderr,1)" ( (cast_expression "(FILE *)stderr" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , number_literal ))) ;)) })) (goto_statement "goto LAB_001027e3;" goto statement_identifier ;) })))
(translation_unit "undefined ** FUN_00102480(uint param_1,undefined8 *param_2)\n\n{\n  bool bVar1;\n  int iVar2;\n  uint uVar3;\n  undefined4 uVar4;\n  ulong uVar5;\n  FILE *__stream;\n  int *piVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  undefined8 uVar9;\n  long lVar10;\n  byte *__filename;\n  char *pcVar11;\n  byte *pbVar12;\n  char *pcVar13;\n  byte *pbVar14;\n  undefined **ppuVar15;\n  undefined8 *puVar16;\n  bool bVar17;\n  bool bVar18;\n  byte bVar19;\n  undefined8 *local_e8;\n  int local_e0;\n  uint local_dc;\n  char *local_d8;\n  void *local_d0;\n  stat local_c8;\n  \n  bVar19 = 0;\n  __stream = (FILE *)0x0;\n  ppuVar15 = &PTR_DAT_00108260;\n  pcVar11 = "adfhHn:wot:e:T:s:Vv0123456789";\n  __filename = &DAT_00105674;\n  local_e8 = param_2;\n  local_dc = param_1;\n  setlocale(6,"");\n  bindtextdomain("binutils","/usr/share/locale");\n  textdomain("binutils");\n  DAT_00108478 = *local_e8;\n  xmalloc_set_program_name();\n  bfd_set_error_program_name(DAT_00108478);\n  FUN_001047f0(&local_dc,&local_e8);\n  DAT_0010843c = 's';\n  DAT_00108458 = 4;\n  DAT_00108454 = 0;\n  DAT_00108450 = 0;\n  DAT_0010844c = 0;\n  DAT_00108448 = 0;\n  DAT_00108440 = 0;\n  DAT_00108430 = 0;\n  do {\n    while (iVar2 = getopt_long(local_dc,local_e8,pcVar11,ppuVar15,0), iVar2 != -1) {\n      if (iVar2 - 0x3fU < 0x39) {\n                    \n                    \n        ppuVar15 = (undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))();\n        return ppuVar15;\n      }\n      __stream = (FILE *)(ulong)optind;\n    }\n    iVar2 = (int)__stream;\n    if (iVar2 != 0) {\n      uVar5 = strtoul((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0);\n      DAT_00108458 = (uint)uVar5;\n      if ((local_d8 != (char *)0x0) && (*local_d8 != '\0')) {\n        lVar10 = local_e8[(long)iVar2 + -1];\n        uVar9 = dcgettext(0,"invalid integer argument %s",5);\n                    \n        FUN_001034a0(uVar9,lVar10 + 1);\n      }\n    }\n    uVar3 = DAT_00108458;\n    __filename = (byte *)(ulong)DAT_00108458;\n    if ((int)DAT_00108458 < 1) {\n      uVar9 = dcgettext(0,"invalid minimum string length %d",5);\n                    \n      FUN_001034a0(uVar9,uVar3);\n    }\n    if ((byte)(DAT_0010843c + 0xbeU) < 0x32) {\n      uVar5 = 1L << (DAT_0010843c + 0xbeU & 0x3f);\n      if ((uVar5 & 0x401) == 0) {\n        if ((uVar5 & 0x40100000000) == 0) {\n          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;\n          DAT_00108438 = 1;\n        }\n        else {\n          DAT_00108438 = 2;\n        }\n      }\n      else {\n        DAT_00108438 = 4;\n      }\n      bfd_init();\n      FUN_001035e0();\n      if ((int)local_dc <= (int)optind) {\n        DAT_00108448 = 0;\n        FUN_00102ec0("{standard input}",stdin,0,0,0);\n        return (undefined **)0x0;\n      }\n      bVar1 = false;\n      bVar17 = false;\n      ppuVar15 = (undefined **)0x0;\n      bVar18 = true;\n      pcVar11 = "-";\n      do {\n        __filename = (byte *)local_e8[(int)optind];\n        lVar10 = 2;\n        pbVar12 = __filename;\n        pbVar14 = &DAT_001055d5;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar17 = *pbVar12 < *pbVar14;\n          bVar18 = *pbVar12 == *pbVar14;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n        } while (bVar18);\n        if ((!bVar17 && !bVar18) == bVar17) {\n          DAT_00108448 = 0;\n        }\n        else {\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }\n        optind = optind + 1;\n        bVar17 = optind < local_dc;\n        bVar18 = optind == local_dc;\n      } while ((int)optind < (int)local_dc);\n      if (bVar1) {\n        return ppuVar15;\n      }\n    }\nLAB_00102704:\n    FUN_00102dc0(stderr,1);\n    DAT_0010845c = 8;\n  } while( true );\n}\n\n" (function_definition "undefined ** FUN_00102480(uint param_1,undefined8 *param_2)\n\n{\n  bool bVar1;\n  int iVar2;\n  uint uVar3;\n  undefined4 uVar4;\n  ulong uVar5;\n  FILE *__stream;\n  int *piVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  undefined8 uVar9;\n  long lVar10;\n  byte *__filename;\n  char *pcVar11;\n  byte *pbVar12;\n  char *pcVar13;\n  byte *pbVar14;\n  undefined **ppuVar15;\n  undefined8 *puVar16;\n  bool bVar17;\n  bool bVar18;\n  byte bVar19;\n  undefined8 *local_e8;\n  int local_e0;\n  uint local_dc;\n  char *local_d8;\n  void *local_d0;\n  stat local_c8;\n  \n  bVar19 = 0;\n  __stream = (FILE *)0x0;\n  ppuVar15 = &PTR_DAT_00108260;\n  pcVar11 = "adfhHn:wot:e:T:s:Vv0123456789";\n  __filename = &DAT_00105674;\n  local_e8 = param_2;\n  local_dc = param_1;\n  setlocale(6,"");\n  bindtextdomain("binutils","/usr/share/locale");\n  textdomain("binutils");\n  DAT_00108478 = *local_e8;\n  xmalloc_set_program_name();\n  bfd_set_error_program_name(DAT_00108478);\n  FUN_001047f0(&local_dc,&local_e8);\n  DAT_0010843c = 's';\n  DAT_00108458 = 4;\n  DAT_00108454 = 0;\n  DAT_00108450 = 0;\n  DAT_0010844c = 0;\n  DAT_00108448 = 0;\n  DAT_00108440 = 0;\n  DAT_00108430 = 0;\n  do {\n    while (iVar2 = getopt_long(local_dc,local_e8,pcVar11,ppuVar15,0), iVar2 != -1) {\n      if (iVar2 - 0x3fU < 0x39) {\n                    \n                    \n        ppuVar15 = (undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))();\n        return ppuVar15;\n      }\n      __stream = (FILE *)(ulong)optind;\n    }\n    iVar2 = (int)__stream;\n    if (iVar2 != 0) {\n      uVar5 = strtoul((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0);\n      DAT_00108458 = (uint)uVar5;\n      if ((local_d8 != (char *)0x0) && (*local_d8 != '\0')) {\n        lVar10 = local_e8[(long)iVar2 + -1];\n        uVar9 = dcgettext(0,"invalid integer argument %s",5);\n                    \n        FUN_001034a0(uVar9,lVar10 + 1);\n      }\n    }\n    uVar3 = DAT_00108458;\n    __filename = (byte *)(ulong)DAT_00108458;\n    if ((int)DAT_00108458 < 1) {\n      uVar9 = dcgettext(0,"invalid minimum string length %d",5);\n                    \n      FUN_001034a0(uVar9,uVar3);\n    }\n    if ((byte)(DAT_0010843c + 0xbeU) < 0x32) {\n      uVar5 = 1L << (DAT_0010843c + 0xbeU & 0x3f);\n      if ((uVar5 & 0x401) == 0) {\n        if ((uVar5 & 0x40100000000) == 0) {\n          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;\n          DAT_00108438 = 1;\n        }\n        else {\n          DAT_00108438 = 2;\n        }\n      }\n      else {\n        DAT_00108438 = 4;\n      }\n      bfd_init();\n      FUN_001035e0();\n      if ((int)local_dc <= (int)optind) {\n        DAT_00108448 = 0;\n        FUN_00102ec0("{standard input}",stdin,0,0,0);\n        return (undefined **)0x0;\n      }\n      bVar1 = false;\n      bVar17 = false;\n      ppuVar15 = (undefined **)0x0;\n      bVar18 = true;\n      pcVar11 = "-";\n      do {\n        __filename = (byte *)local_e8[(int)optind];\n        lVar10 = 2;\n        pbVar12 = __filename;\n        pbVar14 = &DAT_001055d5;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar17 = *pbVar12 < *pbVar14;\n          bVar18 = *pbVar12 == *pbVar14;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n        } while (bVar18);\n        if ((!bVar17 && !bVar18) == bVar17) {\n          DAT_00108448 = 0;\n        }\n        else {\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }\n        optind = optind + 1;\n        bVar17 = optind < local_dc;\n        bVar18 = optind == local_dc;\n      } while ((int)optind < (int)local_dc);\n      if (bVar1) {\n        return ppuVar15;\n      }\n    }\nLAB_00102704:\n    FUN_00102dc0(stderr,1);\n    DAT_0010845c = 8;\n  } while( true );\n}" type_identifier (pointer_declarator "** FUN_00102480(uint param_1,undefined8 *param_2)" * (pointer_declarator "* FUN_00102480(uint param_1,undefined8 *param_2)" * (function_declarator "FUN_00102480(uint param_1,undefined8 *param_2)" identifier (parameter_list "(uint param_1,undefined8 *param_2)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "undefined8 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  uint uVar3;\n  undefined4 uVar4;\n  ulong uVar5;\n  FILE *__stream;\n  int *piVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  undefined8 uVar9;\n  long lVar10;\n  byte *__filename;\n  char *pcVar11;\n  byte *pbVar12;\n  char *pcVar13;\n  byte *pbVar14;\n  undefined **ppuVar15;\n  undefined8 *puVar16;\n  bool bVar17;\n  bool bVar18;\n  byte bVar19;\n  undefined8 *local_e8;\n  int local_e0;\n  uint local_dc;\n  char *local_d8;\n  void *local_d0;\n  stat local_c8;\n  \n  bVar19 = 0;\n  __stream = (FILE *)0x0;\n  ppuVar15 = &PTR_DAT_00108260;\n  pcVar11 = "adfhHn:wot:e:T:s:Vv0123456789";\n  __filename = &DAT_00105674;\n  local_e8 = param_2;\n  local_dc = param_1;\n  setlocale(6,"");\n  bindtextdomain("binutils","/usr/share/locale");\n  textdomain("binutils");\n  DAT_00108478 = *local_e8;\n  xmalloc_set_program_name();\n  bfd_set_error_program_name(DAT_00108478);\n  FUN_001047f0(&local_dc,&local_e8);\n  DAT_0010843c = 's';\n  DAT_00108458 = 4;\n  DAT_00108454 = 0;\n  DAT_00108450 = 0;\n  DAT_0010844c = 0;\n  DAT_00108448 = 0;\n  DAT_00108440 = 0;\n  DAT_00108430 = 0;\n  do {\n    while (iVar2 = getopt_long(local_dc,local_e8,pcVar11,ppuVar15,0), iVar2 != -1) {\n      if (iVar2 - 0x3fU < 0x39) {\n                    \n                    \n        ppuVar15 = (undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))();\n        return ppuVar15;\n      }\n      __stream = (FILE *)(ulong)optind;\n    }\n    iVar2 = (int)__stream;\n    if (iVar2 != 0) {\n      uVar5 = strtoul((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0);\n      DAT_00108458 = (uint)uVar5;\n      if ((local_d8 != (char *)0x0) && (*local_d8 != '\0')) {\n        lVar10 = local_e8[(long)iVar2 + -1];\n        uVar9 = dcgettext(0,"invalid integer argument %s",5);\n                    \n        FUN_001034a0(uVar9,lVar10 + 1);\n      }\n    }\n    uVar3 = DAT_00108458;\n    __filename = (byte *)(ulong)DAT_00108458;\n    if ((int)DAT_00108458 < 1) {\n      uVar9 = dcgettext(0,"invalid minimum string length %d",5);\n                    \n      FUN_001034a0(uVar9,uVar3);\n    }\n    if ((byte)(DAT_0010843c + 0xbeU) < 0x32) {\n      uVar5 = 1L << (DAT_0010843c + 0xbeU & 0x3f);\n      if ((uVar5 & 0x401) == 0) {\n        if ((uVar5 & 0x40100000000) == 0) {\n          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;\n          DAT_00108438 = 1;\n        }\n        else {\n          DAT_00108438 = 2;\n        }\n      }\n      else {\n        DAT_00108438 = 4;\n      }\n      bfd_init();\n      FUN_001035e0();\n      if ((int)local_dc <= (int)optind) {\n        DAT_00108448 = 0;\n        FUN_00102ec0("{standard input}",stdin,0,0,0);\n        return (undefined **)0x0;\n      }\n      bVar1 = false;\n      bVar17 = false;\n      ppuVar15 = (undefined **)0x0;\n      bVar18 = true;\n      pcVar11 = "-";\n      do {\n        __filename = (byte *)local_e8[(int)optind];\n        lVar10 = 2;\n        pbVar12 = __filename;\n        pbVar14 = &DAT_001055d5;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar17 = *pbVar12 < *pbVar14;\n          bVar18 = *pbVar12 == *pbVar14;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n        } while (bVar18);\n        if ((!bVar17 && !bVar18) == bVar17) {\n          DAT_00108448 = 0;\n        }\n        else {\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }\n        optind = optind + 1;\n        bVar17 = optind < local_dc;\n        bVar18 = optind == local_dc;\n      } while ((int)optind < (int)local_dc);\n      if (bVar1) {\n        return ppuVar15;\n      }\n    }\nLAB_00102704:\n    FUN_00102dc0(stderr,1);\n    DAT_0010845c = 8;\n  } while( true );\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "ulong uVar5;" type_identifier identifier ;) (declaration "FILE *__stream;" type_identifier (pointer_declarator "*__stream" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "undefined8 uVar7;" type_identifier identifier ;) (declaration "undefined8 uVar8;" type_identifier identifier ;) (declaration "undefined8 uVar9;" type_identifier identifier ;) (declaration "long lVar10;" (sized_type_specifier "long" long) identifier ;) (declaration "byte *__filename;" type_identifier (pointer_declarator "*__filename" * identifier) ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "byte *pbVar14;" type_identifier (pointer_declarator "*pbVar14" * identifier) ;) (declaration "undefined **ppuVar15;" type_identifier (pointer_declarator "**ppuVar15" * (pointer_declarator "*ppuVar15" * identifier)) ;) (declaration "undefined8 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "bool bVar17;" primitive_type identifier ;) (declaration "bool bVar18;" primitive_type identifier ;) (declaration "byte bVar19;" type_identifier identifier ;) (declaration "undefined8 *local_e8;" type_identifier (pointer_declarator "*local_e8" * identifier) ;) (declaration "int local_e0;" primitive_type identifier ;) (declaration "uint local_dc;" type_identifier identifier ;) (declaration "char *local_d8;" primitive_type (pointer_declarator "*local_d8" * identifier) ;) (declaration "void *local_d0;" primitive_type (pointer_declarator "*local_d0" * identifier) ;) (declaration "stat local_c8;" type_identifier identifier ;) (expression_statement "bVar19 = 0;" (assignment_expression "bVar19 = 0" identifier = number_literal) ;) (expression_statement "__stream = (FILE *)0x0;" (assignment_expression "__stream = (FILE *)0x0" identifier = (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppuVar15 = &PTR_DAT_00108260;" (assignment_expression "ppuVar15 = &PTR_DAT_00108260" identifier = (pointer_expression "&PTR_DAT_00108260" & identifier)) ;) (expression_statement "pcVar11 = "adfhHn:wot:e:T:s:Vv0123456789";" (assignment_expression "pcVar11 = "adfhHn:wot:e:T:s:Vv0123456789"" identifier = (string_literal ""adfhHn:wot:e:T:s:Vv0123456789"" " string_content ")) ;) (expression_statement "__filename = &DAT_00105674;" (assignment_expression "__filename = &DAT_00105674" identifier = (pointer_expression "&DAT_00105674" & identifier)) ;) (expression_statement "local_e8 = param_2;" (assignment_expression "local_e8 = param_2" identifier = identifier) ;) (expression_statement "local_dc = param_1;" (assignment_expression "local_dc = param_1" identifier = identifier) ;) (expression_statement "setlocale(6,"");" (call_expression "setlocale(6,"")" identifier (argument_list "(6,"")" ( number_literal , (string_literal """" " ") ))) ;) (expression_statement "bindtextdomain("binutils","/usr/share/locale");" (call_expression "bindtextdomain("binutils","/usr/share/locale")" identifier (argument_list "("binutils","/usr/share/locale")" ( (string_literal ""binutils"" " string_content ") , (string_literal ""/usr/share/locale"" " string_content ") ))) ;) (expression_statement "textdomain("binutils");" (call_expression "textdomain("binutils")" identifier (argument_list "("binutils")" ( (string_literal ""binutils"" " string_content ") ))) ;) (expression_statement "DAT_00108478 = *local_e8;" (assignment_expression "DAT_00108478 = *local_e8" identifier = (pointer_expression "*local_e8" * identifier)) ;) (expression_statement "xmalloc_set_program_name();" (call_expression "xmalloc_set_program_name()" identifier (argument_list "()" ( ))) ;) (expression_statement "bfd_set_error_program_name(DAT_00108478);" (call_expression "bfd_set_error_program_name(DAT_00108478)" identifier (argument_list "(DAT_00108478)" ( identifier ))) ;) (expression_statement "FUN_001047f0(&local_dc,&local_e8);" (call_expression "FUN_001047f0(&local_dc,&local_e8)" identifier (argument_list "(&local_dc,&local_e8)" ( (pointer_expression "&local_dc" & identifier) , (pointer_expression "&local_e8" & identifier) ))) ;) (expression_statement "DAT_0010843c = 's';" (assignment_expression "DAT_0010843c = 's'" identifier = (char_literal "'s'" ' character ')) ;) (expression_statement "DAT_00108458 = 4;" (assignment_expression "DAT_00108458 = 4" identifier = number_literal) ;) (expression_statement "DAT_00108454 = 0;" (assignment_expression "DAT_00108454 = 0" identifier = number_literal) ;) (expression_statement "DAT_00108450 = 0;" (assignment_expression "DAT_00108450 = 0" identifier = number_literal) ;) (expression_statement "DAT_0010844c = 0;" (assignment_expression "DAT_0010844c = 0" identifier = number_literal) ;) (expression_statement "DAT_00108448 = 0;" (assignment_expression "DAT_00108448 = 0" identifier = number_literal) ;) (expression_statement "DAT_00108440 = 0;" (assignment_expression "DAT_00108440 = 0" identifier = number_literal) ;) (expression_statement "DAT_00108430 = 0;" (assignment_expression "DAT_00108430 = 0" identifier = number_literal) ;) (do_statement "do {\n    while (iVar2 = getopt_long(local_dc,local_e8,pcVar11,ppuVar15,0), iVar2 != -1) {\n      if (iVar2 - 0x3fU < 0x39) {\n                    \n                    \n        ppuVar15 = (undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))();\n        return ppuVar15;\n      }\n      __stream = (FILE *)(ulong)optind;\n    }\n    iVar2 = (int)__stream;\n    if (iVar2 != 0) {\n      uVar5 = strtoul((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0);\n      DAT_00108458 = (uint)uVar5;\n      if ((local_d8 != (char *)0x0) && (*local_d8 != '\0')) {\n        lVar10 = local_e8[(long)iVar2 + -1];\n        uVar9 = dcgettext(0,"invalid integer argument %s",5);\n                    \n        FUN_001034a0(uVar9,lVar10 + 1);\n      }\n    }\n    uVar3 = DAT_00108458;\n    __filename = (byte *)(ulong)DAT_00108458;\n    if ((int)DAT_00108458 < 1) {\n      uVar9 = dcgettext(0,"invalid minimum string length %d",5);\n                    \n      FUN_001034a0(uVar9,uVar3);\n    }\n    if ((byte)(DAT_0010843c + 0xbeU) < 0x32) {\n      uVar5 = 1L << (DAT_0010843c + 0xbeU & 0x3f);\n      if ((uVar5 & 0x401) == 0) {\n        if ((uVar5 & 0x40100000000) == 0) {\n          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;\n          DAT_00108438 = 1;\n        }\n        else {\n          DAT_00108438 = 2;\n        }\n      }\n      else {\n        DAT_00108438 = 4;\n      }\n      bfd_init();\n      FUN_001035e0();\n      if ((int)local_dc <= (int)optind) {\n        DAT_00108448 = 0;\n        FUN_00102ec0("{standard input}",stdin,0,0,0);\n        return (undefined **)0x0;\n      }\n      bVar1 = false;\n      bVar17 = false;\n      ppuVar15 = (undefined **)0x0;\n      bVar18 = true;\n      pcVar11 = "-";\n      do {\n        __filename = (byte *)local_e8[(int)optind];\n        lVar10 = 2;\n        pbVar12 = __filename;\n        pbVar14 = &DAT_001055d5;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar17 = *pbVar12 < *pbVar14;\n          bVar18 = *pbVar12 == *pbVar14;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n        } while (bVar18);\n        if ((!bVar17 && !bVar18) == bVar17) {\n          DAT_00108448 = 0;\n        }\n        else {\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }\n        optind = optind + 1;\n        bVar17 = optind < local_dc;\n        bVar18 = optind == local_dc;\n      } while ((int)optind < (int)local_dc);\n      if (bVar1) {\n        return ppuVar15;\n      }\n    }\nLAB_00102704:\n    FUN_00102dc0(stderr,1);\n    DAT_0010845c = 8;\n  } while( true );" do (compound_statement "{\n    while (iVar2 = getopt_long(local_dc,local_e8,pcVar11,ppuVar15,0), iVar2 != -1) {\n      if (iVar2 - 0x3fU < 0x39) {\n                    \n                    \n        ppuVar15 = (undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))();\n        return ppuVar15;\n      }\n      __stream = (FILE *)(ulong)optind;\n    }\n    iVar2 = (int)__stream;\n    if (iVar2 != 0) {\n      uVar5 = strtoul((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0);\n      DAT_00108458 = (uint)uVar5;\n      if ((local_d8 != (char *)0x0) && (*local_d8 != '\0')) {\n        lVar10 = local_e8[(long)iVar2 + -1];\n        uVar9 = dcgettext(0,"invalid integer argument %s",5);\n                    \n        FUN_001034a0(uVar9,lVar10 + 1);\n      }\n    }\n    uVar3 = DAT_00108458;\n    __filename = (byte *)(ulong)DAT_00108458;\n    if ((int)DAT_00108458 < 1) {\n      uVar9 = dcgettext(0,"invalid minimum string length %d",5);\n                    \n      FUN_001034a0(uVar9,uVar3);\n    }\n    if ((byte)(DAT_0010843c + 0xbeU) < 0x32) {\n      uVar5 = 1L << (DAT_0010843c + 0xbeU & 0x3f);\n      if ((uVar5 & 0x401) == 0) {\n        if ((uVar5 & 0x40100000000) == 0) {\n          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;\n          DAT_00108438 = 1;\n        }\n        else {\n          DAT_00108438 = 2;\n        }\n      }\n      else {\n        DAT_00108438 = 4;\n      }\n      bfd_init();\n      FUN_001035e0();\n      if ((int)local_dc <= (int)optind) {\n        DAT_00108448 = 0;\n        FUN_00102ec0("{standard input}",stdin,0,0,0);\n        return (undefined **)0x0;\n      }\n      bVar1 = false;\n      bVar17 = false;\n      ppuVar15 = (undefined **)0x0;\n      bVar18 = true;\n      pcVar11 = "-";\n      do {\n        __filename = (byte *)local_e8[(int)optind];\n        lVar10 = 2;\n        pbVar12 = __filename;\n        pbVar14 = &DAT_001055d5;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar17 = *pbVar12 < *pbVar14;\n          bVar18 = *pbVar12 == *pbVar14;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n        } while (bVar18);\n        if ((!bVar17 && !bVar18) == bVar17) {\n          DAT_00108448 = 0;\n        }\n        else {\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }\n        optind = optind + 1;\n        bVar17 = optind < local_dc;\n        bVar18 = optind == local_dc;\n      } while ((int)optind < (int)local_dc);\n      if (bVar1) {\n        return ppuVar15;\n      }\n    }\nLAB_00102704:\n    FUN_00102dc0(stderr,1);\n    DAT_0010845c = 8;\n  }" { (while_statement "while (iVar2 = getopt_long(local_dc,local_e8,pcVar11,ppuVar15,0), iVar2 != -1) {\n      if (iVar2 - 0x3fU < 0x39) {\n                    \n                    \n        ppuVar15 = (undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))();\n        return ppuVar15;\n      }\n      __stream = (FILE *)(ulong)optind;\n    }" while (parenthesized_expression "(iVar2 = getopt_long(local_dc,local_e8,pcVar11,ppuVar15,0), iVar2 != -1)" ( (comma_expression "iVar2 = getopt_long(local_dc,local_e8,pcVar11,ppuVar15,0), iVar2 != -1" (assignment_expression "iVar2 = getopt_long(local_dc,local_e8,pcVar11,ppuVar15,0)" identifier = (call_expression "getopt_long(local_dc,local_e8,pcVar11,ppuVar15,0)" identifier (argument_list "(local_dc,local_e8,pcVar11,ppuVar15,0)" ( identifier , identifier , identifier , identifier , number_literal )))) , (binary_expression "iVar2 != -1" identifier != number_literal)) )) (compound_statement "{\n      if (iVar2 - 0x3fU < 0x39) {\n                    \n                    \n        ppuVar15 = (undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))();\n        return ppuVar15;\n      }\n      __stream = (FILE *)(ulong)optind;\n    }" { (if_statement "if (iVar2 - 0x3fU < 0x39) {\n                    \n                    \n        ppuVar15 = (undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))();\n        return ppuVar15;\n      }" if (parenthesized_expression "(iVar2 - 0x3fU < 0x39)" ( (binary_expression "iVar2 - 0x3fU < 0x39" (binary_expression "iVar2 - 0x3fU" identifier - number_literal) < number_literal) )) (compound_statement "{\n                    \n                    \n        ppuVar15 = (undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))();\n        return ppuVar15;\n      }" { (expression_statement "ppuVar15 = (undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))();" (assignment_expression "ppuVar15 = (undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))()" identifier = (cast_expression "(undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))()" (parenthesized_expression "(*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))" ( (pointer_expression "*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4))" * (cast_expression "(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4))" ( (binary_expression "__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)" identifier + (pointer_expression "*(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)" * (cast_expression "(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__filename + (ulong)(iVar2 - 0x3fU) * 4)" ( (binary_expression "__filename + (ulong)(iVar2 - 0x3fU) * 4" identifier + (binary_expression "(ulong)(iVar2 - 0x3fU) * 4" (call_expression "(ulong)(iVar2 - 0x3fU)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar2 - 0x3fU)" ( (binary_expression "iVar2 - 0x3fU" identifier - number_literal) ))) * number_literal)) ))))) )))) )) (argument_list "()" ( ))))) ;) (return_statement "return ppuVar15;" return identifier ;) })) (expression_statement "__stream = (FILE *)(ulong)optind;" (assignment_expression "__stream = (FILE *)(ulong)optind" identifier = (cast_expression "(FILE *)(ulong)optind" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)optind" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) })) (expression_statement "iVar2 = (int)__stream;" (assignment_expression "iVar2 = (int)__stream" identifier = (cast_expression "(int)__stream" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (iVar2 != 0) {\n      uVar5 = strtoul((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0);\n      DAT_00108458 = (uint)uVar5;\n      if ((local_d8 != (char *)0x0) && (*local_d8 != '\0')) {\n        lVar10 = local_e8[(long)iVar2 + -1];\n        uVar9 = dcgettext(0,"invalid integer argument %s",5);\n                    \n        FUN_001034a0(uVar9,lVar10 + 1);\n      }\n    }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar5 = strtoul((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0);\n      DAT_00108458 = (uint)uVar5;\n      if ((local_d8 != (char *)0x0) && (*local_d8 != '\0')) {\n        lVar10 = local_e8[(long)iVar2 + -1];\n        uVar9 = dcgettext(0,"invalid integer argument %s",5);\n                    \n        FUN_001034a0(uVar9,lVar10 + 1);\n      }\n    }" { (expression_statement "uVar5 = strtoul((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0);" (assignment_expression "uVar5 = strtoul((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0)" identifier = (call_expression "strtoul((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0)" identifier (argument_list "((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0)" ( (cast_expression "(char *)(local_e8[(long)iVar2 + -1] + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_e8[(long)iVar2 + -1] + 1)" ( (binary_expression "local_e8[(long)iVar2 + -1] + 1" (subscript_expression "local_e8[(long)iVar2 + -1]" identifier [ (binary_expression "(long)iVar2 + -1" (cast_expression "(long)iVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ]) + number_literal) ))) , (pointer_expression "&local_d8" & identifier) , number_literal )))) ;) (expression_statement "DAT_00108458 = (uint)uVar5;" (assignment_expression "DAT_00108458 = (uint)uVar5" identifier = (cast_expression "(uint)uVar5" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((local_d8 != (char *)0x0) && (*local_d8 != '\0')) {\n        lVar10 = local_e8[(long)iVar2 + -1];\n        uVar9 = dcgettext(0,"invalid integer argument %s",5);\n                    \n        FUN_001034a0(uVar9,lVar10 + 1);\n      }" if (parenthesized_expression "((local_d8 != (char *)0x0) && (*local_d8 != '\0'))" ( (binary_expression "(local_d8 != (char *)0x0) && (*local_d8 != '\0')" (parenthesized_expression "(local_d8 != (char *)0x0)" ( (binary_expression "local_d8 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*local_d8 != '\0')" ( (binary_expression "*local_d8 != '\0'" (pointer_expression "*local_d8" * identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n        lVar10 = local_e8[(long)iVar2 + -1];\n        uVar9 = dcgettext(0,"invalid integer argument %s",5);\n                    \n        FUN_001034a0(uVar9,lVar10 + 1);\n      }" { (expression_statement "lVar10 = local_e8[(long)iVar2 + -1];" (assignment_expression "lVar10 = local_e8[(long)iVar2 + -1]" identifier = (subscript_expression "local_e8[(long)iVar2 + -1]" identifier [ (binary_expression "(long)iVar2 + -1" (cast_expression "(long)iVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ])) ;) (expression_statement "uVar9 = dcgettext(0,"invalid integer argument %s",5);" (assignment_expression "uVar9 = dcgettext(0,"invalid integer argument %s",5)" identifier = (call_expression "dcgettext(0,"invalid integer argument %s",5)" identifier (argument_list "(0,"invalid integer argument %s",5)" ( number_literal , (string_literal ""invalid integer argument %s"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_001034a0(uVar9,lVar10 + 1);" (call_expression "FUN_001034a0(uVar9,lVar10 + 1)" identifier (argument_list "(uVar9,lVar10 + 1)" ( identifier , (binary_expression "lVar10 + 1" identifier + number_literal) ))) ;) })) })) (expression_statement "uVar3 = DAT_00108458;" (assignment_expression "uVar3 = DAT_00108458" identifier = identifier) ;) (expression_statement "__filename = (byte *)(ulong)DAT_00108458;" (assignment_expression "__filename = (byte *)(ulong)DAT_00108458" identifier = (cast_expression "(byte *)(ulong)DAT_00108458" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)DAT_00108458" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (if_statement "if ((int)DAT_00108458 < 1) {\n      uVar9 = dcgettext(0,"invalid minimum string length %d",5);\n                    \n      FUN_001034a0(uVar9,uVar3);\n    }" if (parenthesized_expression "((int)DAT_00108458 < 1)" ( (binary_expression "(int)DAT_00108458 < 1" (cast_expression "(int)DAT_00108458" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      uVar9 = dcgettext(0,"invalid minimum string length %d",5);\n                    \n      FUN_001034a0(uVar9,uVar3);\n    }" { (expression_statement "uVar9 = dcgettext(0,"invalid minimum string length %d",5);" (assignment_expression "uVar9 = dcgettext(0,"invalid minimum string length %d",5)" identifier = (call_expression "dcgettext(0,"invalid minimum string length %d",5)" identifier (argument_list "(0,"invalid minimum string length %d",5)" ( number_literal , (string_literal ""invalid minimum string length %d"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_001034a0(uVar9,uVar3);" (call_expression "FUN_001034a0(uVar9,uVar3)" identifier (argument_list "(uVar9,uVar3)" ( identifier , identifier ))) ;) })) (if_statement "if ((byte)(DAT_0010843c + 0xbeU) < 0x32) {\n      uVar5 = 1L << (DAT_0010843c + 0xbeU & 0x3f);\n      if ((uVar5 & 0x401) == 0) {\n        if ((uVar5 & 0x40100000000) == 0) {\n          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;\n          DAT_00108438 = 1;\n        }\n        else {\n          DAT_00108438 = 2;\n        }\n      }\n      else {\n        DAT_00108438 = 4;\n      }\n      bfd_init();\n      FUN_001035e0();\n      if ((int)local_dc <= (int)optind) {\n        DAT_00108448 = 0;\n        FUN_00102ec0("{standard input}",stdin,0,0,0);\n        return (undefined **)0x0;\n      }\n      bVar1 = false;\n      bVar17 = false;\n      ppuVar15 = (undefined **)0x0;\n      bVar18 = true;\n      pcVar11 = "-";\n      do {\n        __filename = (byte *)local_e8[(int)optind];\n        lVar10 = 2;\n        pbVar12 = __filename;\n        pbVar14 = &DAT_001055d5;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar17 = *pbVar12 < *pbVar14;\n          bVar18 = *pbVar12 == *pbVar14;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n        } while (bVar18);\n        if ((!bVar17 && !bVar18) == bVar17) {\n          DAT_00108448 = 0;\n        }\n        else {\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }\n        optind = optind + 1;\n        bVar17 = optind < local_dc;\n        bVar18 = optind == local_dc;\n      } while ((int)optind < (int)local_dc);\n      if (bVar1) {\n        return ppuVar15;\n      }\n    }" if (parenthesized_expression "((byte)(DAT_0010843c + 0xbeU) < 0x32)" ( (binary_expression "(byte)(DAT_0010843c + 0xbeU) < 0x32" (call_expression "(byte)(DAT_0010843c + 0xbeU)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(DAT_0010843c + 0xbeU)" ( (binary_expression "DAT_0010843c + 0xbeU" identifier + number_literal) ))) < number_literal) )) (compound_statement "{\n      uVar5 = 1L << (DAT_0010843c + 0xbeU & 0x3f);\n      if ((uVar5 & 0x401) == 0) {\n        if ((uVar5 & 0x40100000000) == 0) {\n          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;\n          DAT_00108438 = 1;\n        }\n        else {\n          DAT_00108438 = 2;\n        }\n      }\n      else {\n        DAT_00108438 = 4;\n      }\n      bfd_init();\n      FUN_001035e0();\n      if ((int)local_dc <= (int)optind) {\n        DAT_00108448 = 0;\n        FUN_00102ec0("{standard input}",stdin,0,0,0);\n        return (undefined **)0x0;\n      }\n      bVar1 = false;\n      bVar17 = false;\n      ppuVar15 = (undefined **)0x0;\n      bVar18 = true;\n      pcVar11 = "-";\n      do {\n        __filename = (byte *)local_e8[(int)optind];\n        lVar10 = 2;\n        pbVar12 = __filename;\n        pbVar14 = &DAT_001055d5;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar17 = *pbVar12 < *pbVar14;\n          bVar18 = *pbVar12 == *pbVar14;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n        } while (bVar18);\n        if ((!bVar17 && !bVar18) == bVar17) {\n          DAT_00108448 = 0;\n        }\n        else {\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }\n        optind = optind + 1;\n        bVar17 = optind < local_dc;\n        bVar18 = optind == local_dc;\n      } while ((int)optind < (int)local_dc);\n      if (bVar1) {\n        return ppuVar15;\n      }\n    }" { (expression_statement "uVar5 = 1L << (DAT_0010843c + 0xbeU & 0x3f);" (assignment_expression "uVar5 = 1L << (DAT_0010843c + 0xbeU & 0x3f)" identifier = (binary_expression "1L << (DAT_0010843c + 0xbeU & 0x3f)" number_literal << (parenthesized_expression "(DAT_0010843c + 0xbeU & 0x3f)" ( (binary_expression "DAT_0010843c + 0xbeU & 0x3f" (binary_expression "DAT_0010843c + 0xbeU" identifier + number_literal) & number_literal) )))) ;) (if_statement "if ((uVar5 & 0x401) == 0) {\n        if ((uVar5 & 0x40100000000) == 0) {\n          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;\n          DAT_00108438 = 1;\n        }\n        else {\n          DAT_00108438 = 2;\n        }\n      }\n      else {\n        DAT_00108438 = 4;\n      }" if (parenthesized_expression "((uVar5 & 0x401) == 0)" ( (binary_expression "(uVar5 & 0x401) == 0" (parenthesized_expression "(uVar5 & 0x401)" ( (binary_expression "uVar5 & 0x401" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        if ((uVar5 & 0x40100000000) == 0) {\n          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;\n          DAT_00108438 = 1;\n        }\n        else {\n          DAT_00108438 = 2;\n        }\n      }" { (if_statement "if ((uVar5 & 0x40100000000) == 0) {\n          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;\n          DAT_00108438 = 1;\n        }\n        else {\n          DAT_00108438 = 2;\n        }" if (parenthesized_expression "((uVar5 & 0x40100000000) == 0)" ( (binary_expression "(uVar5 & 0x40100000000) == 0" (parenthesized_expression "(uVar5 & 0x40100000000)" ( (binary_expression "uVar5 & 0x40100000000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;\n          DAT_00108438 = 1;\n        }" { (if_statement "if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;" if (parenthesized_expression "((uVar5 & 0x2000000020000) == 0)" ( (binary_expression "(uVar5 & 0x2000000020000) == 0" (parenthesized_expression "(uVar5 & 0x2000000020000)" ( (binary_expression "uVar5 & 0x2000000020000" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00102704;" goto statement_identifier ;)) (expression_statement "DAT_00108438 = 1;" (assignment_expression "DAT_00108438 = 1" identifier = number_literal) ;) }) (else_clause "else {\n          DAT_00108438 = 2;\n        }" else (compound_statement "{\n          DAT_00108438 = 2;\n        }" { (expression_statement "DAT_00108438 = 2;" (assignment_expression "DAT_00108438 = 2" identifier = number_literal) ;) }))) }) (else_clause "else {\n        DAT_00108438 = 4;\n      }" else (compound_statement "{\n        DAT_00108438 = 4;\n      }" { (expression_statement "DAT_00108438 = 4;" (assignment_expression "DAT_00108438 = 4" identifier = number_literal) ;) }))) (expression_statement "bfd_init();" (call_expression "bfd_init()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_001035e0();" (call_expression "FUN_001035e0()" identifier (argument_list "()" ( ))) ;) (if_statement "if ((int)local_dc <= (int)optind) {\n        DAT_00108448 = 0;\n        FUN_00102ec0("{standard input}",stdin,0,0,0);\n        return (undefined **)0x0;\n      }" if (parenthesized_expression "((int)local_dc <= (int)optind)" ( (binary_expression "(int)local_dc <= (int)optind" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)optind" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        DAT_00108448 = 0;\n        FUN_00102ec0("{standard input}",stdin,0,0,0);\n        return (undefined **)0x0;\n      }" { (expression_statement "DAT_00108448 = 0;" (assignment_expression "DAT_00108448 = 0" identifier = number_literal) ;) (expression_statement "FUN_00102ec0("{standard input}",stdin,0,0,0);" (call_expression "FUN_00102ec0("{standard input}",stdin,0,0,0)" identifier (argument_list "("{standard input}",stdin,0,0,0)" ( (string_literal ""{standard input}"" " string_content ") , identifier , number_literal , number_literal , number_literal ))) ;) (return_statement "return (undefined **)0x0;" return (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) ;) })) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "bVar17 = false;" (assignment_expression "bVar17 = false" identifier = false) ;) (expression_statement "ppuVar15 = (undefined **)0x0;" (assignment_expression "ppuVar15 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "bVar18 = true;" (assignment_expression "bVar18 = true" identifier = true) ;) (expression_statement "pcVar11 = "-";" (assignment_expression "pcVar11 = "-"" identifier = (string_literal ""-"" " string_content ")) ;) (do_statement "do {\n        __filename = (byte *)local_e8[(int)optind];\n        lVar10 = 2;\n        pbVar12 = __filename;\n        pbVar14 = &DAT_001055d5;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar17 = *pbVar12 < *pbVar14;\n          bVar18 = *pbVar12 == *pbVar14;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n        } while (bVar18);\n        if ((!bVar17 && !bVar18) == bVar17) {\n          DAT_00108448 = 0;\n        }\n        else {\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }\n        optind = optind + 1;\n        bVar17 = optind < local_dc;\n        bVar18 = optind == local_dc;\n      } while ((int)optind < (int)local_dc);" do (compound_statement "{\n        __filename = (byte *)local_e8[(int)optind];\n        lVar10 = 2;\n        pbVar12 = __filename;\n        pbVar14 = &DAT_001055d5;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar17 = *pbVar12 < *pbVar14;\n          bVar18 = *pbVar12 == *pbVar14;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n        } while (bVar18);\n        if ((!bVar17 && !bVar18) == bVar17) {\n          DAT_00108448 = 0;\n        }\n        else {\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }\n        optind = optind + 1;\n        bVar17 = optind < local_dc;\n        bVar18 = optind == local_dc;\n      }" { (expression_statement "__filename = (byte *)local_e8[(int)optind];" (assignment_expression "__filename = (byte *)local_e8[(int)optind]" identifier = (cast_expression "(byte *)local_e8[(int)optind]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_e8[(int)optind]" identifier [ (cast_expression "(int)optind" ( (type_descriptor "int" primitive_type) ) identifier) ]))) ;) (expression_statement "lVar10 = 2;" (assignment_expression "lVar10 = 2" identifier = number_literal) ;) (expression_statement "pbVar12 = __filename;" (assignment_expression "pbVar12 = __filename" identifier = identifier) ;) (expression_statement "pbVar14 = &DAT_001055d5;" (assignment_expression "pbVar14 = &DAT_001055d5" identifier = (pointer_expression "&DAT_001055d5" & identifier)) ;) (do_statement "do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar17 = *pbVar12 < *pbVar14;\n          bVar18 = *pbVar12 == *pbVar14;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n        } while (bVar18);" do (compound_statement "{\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar17 = *pbVar12 < *pbVar14;\n          bVar18 = *pbVar12 == *pbVar14;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n        }" { (if_statement "if (lVar10 == 0) break;" if (parenthesized_expression "(lVar10 == 0)" ( (binary_expression "lVar10 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar10 = lVar10 + -1;" (assignment_expression "lVar10 = lVar10 + -1" identifier = (binary_expression "lVar10 + -1" identifier + number_literal)) ;) (expression_statement "bVar17 = *pbVar12 < *pbVar14;" (assignment_expression "bVar17 = *pbVar12 < *pbVar14" identifier = (binary_expression "*pbVar12 < *pbVar14" (pointer_expression "*pbVar12" * identifier) < (pointer_expression "*pbVar14" * identifier))) ;) (expression_statement "bVar18 = *pbVar12 == *pbVar14;" (assignment_expression "bVar18 = *pbVar12 == *pbVar14" identifier = (binary_expression "*pbVar12 == *pbVar14" (pointer_expression "*pbVar12" * identifier) == (pointer_expression "*pbVar14" * identifier))) ;) (expression_statement "pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;" (assignment_expression "pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1" identifier = (binary_expression "pbVar12 + (ulong)bVar19 * -2 + 1" (binary_expression "pbVar12 + (ulong)bVar19 * -2" identifier + (binary_expression "(ulong)bVar19 * -2" (cast_expression "(ulong)bVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;" (assignment_expression "pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1" identifier = (binary_expression "pbVar14 + (ulong)bVar19 * -2 + 1" (binary_expression "pbVar14 + (ulong)bVar19 * -2" identifier + (binary_expression "(ulong)bVar19 * -2" (cast_expression "(ulong)bVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar18)" ( identifier )) ;) (if_statement "if ((!bVar17 && !bVar18) == bVar17) {\n          DAT_00108448 = 0;\n        }\n        else {\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }" if (parenthesized_expression "((!bVar17 && !bVar18) == bVar17)" ( (binary_expression "(!bVar17 && !bVar18) == bVar17" (parenthesized_expression "(!bVar17 && !bVar18)" ( (binary_expression "!bVar17 && !bVar18" (unary_expression "!bVar17" ! identifier) && (unary_expression "!bVar18" ! identifier)) )) == identifier) )) (compound_statement "{\n          DAT_00108448 = 0;\n        }" { (expression_statement "DAT_00108448 = 0;" (assignment_expression "DAT_00108448 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }" else (compound_statement "{\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }" { (expression_statement "iVar2 = __xstat(1,(char *)__filename,&local_c8);" (assignment_expression "iVar2 = __xstat(1,(char *)__filename,&local_c8)" identifier = (call_expression "__xstat(1,(char *)__filename,&local_c8)" identifier (argument_list "(1,(char *)__filename,&local_c8)" ( number_literal , (cast_expression "(char *)__filename" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&local_c8" & identifier) )))) ;) (if_statement "if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }" { (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }" if (parenthesized_expression "(*piVar6 == 2)" ( (binary_expression "*piVar6 == 2" (pointer_expression "*piVar6" * identifier) == number_literal) )) (compound_statement "{\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }" { (expression_statement "pcVar13 = "\'%s\': No such file";" (assignment_expression "pcVar13 = "\'%s\': No such file"" identifier = (string_literal ""\'%s\': No such file"" " escape_sequence string_content escape_sequence string_content ")) ;) (goto_statement "goto LAB_00102b34;" goto statement_identifier ;) })) (expression_statement "__stream = (FILE *)strerror(*piVar6);" (assignment_expression "__stream = (FILE *)strerror(*piVar6)" identifier = (cast_expression "(FILE *)strerror(*piVar6)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "strerror(*piVar6)" identifier (argument_list "(*piVar6)" ( (pointer_expression "*piVar6" * identifier) ))))) ;) (expression_statement "uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);" (assignment_expression "uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5)" identifier = (call_expression "dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5)" identifier (argument_list "(0,"Warning: could not locate \'%s\'.  reason: %s",5)" ( number_literal , (string_literal ""Warning: could not locate \'%s\'.  reason: %s"" " string_content escape_sequence string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_00103540(uVar9,__filename,__stream);" (call_expression "FUN_00103540(uVar9,__filename,__stream)" identifier (argument_list "(uVar9,__filename,__stream)" ( identifier , identifier , identifier ))) ;) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" identifier = number_literal) ;) }) (else_clause "else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }" else (if_statement "if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }" if (parenthesized_expression "((local_c8.st_mode & 0xf000) == 0x4000)" ( (binary_expression "(local_c8.st_mode & 0xf000) == 0x4000" (parenthesized_expression "(local_c8.st_mode & 0xf000)" ( (binary_expression "local_c8.st_mode & 0xf000" (field_expression "local_c8.st_mode" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }" { (expression_statement "pcVar13 = "Warning: \'%s\' is a directory";" (assignment_expression "pcVar13 = "Warning: \'%s\' is a directory"" identifier = (string_literal ""Warning: \'%s\' is a directory"" " string_content escape_sequence string_content escape_sequence string_content ")) ;) (labeled_statement "LAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);" statement_identifier : (expression_statement "uVar9 = dcgettext(0,pcVar13,5);" (assignment_expression "uVar9 = dcgettext(0,pcVar13,5)" identifier = (call_expression "dcgettext(0,pcVar13,5)" identifier (argument_list "(0,pcVar13,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "FUN_00103540(uVar9,__filename);" (call_expression "FUN_00103540(uVar9,__filename)" identifier (argument_list "(uVar9,__filename)" ( identifier , identifier ))) ;) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" identifier = number_literal) ;) }) (else_clause "else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }" else (if_statement "if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }" if (parenthesized_expression "((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))" ( (binary_expression "(DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0)" (parenthesized_expression "(DAT_00108448 == 0)" ( (binary_expression "DAT_00108448 == 0" identifier == number_literal) )) || (parenthesized_expression "(__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0)" ( (comma_expression "__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0" (assignment_expression "__stream = (FILE *)bfd_openr(__filename,DAT_00108440)" identifier = (cast_expression "(FILE *)bfd_openr(__filename,DAT_00108440)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_openr(__filename,DAT_00108440)" identifier (argument_list "(__filename,DAT_00108440)" ( identifier , identifier ))))) , (binary_expression "__stream == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }" { (labeled_statement "LAB_00102978:\n            __stream = fopen((char *)__filename,"r");" statement_identifier : (expression_statement "__stream = fopen((char *)__filename,"r");" (assignment_expression "__stream = fopen((char *)__filename,"r")" identifier = (call_expression "fopen((char *)__filename,"r")" identifier (argument_list "((char *)__filename,"r")" ( (cast_expression "(char *)__filename" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""r"" " string_content ") )))) ;)) (if_statement "if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }" if (parenthesized_expression "(__stream != (FILE *)0x0)" ( (binary_expression "__stream != (FILE *)0x0" identifier != (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }" { (expression_statement "FUN_00102ec0(__filename,__stream,0,0);" (call_expression "FUN_00102ec0(__filename,__stream,0,0)" identifier (argument_list "(__filename,__stream,0,0)" ( identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "iVar2 = fclose(__stream);" (assignment_expression "iVar2 = fclose(__stream)" identifier = (call_expression "fclose(__stream)" identifier (argument_list "(__stream)" ( identifier )))) ;) (if_statement "if (iVar2 != -1) goto LAB_00102914;" if (parenthesized_expression "(iVar2 != -1)" ( (binary_expression "iVar2 != -1" identifier != number_literal) )) (goto_statement "goto LAB_00102914;" goto statement_identifier ;)) })) (expression_statement "fprintf(stderr,"%s: ",DAT_00108478);" (call_expression "fprintf(stderr,"%s: ",DAT_00108478)" identifier (argument_list "(stderr,"%s: ",DAT_00108478)" ( identifier , (string_literal ""%s: "" " string_content ") , identifier ))) ;) (expression_statement "perror((char *)__filename);" (call_expression "perror((char *)__filename)" identifier (argument_list "((char *)__filename)" ( (cast_expression "(char *)__filename" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }" else (compound_statement "{\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }" { (expression_statement "iVar2 = bfd_check_format(__stream,1);" (assignment_expression "iVar2 = bfd_check_format(__stream,1)" identifier = (call_expression "bfd_check_format(__stream,1)" identifier (argument_list "(__stream,1)" ( identifier , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }" { (expression_statement "bfd_close(__stream);" (call_expression "bfd_close(__stream)" identifier (argument_list "(__stream)" ( identifier ))) ;) (goto_statement "goto LAB_00102978;" goto statement_identifier ;) })) (expression_statement "puVar16 = (undefined8 *)__stream->_offset;" (assignment_expression "puVar16 = (undefined8 *)__stream->_offset" identifier = (cast_expression "(undefined8 *)__stream->_offset" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "__stream->_offset" identifier -> field_identifier))) ;) (if_statement "if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }" if (parenthesized_expression "(puVar16 == (undefined8 *)0x0)" ( (binary_expression "puVar16 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }" { (expression_statement "iVar2 = bfd_close(__stream);" (assignment_expression "iVar2 = bfd_close(__stream)" identifier = (call_expression "bfd_close(__stream)" identifier (argument_list "(__stream)" ( identifier )))) ;) (if_statement "if (iVar2 == 0) goto LAB_00102969;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00102969;" goto statement_identifier ;)) (goto_statement "goto LAB_00102978;" goto statement_identifier ;) })) (expression_statement "local_e0 = 0;" (assignment_expression "local_e0 = 0" identifier = number_literal) ;) (do_statement "do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);" do (compound_statement "{\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            }" { (if_statement "if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }" if (parenthesized_expression "(((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0))" ( (binary_expression "((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)" (parenthesized_expression "((*(uint *)(puVar16 + 4) & 0x103) == 0x103)" ( (binary_expression "(*(uint *)(puVar16 + 4) & 0x103) == 0x103" (parenthesized_expression "(*(uint *)(puVar16 + 4) & 0x103)" ( (binary_expression "*(uint *)(puVar16 + 4) & 0x103" (pointer_expression "*(uint *)(puVar16 + 4)" * (cast_expression "(uint *)(puVar16 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + 4)" ( (binary_expression "puVar16 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(puVar16[7] != 0)" ( (binary_expression "puVar16[7] != 0" (subscript_expression "puVar16[7]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }" { (expression_statement "iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);" (assignment_expression "iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0)" identifier = (call_expression "bfd_malloc_and_get_section(__stream,puVar16,&local_d0)" identifier (argument_list "(__stream,puVar16,&local_d0)" ( identifier , identifier , (pointer_expression "&local_d0" & identifier) )))) ;) (if_statement "if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }" { (expression_statement "uVar4 = bfd_get_error();" (assignment_expression "uVar4 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar7 = bfd_errmsg(uVar4);" (assignment_expression "uVar7 = bfd_errmsg(uVar4)" identifier = (call_expression "bfd_errmsg(uVar4)" identifier (argument_list "(uVar4)" ( identifier )))) ;) (expression_statement "uVar9 = *puVar16;" (assignment_expression "uVar9 = *puVar16" identifier = (pointer_expression "*puVar16" * identifier)) ;) (expression_statement "uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);" (assignment_expression "uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5)" identifier = (call_expression "dcgettext(0,"%s: Reading section %s failed: %s",5)" identifier (argument_list "(0,"%s: Reading section %s failed: %s",5)" ( number_literal , (string_literal ""%s: Reading section %s failed: %s"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_00103540(uVar8,__filename,uVar9,uVar7);" (call_expression "FUN_00103540(uVar8,__filename,uVar9,uVar7)" identifier (argument_list "(uVar8,__filename,uVar9,uVar7)" ( identifier , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }" else (compound_statement "{\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }" { (expression_statement "FUN_00102ec0(__filename,0,puVar16[0x12]);" (call_expression "FUN_00102ec0(__filename,0,puVar16[0x12])" identifier (argument_list "(__filename,0,puVar16[0x12])" ( identifier , number_literal , (subscript_expression "puVar16[0x12]" identifier [ number_literal ]) ))) ;) (expression_statement "free(local_d0);" (call_expression "free(local_d0)" identifier (argument_list "(local_d0)" ( identifier ))) ;) (expression_statement "local_e0 = 1;" (assignment_expression "local_e0 = 1" identifier = number_literal) ;) }))) })) (expression_statement "puVar16 = (undefined8 *)puVar16[2];" (assignment_expression "puVar16 = (undefined8 *)puVar16[2]" identifier = (cast_expression "(undefined8 *)puVar16[2]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar16[2]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "(puVar16 != (undefined8 *)0x0)" ( (binary_expression "puVar16 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "iVar2 = bfd_close(__stream);" (assignment_expression "iVar2 = bfd_close(__stream)" identifier = (call_expression "bfd_close(__stream)" identifier (argument_list "(__stream)" ( identifier )))) ;) (if_statement "if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }" { (labeled_statement "LAB_00102969:\n              FUN_001031f0(__filename);" statement_identifier : (expression_statement "FUN_001031f0(__filename);" (call_expression "FUN_001031f0(__filename)" identifier (argument_list "(__filename)" ( identifier ))) ;)) (goto_statement "goto LAB_00102978;" goto statement_identifier ;) })) (if_statement "if (local_e0 == 0) goto LAB_00102978;" if (parenthesized_expression "(local_e0 == 0)" ( (binary_expression "local_e0 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00102978;" goto statement_identifier ;)) (labeled_statement "LAB_00102914:\n            uVar3 = 1;" statement_identifier : (expression_statement "uVar3 = 1;" (assignment_expression "uVar3 = 1" identifier = number_literal) ;)) }))))))) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);" (assignment_expression "ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1)" identifier = (cast_expression "(undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(ulong)((uint)ppuVar15 | uVar3 ^ 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)ppuVar15 | uVar3 ^ 1)" ( (binary_expression "(uint)ppuVar15 | uVar3 ^ 1" (cast_expression "(uint)ppuVar15" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "uVar3 ^ 1" identifier ^ number_literal)) ))))) ;) }))) (expression_statement "optind = optind + 1;" (assignment_expression "optind = optind + 1" identifier = (binary_expression "optind + 1" identifier + number_literal)) ;) (expression_statement "bVar17 = optind < local_dc;" (assignment_expression "bVar17 = optind < local_dc" identifier = (binary_expression "optind < local_dc" identifier < identifier)) ;) (expression_statement "bVar18 = optind == local_dc;" (assignment_expression "bVar18 = optind == local_dc" identifier = (binary_expression "optind == local_dc" identifier == identifier)) ;) }) while (parenthesized_expression "((int)optind < (int)local_dc)" ( (binary_expression "(int)optind < (int)local_dc" (cast_expression "(int)optind" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (if_statement "if (bVar1) {\n        return ppuVar15;\n      }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n        return ppuVar15;\n      }" { (return_statement "return ppuVar15;" return identifier ;) })) })) (labeled_statement "LAB_00102704:\n    FUN_00102dc0(stderr,1);" statement_identifier : (expression_statement "FUN_00102dc0(stderr,1);" (call_expression "FUN_00102dc0(stderr,1)" identifier (argument_list "(stderr,1)" ( identifier , number_literal ))) ;)) (expression_statement "DAT_0010845c = 8;" (assignment_expression "DAT_0010845c = 8" identifier = number_literal) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))))) (compound_statement { (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 IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (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 = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (char_literal ' character ')) ;) (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) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , LIT )))) , (binary_expression IDENT != LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) * LIT)) ))))) )))) )) (argument_list ( ))))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ]) + LIT) ))) , (pointer_expression & IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ])) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) })) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression LIT << (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , LIT , LIT , LIT ))) ;) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT) ;) })) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ]))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_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 ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " escape_sequence string_content escape_sequence string_content ")) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression * IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence string_content escape_sequence string_content ")) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , LIT )))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 *)) ) IDENT) , (string_literal " string_content ") )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT -> field_identifier))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }))))))) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | (binary_expression IDENT ^ LIT)) ))))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == IDENT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (return_statement return IDENT ;) })) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }) while (parenthesized_expression ( BOOL )) ;) })))
(function_definition "undefined ** FUN_00102480(uint param_1,undefined8 *param_2)\n\n{\n  bool bVar1;\n  int iVar2;\n  uint uVar3;\n  undefined4 uVar4;\n  ulong uVar5;\n  FILE *__stream;\n  int *piVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  undefined8 uVar9;\n  long lVar10;\n  byte *__filename;\n  char *pcVar11;\n  byte *pbVar12;\n  char *pcVar13;\n  byte *pbVar14;\n  undefined **ppuVar15;\n  undefined8 *puVar16;\n  bool bVar17;\n  bool bVar18;\n  byte bVar19;\n  undefined8 *local_e8;\n  int local_e0;\n  uint local_dc;\n  char *local_d8;\n  void *local_d0;\n  stat local_c8;\n  \n  bVar19 = 0;\n  __stream = (FILE *)0x0;\n  ppuVar15 = &PTR_DAT_00108260;\n  pcVar11 = "adfhHn:wot:e:T:s:Vv0123456789";\n  __filename = &DAT_00105674;\n  local_e8 = param_2;\n  local_dc = param_1;\n  setlocale(6,"");\n  bindtextdomain("binutils","/usr/share/locale");\n  textdomain("binutils");\n  DAT_00108478 = *local_e8;\n  xmalloc_set_program_name();\n  bfd_set_error_program_name(DAT_00108478);\n  FUN_001047f0(&local_dc,&local_e8);\n  DAT_0010843c = 's';\n  DAT_00108458 = 4;\n  DAT_00108454 = 0;\n  DAT_00108450 = 0;\n  DAT_0010844c = 0;\n  DAT_00108448 = 0;\n  DAT_00108440 = 0;\n  DAT_00108430 = 0;\n  do {\n    while (iVar2 = getopt_long(local_dc,local_e8,pcVar11,ppuVar15,0), iVar2 != -1) {\n      if (iVar2 - 0x3fU < 0x39) {\n                    \n                    \n        ppuVar15 = (undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))();\n        return ppuVar15;\n      }\n      __stream = (FILE *)(ulong)optind;\n    }\n    iVar2 = (int)__stream;\n    if (iVar2 != 0) {\n      uVar5 = strtoul((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0);\n      DAT_00108458 = (uint)uVar5;\n      if ((local_d8 != (char *)0x0) && (*local_d8 != '\0')) {\n        lVar10 = local_e8[(long)iVar2 + -1];\n        uVar9 = dcgettext(0,"invalid integer argument %s",5);\n                    \n        FUN_001034a0(uVar9,lVar10 + 1);\n      }\n    }\n    uVar3 = DAT_00108458;\n    __filename = (byte *)(ulong)DAT_00108458;\n    if ((int)DAT_00108458 < 1) {\n      uVar9 = dcgettext(0,"invalid minimum string length %d",5);\n                    \n      FUN_001034a0(uVar9,uVar3);\n    }\n    if ((byte)(DAT_0010843c + 0xbeU) < 0x32) {\n      uVar5 = 1L << (DAT_0010843c + 0xbeU & 0x3f);\n      if ((uVar5 & 0x401) == 0) {\n        if ((uVar5 & 0x40100000000) == 0) {\n          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;\n          DAT_00108438 = 1;\n        }\n        else {\n          DAT_00108438 = 2;\n        }\n      }\n      else {\n        DAT_00108438 = 4;\n      }\n      bfd_init();\n      FUN_001035e0();\n      if ((int)local_dc <= (int)optind) {\n        DAT_00108448 = 0;\n        FUN_00102ec0("{standard input}",stdin,0,0,0);\n        return (undefined **)0x0;\n      }\n      bVar1 = false;\n      bVar17 = false;\n      ppuVar15 = (undefined **)0x0;\n      bVar18 = true;\n      pcVar11 = "-";\n      do {\n        __filename = (byte *)local_e8[(int)optind];\n        lVar10 = 2;\n        pbVar12 = __filename;\n        pbVar14 = &DAT_001055d5;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar17 = *pbVar12 < *pbVar14;\n          bVar18 = *pbVar12 == *pbVar14;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n        } while (bVar18);\n        if ((!bVar17 && !bVar18) == bVar17) {\n          DAT_00108448 = 0;\n        }\n        else {\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }\n        optind = optind + 1;\n        bVar17 = optind < local_dc;\n        bVar18 = optind == local_dc;\n      } while ((int)optind < (int)local_dc);\n      if (bVar1) {\n        return ppuVar15;\n      }\n    }\nLAB_00102704:\n    FUN_00102dc0(stderr,1);\n    DAT_0010845c = 8;\n  } while( true );\n}" (type_identifier "undefined") (pointer_declarator "** FUN_00102480(uint param_1,undefined8 *param_2)" (* "*") (pointer_declarator "* FUN_00102480(uint param_1,undefined8 *param_2)" (* "*") (function_declarator "FUN_00102480(uint param_1,undefined8 *param_2)" (identifier "FUN_00102480") (parameter_list "(uint param_1,undefined8 *param_2)" (( "(") (parameter_declaration "uint param_1" (type_identifier "uint") (identifier "param_1")) (, ",") (parameter_declaration "undefined8 *param_2" (type_identifier "undefined8") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  uint uVar3;\n  undefined4 uVar4;\n  ulong uVar5;\n  FILE *__stream;\n  int *piVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  undefined8 uVar9;\n  long lVar10;\n  byte *__filename;\n  char *pcVar11;\n  byte *pbVar12;\n  char *pcVar13;\n  byte *pbVar14;\n  undefined **ppuVar15;\n  undefined8 *puVar16;\n  bool bVar17;\n  bool bVar18;\n  byte bVar19;\n  undefined8 *local_e8;\n  int local_e0;\n  uint local_dc;\n  char *local_d8;\n  void *local_d0;\n  stat local_c8;\n  \n  bVar19 = 0;\n  __stream = (FILE *)0x0;\n  ppuVar15 = &PTR_DAT_00108260;\n  pcVar11 = "adfhHn:wot:e:T:s:Vv0123456789";\n  __filename = &DAT_00105674;\n  local_e8 = param_2;\n  local_dc = param_1;\n  setlocale(6,"");\n  bindtextdomain("binutils","/usr/share/locale");\n  textdomain("binutils");\n  DAT_00108478 = *local_e8;\n  xmalloc_set_program_name();\n  bfd_set_error_program_name(DAT_00108478);\n  FUN_001047f0(&local_dc,&local_e8);\n  DAT_0010843c = 's';\n  DAT_00108458 = 4;\n  DAT_00108454 = 0;\n  DAT_00108450 = 0;\n  DAT_0010844c = 0;\n  DAT_00108448 = 0;\n  DAT_00108440 = 0;\n  DAT_00108430 = 0;\n  do {\n    while (iVar2 = getopt_long(local_dc,local_e8,pcVar11,ppuVar15,0), iVar2 != -1) {\n      if (iVar2 - 0x3fU < 0x39) {\n                    \n                    \n        ppuVar15 = (undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))();\n        return ppuVar15;\n      }\n      __stream = (FILE *)(ulong)optind;\n    }\n    iVar2 = (int)__stream;\n    if (iVar2 != 0) {\n      uVar5 = strtoul((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0);\n      DAT_00108458 = (uint)uVar5;\n      if ((local_d8 != (char *)0x0) && (*local_d8 != '\0')) {\n        lVar10 = local_e8[(long)iVar2 + -1];\n        uVar9 = dcgettext(0,"invalid integer argument %s",5);\n                    \n        FUN_001034a0(uVar9,lVar10 + 1);\n      }\n    }\n    uVar3 = DAT_00108458;\n    __filename = (byte *)(ulong)DAT_00108458;\n    if ((int)DAT_00108458 < 1) {\n      uVar9 = dcgettext(0,"invalid minimum string length %d",5);\n                    \n      FUN_001034a0(uVar9,uVar3);\n    }\n    if ((byte)(DAT_0010843c + 0xbeU) < 0x32) {\n      uVar5 = 1L << (DAT_0010843c + 0xbeU & 0x3f);\n      if ((uVar5 & 0x401) == 0) {\n        if ((uVar5 & 0x40100000000) == 0) {\n          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;\n          DAT_00108438 = 1;\n        }\n        else {\n          DAT_00108438 = 2;\n        }\n      }\n      else {\n        DAT_00108438 = 4;\n      }\n      bfd_init();\n      FUN_001035e0();\n      if ((int)local_dc <= (int)optind) {\n        DAT_00108448 = 0;\n        FUN_00102ec0("{standard input}",stdin,0,0,0);\n        return (undefined **)0x0;\n      }\n      bVar1 = false;\n      bVar17 = false;\n      ppuVar15 = (undefined **)0x0;\n      bVar18 = true;\n      pcVar11 = "-";\n      do {\n        __filename = (byte *)local_e8[(int)optind];\n        lVar10 = 2;\n        pbVar12 = __filename;\n        pbVar14 = &DAT_001055d5;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar17 = *pbVar12 < *pbVar14;\n          bVar18 = *pbVar12 == *pbVar14;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n        } while (bVar18);\n        if ((!bVar17 && !bVar18) == bVar17) {\n          DAT_00108448 = 0;\n        }\n        else {\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }\n        optind = optind + 1;\n        bVar17 = optind < local_dc;\n        bVar18 = optind == local_dc;\n      } while ((int)optind < (int)local_dc);\n      if (bVar1) {\n        return ppuVar15;\n      }\n    }\nLAB_00102704:\n    FUN_00102dc0(stderr,1);\n    DAT_0010845c = 8;\n  } while( true );\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "ulong uVar5;" (type_identifier "ulong") (identifier "uVar5") (; ";")) (declaration "FILE *__stream;" (type_identifier "FILE") (pointer_declarator "*__stream" (* "*") (identifier "__stream")) (; ";")) (declaration "int *piVar6;" (primitive_type "int") (pointer_declarator "*piVar6" (* "*") (identifier "piVar6")) (; ";")) (declaration "undefined8 uVar7;" (type_identifier "undefined8") (identifier "uVar7") (; ";")) (declaration "undefined8 uVar8;" (type_identifier "undefined8") (identifier "uVar8") (; ";")) (declaration "undefined8 uVar9;" (type_identifier "undefined8") (identifier "uVar9") (; ";")) (declaration "long lVar10;" (sized_type_specifier "long" (long "long")) (identifier "lVar10") (; ";")) (declaration "byte *__filename;" (type_identifier "byte") (pointer_declarator "*__filename" (* "*") (identifier "__filename")) (; ";")) (declaration "char *pcVar11;" (primitive_type "char") (pointer_declarator "*pcVar11" (* "*") (identifier "pcVar11")) (; ";")) (declaration "byte *pbVar12;" (type_identifier "byte") (pointer_declarator "*pbVar12" (* "*") (identifier "pbVar12")) (; ";")) (declaration "char *pcVar13;" (primitive_type "char") (pointer_declarator "*pcVar13" (* "*") (identifier "pcVar13")) (; ";")) (declaration "byte *pbVar14;" (type_identifier "byte") (pointer_declarator "*pbVar14" (* "*") (identifier "pbVar14")) (; ";")) (declaration "undefined **ppuVar15;" (type_identifier "undefined") (pointer_declarator "**ppuVar15" (* "*") (pointer_declarator "*ppuVar15" (* "*") (identifier "ppuVar15"))) (; ";")) (declaration "undefined8 *puVar16;" (type_identifier "undefined8") (pointer_declarator "*puVar16" (* "*") (identifier "puVar16")) (; ";")) (declaration "bool bVar17;" (primitive_type "bool") (identifier "bVar17") (; ";")) (declaration "bool bVar18;" (primitive_type "bool") (identifier "bVar18") (; ";")) (declaration "byte bVar19;" (type_identifier "byte") (identifier "bVar19") (; ";")) (declaration "undefined8 *local_e8;" (type_identifier "undefined8") (pointer_declarator "*local_e8" (* "*") (identifier "local_e8")) (; ";")) (declaration "int local_e0;" (primitive_type "int") (identifier "local_e0") (; ";")) (declaration "uint local_dc;" (type_identifier "uint") (identifier "local_dc") (; ";")) (declaration "char *local_d8;" (primitive_type "char") (pointer_declarator "*local_d8" (* "*") (identifier "local_d8")) (; ";")) (declaration "void *local_d0;" (primitive_type "void") (pointer_declarator "*local_d0" (* "*") (identifier "local_d0")) (; ";")) (declaration "stat local_c8;" (type_identifier "stat") (identifier "local_c8") (; ";")) (expression_statement "bVar19 = 0;" (assignment_expression "bVar19 = 0" (identifier "bVar19") (= "=") (number_literal "0")) (; ";")) (expression_statement "__stream = (FILE *)0x0;" (assignment_expression "__stream = (FILE *)0x0" (identifier "__stream") (= "=") (cast_expression "(FILE *)0x0" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppuVar15 = &PTR_DAT_00108260;" (assignment_expression "ppuVar15 = &PTR_DAT_00108260" (identifier "ppuVar15") (= "=") (pointer_expression "&PTR_DAT_00108260" (& "&") (identifier "PTR_DAT_00108260"))) (; ";")) (expression_statement "pcVar11 = "adfhHn:wot:e:T:s:Vv0123456789";" (assignment_expression "pcVar11 = "adfhHn:wot:e:T:s:Vv0123456789"" (identifier "pcVar11") (= "=") (string_literal ""adfhHn:wot:e:T:s:Vv0123456789"" (" """) (string_content "adfhHn:wot:e:T:s:Vv0123456789") (" """))) (; ";")) (expression_statement "__filename = &DAT_00105674;" (assignment_expression "__filename = &DAT_00105674" (identifier "__filename") (= "=") (pointer_expression "&DAT_00105674" (& "&") (identifier "DAT_00105674"))) (; ";")) (expression_statement "local_e8 = param_2;" (assignment_expression "local_e8 = param_2" (identifier "local_e8") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_dc = param_1;" (assignment_expression "local_dc = param_1" (identifier "local_dc") (= "=") (identifier "param_1")) (; ";")) (expression_statement "setlocale(6,"");" (call_expression "setlocale(6,"")" (identifier "setlocale") (argument_list "(6,"")" (( "(") (number_literal "6") (, ",") (string_literal """" (" """) (" """)) () ")"))) (; ";")) (expression_statement "bindtextdomain("binutils","/usr/share/locale");" (call_expression "bindtextdomain("binutils","/usr/share/locale")" (identifier "bindtextdomain") (argument_list "("binutils","/usr/share/locale")" (( "(") (string_literal ""binutils"" (" """) (string_content "binutils") (" """)) (, ",") (string_literal ""/usr/share/locale"" (" """) (string_content "/usr/share/locale") (" """)) () ")"))) (; ";")) (expression_statement "textdomain("binutils");" (call_expression "textdomain("binutils")" (identifier "textdomain") (argument_list "("binutils")" (( "(") (string_literal ""binutils"" (" """) (string_content "binutils") (" """)) () ")"))) (; ";")) (expression_statement "DAT_00108478 = *local_e8;" (assignment_expression "DAT_00108478 = *local_e8" (identifier "DAT_00108478") (= "=") (pointer_expression "*local_e8" (* "*") (identifier "local_e8"))) (; ";")) (expression_statement "xmalloc_set_program_name();" (call_expression "xmalloc_set_program_name()" (identifier "xmalloc_set_program_name") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "bfd_set_error_program_name(DAT_00108478);" (call_expression "bfd_set_error_program_name(DAT_00108478)" (identifier "bfd_set_error_program_name") (argument_list "(DAT_00108478)" (( "(") (identifier "DAT_00108478") () ")"))) (; ";")) (expression_statement "FUN_001047f0(&local_dc,&local_e8);" (call_expression "FUN_001047f0(&local_dc,&local_e8)" (identifier "FUN_001047f0") (argument_list "(&local_dc,&local_e8)" (( "(") (pointer_expression "&local_dc" (& "&") (identifier "local_dc")) (, ",") (pointer_expression "&local_e8" (& "&") (identifier "local_e8")) () ")"))) (; ";")) (expression_statement "DAT_0010843c = 's';" (assignment_expression "DAT_0010843c = 's'" (identifier "DAT_0010843c") (= "=") (char_literal "'s'" (' "'") (character "s") (' "'"))) (; ";")) (expression_statement "DAT_00108458 = 4;" (assignment_expression "DAT_00108458 = 4" (identifier "DAT_00108458") (= "=") (number_literal "4")) (; ";")) (expression_statement "DAT_00108454 = 0;" (assignment_expression "DAT_00108454 = 0" (identifier "DAT_00108454") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00108450 = 0;" (assignment_expression "DAT_00108450 = 0" (identifier "DAT_00108450") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_0010844c = 0;" (assignment_expression "DAT_0010844c = 0" (identifier "DAT_0010844c") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00108448 = 0;" (assignment_expression "DAT_00108448 = 0" (identifier "DAT_00108448") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00108440 = 0;" (assignment_expression "DAT_00108440 = 0" (identifier "DAT_00108440") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00108430 = 0;" (assignment_expression "DAT_00108430 = 0" (identifier "DAT_00108430") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n    while (iVar2 = getopt_long(local_dc,local_e8,pcVar11,ppuVar15,0), iVar2 != -1) {\n      if (iVar2 - 0x3fU < 0x39) {\n                    \n                    \n        ppuVar15 = (undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))();\n        return ppuVar15;\n      }\n      __stream = (FILE *)(ulong)optind;\n    }\n    iVar2 = (int)__stream;\n    if (iVar2 != 0) {\n      uVar5 = strtoul((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0);\n      DAT_00108458 = (uint)uVar5;\n      if ((local_d8 != (char *)0x0) && (*local_d8 != '\0')) {\n        lVar10 = local_e8[(long)iVar2 + -1];\n        uVar9 = dcgettext(0,"invalid integer argument %s",5);\n                    \n        FUN_001034a0(uVar9,lVar10 + 1);\n      }\n    }\n    uVar3 = DAT_00108458;\n    __filename = (byte *)(ulong)DAT_00108458;\n    if ((int)DAT_00108458 < 1) {\n      uVar9 = dcgettext(0,"invalid minimum string length %d",5);\n                    \n      FUN_001034a0(uVar9,uVar3);\n    }\n    if ((byte)(DAT_0010843c + 0xbeU) < 0x32) {\n      uVar5 = 1L << (DAT_0010843c + 0xbeU & 0x3f);\n      if ((uVar5 & 0x401) == 0) {\n        if ((uVar5 & 0x40100000000) == 0) {\n          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;\n          DAT_00108438 = 1;\n        }\n        else {\n          DAT_00108438 = 2;\n        }\n      }\n      else {\n        DAT_00108438 = 4;\n      }\n      bfd_init();\n      FUN_001035e0();\n      if ((int)local_dc <= (int)optind) {\n        DAT_00108448 = 0;\n        FUN_00102ec0("{standard input}",stdin,0,0,0);\n        return (undefined **)0x0;\n      }\n      bVar1 = false;\n      bVar17 = false;\n      ppuVar15 = (undefined **)0x0;\n      bVar18 = true;\n      pcVar11 = "-";\n      do {\n        __filename = (byte *)local_e8[(int)optind];\n        lVar10 = 2;\n        pbVar12 = __filename;\n        pbVar14 = &DAT_001055d5;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar17 = *pbVar12 < *pbVar14;\n          bVar18 = *pbVar12 == *pbVar14;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n        } while (bVar18);\n        if ((!bVar17 && !bVar18) == bVar17) {\n          DAT_00108448 = 0;\n        }\n        else {\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }\n        optind = optind + 1;\n        bVar17 = optind < local_dc;\n        bVar18 = optind == local_dc;\n      } while ((int)optind < (int)local_dc);\n      if (bVar1) {\n        return ppuVar15;\n      }\n    }\nLAB_00102704:\n    FUN_00102dc0(stderr,1);\n    DAT_0010845c = 8;\n  } while( true );" (do "do") (compound_statement "{\n    while (iVar2 = getopt_long(local_dc,local_e8,pcVar11,ppuVar15,0), iVar2 != -1) {\n      if (iVar2 - 0x3fU < 0x39) {\n                    \n                    \n        ppuVar15 = (undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))();\n        return ppuVar15;\n      }\n      __stream = (FILE *)(ulong)optind;\n    }\n    iVar2 = (int)__stream;\n    if (iVar2 != 0) {\n      uVar5 = strtoul((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0);\n      DAT_00108458 = (uint)uVar5;\n      if ((local_d8 != (char *)0x0) && (*local_d8 != '\0')) {\n        lVar10 = local_e8[(long)iVar2 + -1];\n        uVar9 = dcgettext(0,"invalid integer argument %s",5);\n                    \n        FUN_001034a0(uVar9,lVar10 + 1);\n      }\n    }\n    uVar3 = DAT_00108458;\n    __filename = (byte *)(ulong)DAT_00108458;\n    if ((int)DAT_00108458 < 1) {\n      uVar9 = dcgettext(0,"invalid minimum string length %d",5);\n                    \n      FUN_001034a0(uVar9,uVar3);\n    }\n    if ((byte)(DAT_0010843c + 0xbeU) < 0x32) {\n      uVar5 = 1L << (DAT_0010843c + 0xbeU & 0x3f);\n      if ((uVar5 & 0x401) == 0) {\n        if ((uVar5 & 0x40100000000) == 0) {\n          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;\n          DAT_00108438 = 1;\n        }\n        else {\n          DAT_00108438 = 2;\n        }\n      }\n      else {\n        DAT_00108438 = 4;\n      }\n      bfd_init();\n      FUN_001035e0();\n      if ((int)local_dc <= (int)optind) {\n        DAT_00108448 = 0;\n        FUN_00102ec0("{standard input}",stdin,0,0,0);\n        return (undefined **)0x0;\n      }\n      bVar1 = false;\n      bVar17 = false;\n      ppuVar15 = (undefined **)0x0;\n      bVar18 = true;\n      pcVar11 = "-";\n      do {\n        __filename = (byte *)local_e8[(int)optind];\n        lVar10 = 2;\n        pbVar12 = __filename;\n        pbVar14 = &DAT_001055d5;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar17 = *pbVar12 < *pbVar14;\n          bVar18 = *pbVar12 == *pbVar14;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n        } while (bVar18);\n        if ((!bVar17 && !bVar18) == bVar17) {\n          DAT_00108448 = 0;\n        }\n        else {\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }\n        optind = optind + 1;\n        bVar17 = optind < local_dc;\n        bVar18 = optind == local_dc;\n      } while ((int)optind < (int)local_dc);\n      if (bVar1) {\n        return ppuVar15;\n      }\n    }\nLAB_00102704:\n    FUN_00102dc0(stderr,1);\n    DAT_0010845c = 8;\n  }" ({ "{") (while_statement "while (iVar2 = getopt_long(local_dc,local_e8,pcVar11,ppuVar15,0), iVar2 != -1) {\n      if (iVar2 - 0x3fU < 0x39) {\n                    \n                    \n        ppuVar15 = (undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))();\n        return ppuVar15;\n      }\n      __stream = (FILE *)(ulong)optind;\n    }" (while "while") (parenthesized_expression "(iVar2 = getopt_long(local_dc,local_e8,pcVar11,ppuVar15,0), iVar2 != -1)" (( "(") (comma_expression "iVar2 = getopt_long(local_dc,local_e8,pcVar11,ppuVar15,0), iVar2 != -1" (assignment_expression "iVar2 = getopt_long(local_dc,local_e8,pcVar11,ppuVar15,0)" (identifier "iVar2") (= "=") (call_expression "getopt_long(local_dc,local_e8,pcVar11,ppuVar15,0)" (identifier "getopt_long") (argument_list "(local_dc,local_e8,pcVar11,ppuVar15,0)" (( "(") (identifier "local_dc") (, ",") (identifier "local_e8") (, ",") (identifier "pcVar11") (, ",") (identifier "ppuVar15") (, ",") (number_literal "0") () ")")))) (, ",") (binary_expression "iVar2 != -1" (identifier "iVar2") (!= "!=") (number_literal "-1"))) () ")")) (compound_statement "{\n      if (iVar2 - 0x3fU < 0x39) {\n                    \n                    \n        ppuVar15 = (undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))();\n        return ppuVar15;\n      }\n      __stream = (FILE *)(ulong)optind;\n    }" ({ "{") (if_statement "if (iVar2 - 0x3fU < 0x39) {\n                    \n                    \n        ppuVar15 = (undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))();\n        return ppuVar15;\n      }" (if "if") (parenthesized_expression "(iVar2 - 0x3fU < 0x39)" (( "(") (binary_expression "iVar2 - 0x3fU < 0x39" (binary_expression "iVar2 - 0x3fU" (identifier "iVar2") (- "-") (number_literal "0x3fU")) (< "<") (number_literal "0x39")) () ")")) (compound_statement "{\n                    \n                    \n        ppuVar15 = (undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))();\n        return ppuVar15;\n      }" ({ "{") (expression_statement "ppuVar15 = (undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))();" (assignment_expression "ppuVar15 = (undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))()" (identifier "ppuVar15") (= "=") (cast_expression "(undefined **)\n                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))()" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "(*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))()" (parenthesized_expression "(*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))" (( "(") (pointer_expression "*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4))" (* "*") (cast_expression "(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4))" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4))" (( "(") (binary_expression "__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)" (identifier "__filename") (+ "+") (pointer_expression "*(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)" (* "*") (cast_expression "(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(__filename + (ulong)(iVar2 - 0x3fU) * 4)" (( "(") (binary_expression "__filename + (ulong)(iVar2 - 0x3fU) * 4" (identifier "__filename") (+ "+") (binary_expression "(ulong)(iVar2 - 0x3fU) * 4" (call_expression "(ulong)(iVar2 - 0x3fU)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(iVar2 - 0x3fU)" (( "(") (binary_expression "iVar2 - 0x3fU" (identifier "iVar2") (- "-") (number_literal "0x3fU")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (return_statement "return ppuVar15;" (return "return") (identifier "ppuVar15") (; ";")) (} "}"))) (expression_statement "__stream = (FILE *)(ulong)optind;" (assignment_expression "__stream = (FILE *)(ulong)optind" (identifier "__stream") (= "=") (cast_expression "(FILE *)(ulong)optind" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(ulong)optind" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "optind")))) (; ";")) (} "}"))) (expression_statement "iVar2 = (int)__stream;" (assignment_expression "iVar2 = (int)__stream" (identifier "iVar2") (= "=") (cast_expression "(int)__stream" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__stream"))) (; ";")) (if_statement "if (iVar2 != 0) {\n      uVar5 = strtoul((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0);\n      DAT_00108458 = (uint)uVar5;\n      if ((local_d8 != (char *)0x0) && (*local_d8 != '\0')) {\n        lVar10 = local_e8[(long)iVar2 + -1];\n        uVar9 = dcgettext(0,"invalid integer argument %s",5);\n                    \n        FUN_001034a0(uVar9,lVar10 + 1);\n      }\n    }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar5 = strtoul((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0);\n      DAT_00108458 = (uint)uVar5;\n      if ((local_d8 != (char *)0x0) && (*local_d8 != '\0')) {\n        lVar10 = local_e8[(long)iVar2 + -1];\n        uVar9 = dcgettext(0,"invalid integer argument %s",5);\n                    \n        FUN_001034a0(uVar9,lVar10 + 1);\n      }\n    }" ({ "{") (expression_statement "uVar5 = strtoul((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0);" (assignment_expression "uVar5 = strtoul((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0)" (identifier "uVar5") (= "=") (call_expression "strtoul((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0)" (identifier "strtoul") (argument_list "((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0)" (( "(") (cast_expression "(char *)(local_e8[(long)iVar2 + -1] + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_e8[(long)iVar2 + -1] + 1)" (( "(") (binary_expression "local_e8[(long)iVar2 + -1] + 1" (subscript_expression "local_e8[(long)iVar2 + -1]" (identifier "local_e8") ([ "[") (binary_expression "(long)iVar2 + -1" (cast_expression "(long)iVar2" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "iVar2")) (+ "+") (number_literal "-1")) (] "]")) (+ "+") (number_literal "1")) () ")"))) (, ",") (pointer_expression "&local_d8" (& "&") (identifier "local_d8")) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "DAT_00108458 = (uint)uVar5;" (assignment_expression "DAT_00108458 = (uint)uVar5" (identifier "DAT_00108458") (= "=") (cast_expression "(uint)uVar5" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar5"))) (; ";")) (if_statement "if ((local_d8 != (char *)0x0) && (*local_d8 != '\0')) {\n        lVar10 = local_e8[(long)iVar2 + -1];\n        uVar9 = dcgettext(0,"invalid integer argument %s",5);\n                    \n        FUN_001034a0(uVar9,lVar10 + 1);\n      }" (if "if") (parenthesized_expression "((local_d8 != (char *)0x0) && (*local_d8 != '\0'))" (( "(") (binary_expression "(local_d8 != (char *)0x0) && (*local_d8 != '\0')" (parenthesized_expression "(local_d8 != (char *)0x0)" (( "(") (binary_expression "local_d8 != (char *)0x0" (identifier "local_d8") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(*local_d8 != '\0')" (( "(") (binary_expression "*local_d8 != '\0'" (pointer_expression "*local_d8" (* "*") (identifier "local_d8")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n        lVar10 = local_e8[(long)iVar2 + -1];\n        uVar9 = dcgettext(0,"invalid integer argument %s",5);\n                    \n        FUN_001034a0(uVar9,lVar10 + 1);\n      }" ({ "{") (expression_statement "lVar10 = local_e8[(long)iVar2 + -1];" (assignment_expression "lVar10 = local_e8[(long)iVar2 + -1]" (identifier "lVar10") (= "=") (subscript_expression "local_e8[(long)iVar2 + -1]" (identifier "local_e8") ([ "[") (binary_expression "(long)iVar2 + -1" (cast_expression "(long)iVar2" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "iVar2")) (+ "+") (number_literal "-1")) (] "]"))) (; ";")) (expression_statement "uVar9 = dcgettext(0,"invalid integer argument %s",5);" (assignment_expression "uVar9 = dcgettext(0,"invalid integer argument %s",5)" (identifier "uVar9") (= "=") (call_expression "dcgettext(0,"invalid integer argument %s",5)" (identifier "dcgettext") (argument_list "(0,"invalid integer argument %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""invalid integer argument %s"" (" """) (string_content "invalid integer argument %s") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_001034a0(uVar9,lVar10 + 1);" (call_expression "FUN_001034a0(uVar9,lVar10 + 1)" (identifier "FUN_001034a0") (argument_list "(uVar9,lVar10 + 1)" (( "(") (identifier "uVar9") (, ",") (binary_expression "lVar10 + 1" (identifier "lVar10") (+ "+") (number_literal "1")) () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar3 = DAT_00108458;" (assignment_expression "uVar3 = DAT_00108458" (identifier "uVar3") (= "=") (identifier "DAT_00108458")) (; ";")) (expression_statement "__filename = (byte *)(ulong)DAT_00108458;" (assignment_expression "__filename = (byte *)(ulong)DAT_00108458" (identifier "__filename") (= "=") (cast_expression "(byte *)(ulong)DAT_00108458" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(ulong)DAT_00108458" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "DAT_00108458")))) (; ";")) (if_statement "if ((int)DAT_00108458 < 1) {\n      uVar9 = dcgettext(0,"invalid minimum string length %d",5);\n                    \n      FUN_001034a0(uVar9,uVar3);\n    }" (if "if") (parenthesized_expression "((int)DAT_00108458 < 1)" (( "(") (binary_expression "(int)DAT_00108458 < 1" (cast_expression "(int)DAT_00108458" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "DAT_00108458")) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n      uVar9 = dcgettext(0,"invalid minimum string length %d",5);\n                    \n      FUN_001034a0(uVar9,uVar3);\n    }" ({ "{") (expression_statement "uVar9 = dcgettext(0,"invalid minimum string length %d",5);" (assignment_expression "uVar9 = dcgettext(0,"invalid minimum string length %d",5)" (identifier "uVar9") (= "=") (call_expression "dcgettext(0,"invalid minimum string length %d",5)" (identifier "dcgettext") (argument_list "(0,"invalid minimum string length %d",5)" (( "(") (number_literal "0") (, ",") (string_literal ""invalid minimum string length %d"" (" """) (string_content "invalid minimum string length %d") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_001034a0(uVar9,uVar3);" (call_expression "FUN_001034a0(uVar9,uVar3)" (identifier "FUN_001034a0") (argument_list "(uVar9,uVar3)" (( "(") (identifier "uVar9") (, ",") (identifier "uVar3") () ")"))) (; ";")) (} "}"))) (if_statement "if ((byte)(DAT_0010843c + 0xbeU) < 0x32) {\n      uVar5 = 1L << (DAT_0010843c + 0xbeU & 0x3f);\n      if ((uVar5 & 0x401) == 0) {\n        if ((uVar5 & 0x40100000000) == 0) {\n          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;\n          DAT_00108438 = 1;\n        }\n        else {\n          DAT_00108438 = 2;\n        }\n      }\n      else {\n        DAT_00108438 = 4;\n      }\n      bfd_init();\n      FUN_001035e0();\n      if ((int)local_dc <= (int)optind) {\n        DAT_00108448 = 0;\n        FUN_00102ec0("{standard input}",stdin,0,0,0);\n        return (undefined **)0x0;\n      }\n      bVar1 = false;\n      bVar17 = false;\n      ppuVar15 = (undefined **)0x0;\n      bVar18 = true;\n      pcVar11 = "-";\n      do {\n        __filename = (byte *)local_e8[(int)optind];\n        lVar10 = 2;\n        pbVar12 = __filename;\n        pbVar14 = &DAT_001055d5;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar17 = *pbVar12 < *pbVar14;\n          bVar18 = *pbVar12 == *pbVar14;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n        } while (bVar18);\n        if ((!bVar17 && !bVar18) == bVar17) {\n          DAT_00108448 = 0;\n        }\n        else {\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }\n        optind = optind + 1;\n        bVar17 = optind < local_dc;\n        bVar18 = optind == local_dc;\n      } while ((int)optind < (int)local_dc);\n      if (bVar1) {\n        return ppuVar15;\n      }\n    }" (if "if") (parenthesized_expression "((byte)(DAT_0010843c + 0xbeU) < 0x32)" (( "(") (binary_expression "(byte)(DAT_0010843c + 0xbeU) < 0x32" (call_expression "(byte)(DAT_0010843c + 0xbeU)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(DAT_0010843c + 0xbeU)" (( "(") (binary_expression "DAT_0010843c + 0xbeU" (identifier "DAT_0010843c") (+ "+") (number_literal "0xbeU")) () ")"))) (< "<") (number_literal "0x32")) () ")")) (compound_statement "{\n      uVar5 = 1L << (DAT_0010843c + 0xbeU & 0x3f);\n      if ((uVar5 & 0x401) == 0) {\n        if ((uVar5 & 0x40100000000) == 0) {\n          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;\n          DAT_00108438 = 1;\n        }\n        else {\n          DAT_00108438 = 2;\n        }\n      }\n      else {\n        DAT_00108438 = 4;\n      }\n      bfd_init();\n      FUN_001035e0();\n      if ((int)local_dc <= (int)optind) {\n        DAT_00108448 = 0;\n        FUN_00102ec0("{standard input}",stdin,0,0,0);\n        return (undefined **)0x0;\n      }\n      bVar1 = false;\n      bVar17 = false;\n      ppuVar15 = (undefined **)0x0;\n      bVar18 = true;\n      pcVar11 = "-";\n      do {\n        __filename = (byte *)local_e8[(int)optind];\n        lVar10 = 2;\n        pbVar12 = __filename;\n        pbVar14 = &DAT_001055d5;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar17 = *pbVar12 < *pbVar14;\n          bVar18 = *pbVar12 == *pbVar14;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n        } while (bVar18);\n        if ((!bVar17 && !bVar18) == bVar17) {\n          DAT_00108448 = 0;\n        }\n        else {\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }\n        optind = optind + 1;\n        bVar17 = optind < local_dc;\n        bVar18 = optind == local_dc;\n      } while ((int)optind < (int)local_dc);\n      if (bVar1) {\n        return ppuVar15;\n      }\n    }" ({ "{") (expression_statement "uVar5 = 1L << (DAT_0010843c + 0xbeU & 0x3f);" (assignment_expression "uVar5 = 1L << (DAT_0010843c + 0xbeU & 0x3f)" (identifier "uVar5") (= "=") (binary_expression "1L << (DAT_0010843c + 0xbeU & 0x3f)" (number_literal "1L") (<< "<<") (parenthesized_expression "(DAT_0010843c + 0xbeU & 0x3f)" (( "(") (binary_expression "DAT_0010843c + 0xbeU & 0x3f" (binary_expression "DAT_0010843c + 0xbeU" (identifier "DAT_0010843c") (+ "+") (number_literal "0xbeU")) (& "&") (number_literal "0x3f")) () ")")))) (; ";")) (if_statement "if ((uVar5 & 0x401) == 0) {\n        if ((uVar5 & 0x40100000000) == 0) {\n          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;\n          DAT_00108438 = 1;\n        }\n        else {\n          DAT_00108438 = 2;\n        }\n      }\n      else {\n        DAT_00108438 = 4;\n      }" (if "if") (parenthesized_expression "((uVar5 & 0x401) == 0)" (( "(") (binary_expression "(uVar5 & 0x401) == 0" (parenthesized_expression "(uVar5 & 0x401)" (( "(") (binary_expression "uVar5 & 0x401" (identifier "uVar5") (& "&") (number_literal "0x401")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if ((uVar5 & 0x40100000000) == 0) {\n          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;\n          DAT_00108438 = 1;\n        }\n        else {\n          DAT_00108438 = 2;\n        }\n      }" ({ "{") (if_statement "if ((uVar5 & 0x40100000000) == 0) {\n          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;\n          DAT_00108438 = 1;\n        }\n        else {\n          DAT_00108438 = 2;\n        }" (if "if") (parenthesized_expression "((uVar5 & 0x40100000000) == 0)" (( "(") (binary_expression "(uVar5 & 0x40100000000) == 0" (parenthesized_expression "(uVar5 & 0x40100000000)" (( "(") (binary_expression "uVar5 & 0x40100000000" (identifier "uVar5") (& "&") (number_literal "0x40100000000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;\n          DAT_00108438 = 1;\n        }" ({ "{") (if_statement "if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;" (if "if") (parenthesized_expression "((uVar5 & 0x2000000020000) == 0)" (( "(") (binary_expression "(uVar5 & 0x2000000020000) == 0" (parenthesized_expression "(uVar5 & 0x2000000020000)" (( "(") (binary_expression "uVar5 & 0x2000000020000" (identifier "uVar5") (& "&") (number_literal "0x2000000020000")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00102704;" (goto "goto") (statement_identifier "LAB_00102704") (; ";"))) (expression_statement "DAT_00108438 = 1;" (assignment_expression "DAT_00108438 = 1" (identifier "DAT_00108438") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n          DAT_00108438 = 2;\n        }" (else "else") (compound_statement "{\n          DAT_00108438 = 2;\n        }" ({ "{") (expression_statement "DAT_00108438 = 2;" (assignment_expression "DAT_00108438 = 2" (identifier "DAT_00108438") (= "=") (number_literal "2")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n        DAT_00108438 = 4;\n      }" (else "else") (compound_statement "{\n        DAT_00108438 = 4;\n      }" ({ "{") (expression_statement "DAT_00108438 = 4;" (assignment_expression "DAT_00108438 = 4" (identifier "DAT_00108438") (= "=") (number_literal "4")) (; ";")) (} "}")))) (expression_statement "bfd_init();" (call_expression "bfd_init()" (identifier "bfd_init") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_001035e0();" (call_expression "FUN_001035e0()" (identifier "FUN_001035e0") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if ((int)local_dc <= (int)optind) {\n        DAT_00108448 = 0;\n        FUN_00102ec0("{standard input}",stdin,0,0,0);\n        return (undefined **)0x0;\n      }" (if "if") (parenthesized_expression "((int)local_dc <= (int)optind)" (( "(") (binary_expression "(int)local_dc <= (int)optind" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (<= "<=") (cast_expression "(int)optind" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "optind"))) () ")")) (compound_statement "{\n        DAT_00108448 = 0;\n        FUN_00102ec0("{standard input}",stdin,0,0,0);\n        return (undefined **)0x0;\n      }" ({ "{") (expression_statement "DAT_00108448 = 0;" (assignment_expression "DAT_00108448 = 0" (identifier "DAT_00108448") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_00102ec0("{standard input}",stdin,0,0,0);" (call_expression "FUN_00102ec0("{standard input}",stdin,0,0,0)" (identifier "FUN_00102ec0") (argument_list "("{standard input}",stdin,0,0,0)" (( "(") (string_literal ""{standard input}"" (" """) (string_content "{standard input}") (" """)) (, ",") (identifier "stdin") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (return_statement "return (undefined **)0x0;" (return "return") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" (identifier "bVar1") (= "=") (false "false")) (; ";")) (expression_statement "bVar17 = false;" (assignment_expression "bVar17 = false" (identifier "bVar17") (= "=") (false "false")) (; ";")) (expression_statement "ppuVar15 = (undefined **)0x0;" (assignment_expression "ppuVar15 = (undefined **)0x0" (identifier "ppuVar15") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "bVar18 = true;" (assignment_expression "bVar18 = true" (identifier "bVar18") (= "=") (true "true")) (; ";")) (expression_statement "pcVar11 = "-";" (assignment_expression "pcVar11 = "-"" (identifier "pcVar11") (= "=") (string_literal ""-"" (" """) (string_content "-") (" """))) (; ";")) (do_statement "do {\n        __filename = (byte *)local_e8[(int)optind];\n        lVar10 = 2;\n        pbVar12 = __filename;\n        pbVar14 = &DAT_001055d5;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar17 = *pbVar12 < *pbVar14;\n          bVar18 = *pbVar12 == *pbVar14;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n        } while (bVar18);\n        if ((!bVar17 && !bVar18) == bVar17) {\n          DAT_00108448 = 0;\n        }\n        else {\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }\n        optind = optind + 1;\n        bVar17 = optind < local_dc;\n        bVar18 = optind == local_dc;\n      } while ((int)optind < (int)local_dc);" (do "do") (compound_statement "{\n        __filename = (byte *)local_e8[(int)optind];\n        lVar10 = 2;\n        pbVar12 = __filename;\n        pbVar14 = &DAT_001055d5;\n        do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar17 = *pbVar12 < *pbVar14;\n          bVar18 = *pbVar12 == *pbVar14;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n        } while (bVar18);\n        if ((!bVar17 && !bVar18) == bVar17) {\n          DAT_00108448 = 0;\n        }\n        else {\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }\n        optind = optind + 1;\n        bVar17 = optind < local_dc;\n        bVar18 = optind == local_dc;\n      }" ({ "{") (expression_statement "__filename = (byte *)local_e8[(int)optind];" (assignment_expression "__filename = (byte *)local_e8[(int)optind]" (identifier "__filename") (= "=") (cast_expression "(byte *)local_e8[(int)optind]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_e8[(int)optind]" (identifier "local_e8") ([ "[") (cast_expression "(int)optind" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "optind")) (] "]")))) (; ";")) (expression_statement "lVar10 = 2;" (assignment_expression "lVar10 = 2" (identifier "lVar10") (= "=") (number_literal "2")) (; ";")) (expression_statement "pbVar12 = __filename;" (assignment_expression "pbVar12 = __filename" (identifier "pbVar12") (= "=") (identifier "__filename")) (; ";")) (expression_statement "pbVar14 = &DAT_001055d5;" (assignment_expression "pbVar14 = &DAT_001055d5" (identifier "pbVar14") (= "=") (pointer_expression "&DAT_001055d5" (& "&") (identifier "DAT_001055d5"))) (; ";")) (do_statement "do {\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar17 = *pbVar12 < *pbVar14;\n          bVar18 = *pbVar12 == *pbVar14;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n        } while (bVar18);" (do "do") (compound_statement "{\n          if (lVar10 == 0) break;\n          lVar10 = lVar10 + -1;\n          bVar17 = *pbVar12 < *pbVar14;\n          bVar18 = *pbVar12 == *pbVar14;\n          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;\n          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;\n        }" ({ "{") (if_statement "if (lVar10 == 0) break;" (if "if") (parenthesized_expression "(lVar10 == 0)" (( "(") (binary_expression "lVar10 == 0" (identifier "lVar10") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar10 = lVar10 + -1;" (assignment_expression "lVar10 = lVar10 + -1" (identifier "lVar10") (= "=") (binary_expression "lVar10 + -1" (identifier "lVar10") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar17 = *pbVar12 < *pbVar14;" (assignment_expression "bVar17 = *pbVar12 < *pbVar14" (identifier "bVar17") (= "=") (binary_expression "*pbVar12 < *pbVar14" (pointer_expression "*pbVar12" (* "*") (identifier "pbVar12")) (< "<") (pointer_expression "*pbVar14" (* "*") (identifier "pbVar14")))) (; ";")) (expression_statement "bVar18 = *pbVar12 == *pbVar14;" (assignment_expression "bVar18 = *pbVar12 == *pbVar14" (identifier "bVar18") (= "=") (binary_expression "*pbVar12 == *pbVar14" (pointer_expression "*pbVar12" (* "*") (identifier "pbVar12")) (== "==") (pointer_expression "*pbVar14" (* "*") (identifier "pbVar14")))) (; ";")) (expression_statement "pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;" (assignment_expression "pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1" (identifier "pbVar12") (= "=") (binary_expression "pbVar12 + (ulong)bVar19 * -2 + 1" (binary_expression "pbVar12 + (ulong)bVar19 * -2" (identifier "pbVar12") (+ "+") (binary_expression "(ulong)bVar19 * -2" (cast_expression "(ulong)bVar19" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar19")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;" (assignment_expression "pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1" (identifier "pbVar14") (= "=") (binary_expression "pbVar14 + (ulong)bVar19 * -2 + 1" (binary_expression "pbVar14 + (ulong)bVar19 * -2" (identifier "pbVar14") (+ "+") (binary_expression "(ulong)bVar19 * -2" (cast_expression "(ulong)bVar19" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar19")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar18)" (( "(") (identifier "bVar18") () ")")) (; ";")) (if_statement "if ((!bVar17 && !bVar18) == bVar17) {\n          DAT_00108448 = 0;\n        }\n        else {\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }" (if "if") (parenthesized_expression "((!bVar17 && !bVar18) == bVar17)" (( "(") (binary_expression "(!bVar17 && !bVar18) == bVar17" (parenthesized_expression "(!bVar17 && !bVar18)" (( "(") (binary_expression "!bVar17 && !bVar18" (unary_expression "!bVar17" (! "!") (identifier "bVar17")) (&& "&&") (unary_expression "!bVar18" (! "!") (identifier "bVar18"))) () ")")) (== "==") (identifier "bVar17")) () ")")) (compound_statement "{\n          DAT_00108448 = 0;\n        }" ({ "{") (expression_statement "DAT_00108448 = 0;" (assignment_expression "DAT_00108448 = 0" (identifier "DAT_00108448") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }" (else "else") (compound_statement "{\n          iVar2 = __xstat(1,(char *)__filename,&local_c8);\n          if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }\n          bVar1 = true;\n          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);\n        }" ({ "{") (expression_statement "iVar2 = __xstat(1,(char *)__filename,&local_c8);" (assignment_expression "iVar2 = __xstat(1,(char *)__filename,&local_c8)" (identifier "iVar2") (= "=") (call_expression "__xstat(1,(char *)__filename,&local_c8)" (identifier "__xstat") (argument_list "(1,(char *)__filename,&local_c8)" (( "(") (number_literal "1") (, ",") (cast_expression "(char *)__filename" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "__filename")) (, ",") (pointer_expression "&local_c8" (& "&") (identifier "local_c8")) () ")")))) (; ";")) (if_statement "if (iVar2 < 0) {\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }\n          else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }" (if "if") (parenthesized_expression "(iVar2 < 0)" (( "(") (binary_expression "iVar2 < 0" (identifier "iVar2") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n            piVar6 = __errno_location();\n            if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }\n            __stream = (FILE *)strerror(*piVar6);\n            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);\n            FUN_00103540(uVar9,__filename,__stream);\n            uVar3 = 0;\n          }" ({ "{") (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" (identifier "piVar6") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*piVar6 == 2) {\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }" (if "if") (parenthesized_expression "(*piVar6 == 2)" (( "(") (binary_expression "*piVar6 == 2" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n              pcVar13 = "\'%s\': No such file";\n              goto LAB_00102b34;\n            }" ({ "{") (expression_statement "pcVar13 = "\'%s\': No such file";" (assignment_expression "pcVar13 = "\'%s\': No such file"" (identifier "pcVar13") (= "=") (string_literal ""\'%s\': No such file"" (" """) (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content ": No such file") (" """))) (; ";")) (goto_statement "goto LAB_00102b34;" (goto "goto") (statement_identifier "LAB_00102b34") (; ";")) (} "}"))) (expression_statement "__stream = (FILE *)strerror(*piVar6);" (assignment_expression "__stream = (FILE *)strerror(*piVar6)" (identifier "__stream") (= "=") (cast_expression "(FILE *)strerror(*piVar6)" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "strerror(*piVar6)" (identifier "strerror") (argument_list "(*piVar6)" (( "(") (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) () ")"))))) (; ";")) (expression_statement "uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);" (assignment_expression "uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5)" (identifier "uVar9") (= "=") (call_expression "dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5)" (identifier "dcgettext") (argument_list "(0,"Warning: could not locate \'%s\'.  reason: %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Warning: could not locate \'%s\'.  reason: %s"" (" """) (string_content "Warning: could not locate ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content ".  reason: %s") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00103540(uVar9,__filename,__stream);" (call_expression "FUN_00103540(uVar9,__filename,__stream)" (identifier "FUN_00103540") (argument_list "(uVar9,__filename,__stream)" (( "(") (identifier "uVar9") (, ",") (identifier "__filename") (, ",") (identifier "__stream") () ")"))) (; ";")) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" (identifier "uVar3") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }" (else "else") (if_statement "if ((local_c8.st_mode & 0xf000) == 0x4000) {\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }\n          else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }" (if "if") (parenthesized_expression "((local_c8.st_mode & 0xf000) == 0x4000)" (( "(") (binary_expression "(local_c8.st_mode & 0xf000) == 0x4000" (parenthesized_expression "(local_c8.st_mode & 0xf000)" (( "(") (binary_expression "local_c8.st_mode & 0xf000" (field_expression "local_c8.st_mode" (identifier "local_c8") (. ".") (field_identifier "st_mode")) (& "&") (number_literal "0xf000")) () ")")) (== "==") (number_literal "0x4000")) () ")")) (compound_statement "{\n            pcVar13 = "Warning: \'%s\' is a directory";\nLAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);\n            FUN_00103540(uVar9,__filename);\n            uVar3 = 0;\n          }" ({ "{") (expression_statement "pcVar13 = "Warning: \'%s\' is a directory";" (assignment_expression "pcVar13 = "Warning: \'%s\' is a directory"" (identifier "pcVar13") (= "=") (string_literal ""Warning: \'%s\' is a directory"" (" """) (string_content "Warning: ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content " is a directory") (" """))) (; ";")) (labeled_statement "LAB_00102b34:\n            uVar9 = dcgettext(0,pcVar13,5);" (statement_identifier "LAB_00102b34") (: ":") (expression_statement "uVar9 = dcgettext(0,pcVar13,5);" (assignment_expression "uVar9 = dcgettext(0,pcVar13,5)" (identifier "uVar9") (= "=") (call_expression "dcgettext(0,pcVar13,5)" (identifier "dcgettext") (argument_list "(0,pcVar13,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar13") (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "FUN_00103540(uVar9,__filename);" (call_expression "FUN_00103540(uVar9,__filename)" (identifier "FUN_00103540") (argument_list "(uVar9,__filename)" (( "(") (identifier "uVar9") (, ",") (identifier "__filename") () ")"))) (; ";")) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" (identifier "uVar3") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }" (else "else") (if_statement "if ((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))\n          {\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }\n          else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }" (if "if") (parenthesized_expression "((DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))" (( "(") (binary_expression "(DAT_00108448 == 0) ||\n                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0)" (parenthesized_expression "(DAT_00108448 == 0)" (( "(") (binary_expression "DAT_00108448 == 0" (identifier "DAT_00108448") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0)" (( "(") (comma_expression "__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0" (assignment_expression "__stream = (FILE *)bfd_openr(__filename,DAT_00108440)" (identifier "__stream") (= "=") (cast_expression "(FILE *)bfd_openr(__filename,DAT_00108440)" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "bfd_openr(__filename,DAT_00108440)" (identifier "bfd_openr") (argument_list "(__filename,DAT_00108440)" (( "(") (identifier "__filename") (, ",") (identifier "DAT_00108440") () ")"))))) (, ",") (binary_expression "__stream == (FILE *)0x0" (identifier "__stream") (== "==") (cast_expression "(FILE *)0x0" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\nLAB_00102978:\n            __stream = fopen((char *)__filename,"r");\n            if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }\n            fprintf(stderr,"%s: ",DAT_00108478);\n            perror((char *)__filename);\n            uVar3 = 0;\n          }" ({ "{") (labeled_statement "LAB_00102978:\n            __stream = fopen((char *)__filename,"r");" (statement_identifier "LAB_00102978") (: ":") (expression_statement "__stream = fopen((char *)__filename,"r");" (assignment_expression "__stream = fopen((char *)__filename,"r")" (identifier "__stream") (= "=") (call_expression "fopen((char *)__filename,"r")" (identifier "fopen") (argument_list "((char *)__filename,"r")" (( "(") (cast_expression "(char *)__filename" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "__filename")) (, ",") (string_literal ""r"" (" """) (string_content "r") (" """)) () ")")))) (; ";"))) (if_statement "if (__stream != (FILE *)0x0) {\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }" (if "if") (parenthesized_expression "(__stream != (FILE *)0x0)" (( "(") (binary_expression "__stream != (FILE *)0x0" (identifier "__stream") (!= "!=") (cast_expression "(FILE *)0x0" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              FUN_00102ec0(__filename,__stream,0,0);\n              iVar2 = fclose(__stream);\n              if (iVar2 != -1) goto LAB_00102914;\n            }" ({ "{") (expression_statement "FUN_00102ec0(__filename,__stream,0,0);" (call_expression "FUN_00102ec0(__filename,__stream,0,0)" (identifier "FUN_00102ec0") (argument_list "(__filename,__stream,0,0)" (( "(") (identifier "__filename") (, ",") (identifier "__stream") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar2 = fclose(__stream);" (assignment_expression "iVar2 = fclose(__stream)" (identifier "iVar2") (= "=") (call_expression "fclose(__stream)" (identifier "fclose") (argument_list "(__stream)" (( "(") (identifier "__stream") () ")")))) (; ";")) (if_statement "if (iVar2 != -1) goto LAB_00102914;" (if "if") (parenthesized_expression "(iVar2 != -1)" (( "(") (binary_expression "iVar2 != -1" (identifier "iVar2") (!= "!=") (number_literal "-1")) () ")")) (goto_statement "goto LAB_00102914;" (goto "goto") (statement_identifier "LAB_00102914") (; ";"))) (} "}"))) (expression_statement "fprintf(stderr,"%s: ",DAT_00108478);" (call_expression "fprintf(stderr,"%s: ",DAT_00108478)" (identifier "fprintf") (argument_list "(stderr,"%s: ",DAT_00108478)" (( "(") (identifier "stderr") (, ",") (string_literal ""%s: "" (" """) (string_content "%s: ") (" """)) (, ",") (identifier "DAT_00108478") () ")"))) (; ";")) (expression_statement "perror((char *)__filename);" (call_expression "perror((char *)__filename)" (identifier "perror") (argument_list "((char *)__filename)" (( "(") (cast_expression "(char *)__filename" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "__filename")) () ")"))) (; ";")) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" (identifier "uVar3") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }" (else "else") (compound_statement "{\n            iVar2 = bfd_check_format(__stream,1);\n            if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }\n            puVar16 = (undefined8 *)__stream->_offset;\n            if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }\n            local_e0 = 0;\n            do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);\n            iVar2 = bfd_close(__stream);\n            if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }\n            if (local_e0 == 0) goto LAB_00102978;\nLAB_00102914:\n            uVar3 = 1;\n          }" ({ "{") (expression_statement "iVar2 = bfd_check_format(__stream,1);" (assignment_expression "iVar2 = bfd_check_format(__stream,1)" (identifier "iVar2") (= "=") (call_expression "bfd_check_format(__stream,1)" (identifier "bfd_check_format") (argument_list "(__stream,1)" (( "(") (identifier "__stream") (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              bfd_close(__stream);\n              goto LAB_00102978;\n            }" ({ "{") (expression_statement "bfd_close(__stream);" (call_expression "bfd_close(__stream)" (identifier "bfd_close") (argument_list "(__stream)" (( "(") (identifier "__stream") () ")"))) (; ";")) (goto_statement "goto LAB_00102978;" (goto "goto") (statement_identifier "LAB_00102978") (; ";")) (} "}"))) (expression_statement "puVar16 = (undefined8 *)__stream->_offset;" (assignment_expression "puVar16 = (undefined8 *)__stream->_offset" (identifier "puVar16") (= "=") (cast_expression "(undefined8 *)__stream->_offset" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "__stream->_offset" (identifier "__stream") (-> "->") (field_identifier "_offset")))) (; ";")) (if_statement "if (puVar16 == (undefined8 *)0x0) {\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }" (if "if") (parenthesized_expression "(puVar16 == (undefined8 *)0x0)" (( "(") (binary_expression "puVar16 == (undefined8 *)0x0" (identifier "puVar16") (== "==") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              iVar2 = bfd_close(__stream);\n              if (iVar2 == 0) goto LAB_00102969;\n              goto LAB_00102978;\n            }" ({ "{") (expression_statement "iVar2 = bfd_close(__stream);" (assignment_expression "iVar2 = bfd_close(__stream)" (identifier "iVar2") (= "=") (call_expression "bfd_close(__stream)" (identifier "bfd_close") (argument_list "(__stream)" (( "(") (identifier "__stream") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) goto LAB_00102969;" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00102969;" (goto "goto") (statement_identifier "LAB_00102969") (; ";"))) (goto_statement "goto LAB_00102978;" (goto "goto") (statement_identifier "LAB_00102978") (; ";")) (} "}"))) (expression_statement "local_e0 = 0;" (assignment_expression "local_e0 = 0" (identifier "local_e0") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            } while (puVar16 != (undefined8 *)0x0);" (do "do") (compound_statement "{\n              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }\n              puVar16 = (undefined8 *)puVar16[2];\n            }" ({ "{") (if_statement "if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }" (if "if") (parenthesized_expression "(((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0))" (( "(") (binary_expression "((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)" (parenthesized_expression "((*(uint *)(puVar16 + 4) & 0x103) == 0x103)" (( "(") (binary_expression "(*(uint *)(puVar16 + 4) & 0x103) == 0x103" (parenthesized_expression "(*(uint *)(puVar16 + 4) & 0x103)" (( "(") (binary_expression "*(uint *)(puVar16 + 4) & 0x103" (pointer_expression "*(uint *)(puVar16 + 4)" (* "*") (cast_expression "(uint *)(puVar16 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + 4)" (( "(") (binary_expression "puVar16 + 4" (identifier "puVar16") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "0x103")) () ")")) (== "==") (number_literal "0x103")) () ")")) (&& "&&") (parenthesized_expression "(puVar16[7] != 0)" (( "(") (binary_expression "puVar16[7] != 0" (subscript_expression "puVar16[7]" (identifier "puVar16") ([ "[") (number_literal "7") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);\n                if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }\n              }" ({ "{") (expression_statement "iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);" (assignment_expression "iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0)" (identifier "iVar2") (= "=") (call_expression "bfd_malloc_and_get_section(__stream,puVar16,&local_d0)" (identifier "bfd_malloc_and_get_section") (argument_list "(__stream,puVar16,&local_d0)" (( "(") (identifier "__stream") (, ",") (identifier "puVar16") (, ",") (pointer_expression "&local_d0" (& "&") (identifier "local_d0")) () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }\n                else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  uVar4 = bfd_get_error();\n                  uVar7 = bfd_errmsg(uVar4);\n                  uVar9 = *puVar16;\n                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);\n                  FUN_00103540(uVar8,__filename,uVar9,uVar7);\n                }" ({ "{") (expression_statement "uVar4 = bfd_get_error();" (assignment_expression "uVar4 = bfd_get_error()" (identifier "uVar4") (= "=") (call_expression "bfd_get_error()" (identifier "bfd_get_error") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar7 = bfd_errmsg(uVar4);" (assignment_expression "uVar7 = bfd_errmsg(uVar4)" (identifier "uVar7") (= "=") (call_expression "bfd_errmsg(uVar4)" (identifier "bfd_errmsg") (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")")))) (; ";")) (expression_statement "uVar9 = *puVar16;" (assignment_expression "uVar9 = *puVar16" (identifier "uVar9") (= "=") (pointer_expression "*puVar16" (* "*") (identifier "puVar16"))) (; ";")) (expression_statement "uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);" (assignment_expression "uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5)" (identifier "uVar8") (= "=") (call_expression "dcgettext(0,"%s: Reading section %s failed: %s",5)" (identifier "dcgettext") (argument_list "(0,"%s: Reading section %s failed: %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%s: Reading section %s failed: %s"" (" """) (string_content "%s: Reading section %s failed: %s") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00103540(uVar8,__filename,uVar9,uVar7);" (call_expression "FUN_00103540(uVar8,__filename,uVar9,uVar7)" (identifier "FUN_00103540") (argument_list "(uVar8,__filename,uVar9,uVar7)" (( "(") (identifier "uVar8") (, ",") (identifier "__filename") (, ",") (identifier "uVar9") (, ",") (identifier "uVar7") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }" (else "else") (compound_statement "{\n                  FUN_00102ec0(__filename,0,puVar16[0x12]);\n                  free(local_d0);\n                  local_e0 = 1;\n                }" ({ "{") (expression_statement "FUN_00102ec0(__filename,0,puVar16[0x12]);" (call_expression "FUN_00102ec0(__filename,0,puVar16[0x12])" (identifier "FUN_00102ec0") (argument_list "(__filename,0,puVar16[0x12])" (( "(") (identifier "__filename") (, ",") (number_literal "0") (, ",") (subscript_expression "puVar16[0x12]" (identifier "puVar16") ([ "[") (number_literal "0x12") (] "]")) () ")"))) (; ";")) (expression_statement "free(local_d0);" (call_expression "free(local_d0)" (identifier "free") (argument_list "(local_d0)" (( "(") (identifier "local_d0") () ")"))) (; ";")) (expression_statement "local_e0 = 1;" (assignment_expression "local_e0 = 1" (identifier "local_e0") (= "=") (number_literal "1")) (; ";")) (} "}")))) (} "}"))) (expression_statement "puVar16 = (undefined8 *)puVar16[2];" (assignment_expression "puVar16 = (undefined8 *)puVar16[2]" (identifier "puVar16") (= "=") (cast_expression "(undefined8 *)puVar16[2]" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar16[2]" (identifier "puVar16") ([ "[") (number_literal "2") (] "]")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar16 != (undefined8 *)0x0)" (( "(") (binary_expression "puVar16 != (undefined8 *)0x0" (identifier "puVar16") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (expression_statement "iVar2 = bfd_close(__stream);" (assignment_expression "iVar2 = bfd_close(__stream)" (identifier "iVar2") (= "=") (call_expression "bfd_close(__stream)" (identifier "bfd_close") (argument_list "(__stream)" (( "(") (identifier "__stream") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00102969:\n              FUN_001031f0(__filename);\n              goto LAB_00102978;\n            }" ({ "{") (labeled_statement "LAB_00102969:\n              FUN_001031f0(__filename);" (statement_identifier "LAB_00102969") (: ":") (expression_statement "FUN_001031f0(__filename);" (call_expression "FUN_001031f0(__filename)" (identifier "FUN_001031f0") (argument_list "(__filename)" (( "(") (identifier "__filename") () ")"))) (; ";"))) (goto_statement "goto LAB_00102978;" (goto "goto") (statement_identifier "LAB_00102978") (; ";")) (} "}"))) (if_statement "if (local_e0 == 0) goto LAB_00102978;" (if "if") (parenthesized_expression "(local_e0 == 0)" (( "(") (binary_expression "local_e0 == 0" (identifier "local_e0") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00102978;" (goto "goto") (statement_identifier "LAB_00102978") (; ";"))) (labeled_statement "LAB_00102914:\n            uVar3 = 1;" (statement_identifier "LAB_00102914") (: ":") (expression_statement "uVar3 = 1;" (assignment_expression "uVar3 = 1" (identifier "uVar3") (= "=") (number_literal "1")) (; ";"))) (} "}")))))))) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" (identifier "bVar1") (= "=") (true "true")) (; ";")) (expression_statement "ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);" (assignment_expression "ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1)" (identifier "ppuVar15") (= "=") (cast_expression "(undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "(ulong)((uint)ppuVar15 | uVar3 ^ 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((uint)ppuVar15 | uVar3 ^ 1)" (( "(") (binary_expression "(uint)ppuVar15 | uVar3 ^ 1" (cast_expression "(uint)ppuVar15" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "ppuVar15")) (| "|") (binary_expression "uVar3 ^ 1" (identifier "uVar3") (^ "^") (number_literal "1"))) () ")"))))) (; ";")) (} "}")))) (expression_statement "optind = optind + 1;" (assignment_expression "optind = optind + 1" (identifier "optind") (= "=") (binary_expression "optind + 1" (identifier "optind") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar17 = optind < local_dc;" (assignment_expression "bVar17 = optind < local_dc" (identifier "bVar17") (= "=") (binary_expression "optind < local_dc" (identifier "optind") (< "<") (identifier "local_dc"))) (; ";")) (expression_statement "bVar18 = optind == local_dc;" (assignment_expression "bVar18 = optind == local_dc" (identifier "bVar18") (= "=") (binary_expression "optind == local_dc" (identifier "optind") (== "==") (identifier "local_dc"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)optind < (int)local_dc)" (( "(") (binary_expression "(int)optind < (int)local_dc" (cast_expression "(int)optind" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "optind")) (< "<") (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc"))) () ")")) (; ";")) (if_statement "if (bVar1) {\n        return ppuVar15;\n      }" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (compound_statement "{\n        return ppuVar15;\n      }" ({ "{") (return_statement "return ppuVar15;" (return "return") (identifier "ppuVar15") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_00102704:\n    FUN_00102dc0(stderr,1);" (statement_identifier "LAB_00102704") (: ":") (expression_statement "FUN_00102dc0(stderr,1);" (call_expression "FUN_00102dc0(stderr,1)" (identifier "FUN_00102dc0") (argument_list "(stderr,1)" (( "(") (identifier "stderr") (, ",") (number_literal "1") () ")"))) (; ";"))) (expression_statement "DAT_0010845c = 8;" (assignment_expression "DAT_0010845c = 8" (identifier "DAT_0010845c") (= "=") (number_literal "8")) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}")))

int function_1(int argc,char **argv)

{
  char var_22;
  type_1 *__filename;
  long var_41;
  type_2 uVar3;
  bool bVar4;
  int var_8;
  type_3 var_48;
  type_4 uVar7;
  type_5 var_16;
  type_6 *var_34;
  int *piVar9;
  char *pcVar10;
  char *pcVar11;
  long var_23;
  type_1 *var_24;
  type_1 *var_25;
  char *in_R9;
  type_3 var_9;
  type_2 *var_40;
  bool var_26;
  bool bVar18;
  type_1 bVar19;
  char **local_e8;
  int var_47;
  type_3 var_50;
  char *var_11;
  type_7 *mem;
  type_8 st;
  
  bVar19 = 0;
  local_e8 = argv;
  var_50 = argc;
  var_1(6,"");
  var_2("binutils","/usr/share/locale");
  var_3("binutils");
  program_name = *local_e8;
  var_4();
  var_5(program_name);
  var_6((int *)&var_50,&local_e8);
  var_15 = 's';
  var_12 = 4;
  include_all_whitespace = 0;
  print_addresses = 0;
  print_filenames = 0;
  var_31 = 0;
  target = (char *)0x0;
  output_separator = (char *)0x0;
  var_9 = 0;
  do {
    var_8 = var_7(var_50,local_e8,"adfhHn:wot:e:T:s:Vv0123456789",long_options);
    if (var_8 == -1) {
      if (var_9 != 0) {
        var_16 = var_10(local_e8[(long)(int)var_9 + -1] + 1,&var_11,0);
        var_12 = (int)var_16;
        if ((var_11 != (char *)0x0) && (*var_11 != '\0')) {
          pcVar11 = local_e8[(long)(int)var_9 + -1] + 1;
          goto LAB_00102ab1;
        }
      }
      var_8 = var_12;
      if (var_12 < 1) {
        pcVar11 = (char *)var_13(0,"invalid minimum string length %d",5);
                    /* WARNING: Subroutine does not return */
        var_14(pcVar11,(type_5)(type_3)var_8);
      }
      if (0x31 < (type_1)(var_15 + 0xbeU)) goto switchD_0010259b_caseD_3f;
      var_16 = 1L << (var_15 + 0xbeU & 0x3f);
      if ((var_16 & 0x401) == 0) {
        if ((var_16 & 0x40100000000) == 0) {
          if ((var_16 & 0x2000000020000) == 0) goto switchD_0010259b_caseD_3f;
          encoding_bytes = 1;
        }
        else {
          encoding_bytes = 2;
        }
      }
      else {
        encoding_bytes = 4;
      }
      var_17();
      var_18();
      if ((int)var_50 <= (int)var_49) {
        var_31 = 0;
        var_19("{standard input}",stdin,0,0,0,in_R9);
        return 0;
      }
      bVar4 = false;
      var_26 = false;
      var_9 = 0;
      bVar18 = true;
      break;
    }
    switch(var_8) {
    case 0x3f:
      goto switchD_0010259b_caseD_3f;
    default:
      var_9 = var_49;
      break;
    case 0x48:
    case 0x68:
                    /* WARNING: Subroutine does not return */
      var_20(stdout,0);
    case 0x54:
      target = optarg;
      break;
    case 0x56:
    case 0x76:
      var_21("strings");
      break;
    case 0x61:
      var_31 = 0;
      break;
    case 100:
      var_31 = 1;
      break;
    case 0x65:
      if (optarg[1] != '\0') goto switchD_0010259b_caseD_3f;
      var_15 = *optarg;
      break;
    case 0x66:
      print_filenames = 1;
      break;
    case 0x6e:
      var_16 = var_10(optarg,&var_11,0);
      var_12 = (int)var_16;
      if ((var_11 != (char *)0x0) && (pcVar11 = optarg, *var_11 != '\0')) {
LAB_00102ab1:
        pcVar10 = (char *)var_13(0,"invalid integer argument %s",5);
                    /* WARNING: Subroutine does not return */
        var_14(pcVar10,pcVar11);
      }
      break;
    case 0x6f:
      print_addresses = 1;
      address_radix = 8;
      break;
    case 0x73:
      output_separator = optarg;
      break;
    case 0x74:
      print_addresses = 1;
      if (optarg[1] != '\0') goto switchD_0010259b_caseD_3f;
      var_22 = *optarg;
      if (var_22 == 'o') {
        address_radix = 8;
      }
      else if (var_22 == 'x') {
        address_radix = 0x10;
      }
      else {
        if (var_22 != 'd') goto switchD_0010259b_caseD_3f;
        address_radix = 10;
      }
      break;
    case 0x77:
      include_all_whitespace = 1;
    }
  } while( true );
LAB_001027e3:
  __filename = (type_1 *)local_e8[(int)var_49];
  var_23 = 2;
  var_24 = __filename;
  var_25 = &DAT_001055d5;
  do {
    if (var_23 == 0) break;
    var_23 = var_23 + -1;
    var_26 = *var_24 < *var_25;
    bVar18 = *var_24 == *var_25;
    var_24 = var_24 + (type_5)bVar19 * -2 + 1;
    var_25 = var_25 + (type_5)bVar19 * -2 + 1;
  } while (bVar18);
  if ((!var_26 && !bVar18) == var_26) {
    var_31 = 0;
  }
  else {
    var_8 = var_27(1,(char *)__filename,(type_8 *)&st);
    if (var_8 < 0) {
      piVar9 = var_28();
      if (*piVar9 == 2) {
        pcVar11 = "\'%s\': No such file";
        goto LAB_00102b34;
      }
      pcVar11 = var_29(*piVar9);
      pcVar10 = (char *)var_13(0,"Warning: could not locate \'%s\'.  reason: %s",5);
      var_30(pcVar10,__filename,pcVar11);
      var_48 = 0;
    }
    else if ((st.st_mode & 0xf000) == 0x4000) {
      pcVar11 = "Warning: \'%s\' is a directory";
LAB_00102b34:
      pcVar11 = (char *)var_13(0,pcVar11,5);
      var_30(pcVar11,__filename);
      var_48 = 0;
    }
    else if ((var_31 == 0) || (var_23 = var_32(__filename,target), var_23 == 0)) {
LAB_00102978:
      var_34 = var_33((char *)__filename,"r");
      if (var_34 != (type_6 *)0x0) {
        var_19((char *)__filename,(type_6 *)var_34,0,0,0,in_R9);
        var_8 = var_35(var_34);
        if (var_8 != -1) goto LAB_00102914;
      }
      var_36(stderr,"%s: ",program_name);
      var_37((char *)__filename);
      var_48 = 0;
    }
    else {
      var_8 = var_38(var_23,1);
      if (var_8 == 0) {
        var_39(var_23);
        goto LAB_00102978;
      }
      var_40 = *(type_2 **)(var_23 + 0x90);
      if (var_40 == (type_2 *)0x0) {
        var_8 = var_39(var_23);
        if (var_8 == 0) goto LAB_00102969;
        goto LAB_00102978;
      }
      var_47 = 0;
      do {
        if (((*(type_3 *)(var_40 + 4) & 0x103) == 0x103) && (var_41 = var_40[7], var_41 != 0)) {
          var_8 = var_42(var_23,var_40,&mem);
          if (var_8 == 0) {
            uVar7 = var_43();
            var_44(uVar7);
            uVar3 = *var_40;
            pcVar11 = (char *)var_13(0,"%s: Reading section %s failed: %s",5);
            var_30(pcVar11,__filename,uVar3);
          }
          else {
            var_19((char *)__filename,(type_6 *)0x0,var_40[0x12],(int)var_41,(int)mem,in_R9);
            var_45(mem);
            var_47 = 1;
          }
        }
        var_40 = (type_2 *)var_40[2];
      } while (var_40 != (type_2 *)0x0);
      var_8 = var_39(var_23);
      if (var_8 == 0) {
LAB_00102969:
        var_46((char *)__filename);
        goto LAB_00102978;
      }
      if (var_47 == 0) goto LAB_00102978;
LAB_00102914:
      var_48 = 1;
    }
    bVar4 = true;
    var_9 = var_9 | var_48 ^ 1;
  }
  var_49 = var_49 + 1;
  var_26 = var_49 < var_50;
  bVar18 = var_49 == var_50;
  if ((int)var_50 <= (int)var_49) {
    if (bVar4) {
      return var_9;
    }
switchD_0010259b_caseD_3f:
                    /* WARNING: Subroutine does not return */
    var_20((type_6 *)stderr,1);
  }
  goto LAB_001027e3;
}


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

undefined ** MASKED(uint param_1,undefined8 *param_2)

{
  bool bVar1;
  int iVar2;
  uint uVar3;
  undefined4 uVar4;
  ulong uVar5;
  FILE *__stream;
  int *piVar6;
  undefined8 uVar7;
  undefined8 uVar8;
  undefined8 uVar9;
  long lVar10;
  byte *__filename;
  char *pcVar11;
  byte *pbVar12;
  char *pcVar13;
  byte *pbVar14;
  undefined **ppuVar15;
  undefined8 *puVar16;
  bool bVar17;
  bool bVar18;
  byte bVar19;
  undefined8 *local_e8;
  int local_e0;
  uint local_dc;
  char *local_d8;
  void *local_d0;
  stat local_c8;
  
  bVar19 = 0;
  __stream = (FILE *)0x0;
  ppuVar15 = &PTR_DAT_00108260;
  pcVar11 = "adfhHn:wot:e:T:s:Vv0123456789";
  __filename = &DAT_00105674;
  local_e8 = param_2;
  local_dc = param_1;
  setlocale(6,"");
  bindtextdomain("binutils","/usr/share/locale");
  textdomain("binutils");
  DAT_00108478 = *local_e8;
  xmalloc_set_program_name();
  bfd_set_error_program_name(DAT_00108478);
  FUN_001047f0(&local_dc,&local_e8);
  DAT_0010843c = 's';
  DAT_00108458 = 4;
  DAT_00108454 = 0;
  DAT_00108450 = 0;
  DAT_0010844c = 0;
  DAT_00108448 = 0;
  DAT_00108440 = 0;
  DAT_00108430 = 0;
  do {
    while (iVar2 = getopt_long(local_dc,local_e8,pcVar11,ppuVar15,0), iVar2 != -1) {
      if (iVar2 - 0x3fU < 0x39) {
                    /* WARNING: Could not recover jumptable at 0x0010259b. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        ppuVar15 = (undefined **)
                   (*(code *)(__filename + *(int *)(__filename + (ulong)(iVar2 - 0x3fU) * 4)))();
        return ppuVar15;
      }
      __stream = (FILE *)(ulong)optind;
    }
    iVar2 = (int)__stream;
    if (iVar2 != 0) {
      uVar5 = strtoul((char *)(local_e8[(long)iVar2 + -1] + 1),&local_d8,0);
      DAT_00108458 = (uint)uVar5;
      if ((local_d8 != (char *)0x0) && (*local_d8 != '\0')) {
        lVar10 = local_e8[(long)iVar2 + -1];
        uVar9 = dcgettext(0,"invalid integer argument %s",5);
                    /* WARNING: Subroutine does not return */
        FUN_001034a0(uVar9,lVar10 + 1);
      }
    }
    uVar3 = DAT_00108458;
    __filename = (byte *)(ulong)DAT_00108458;
    if ((int)DAT_00108458 < 1) {
      uVar9 = dcgettext(0,"invalid minimum string length %d",5);
                    /* WARNING: Subroutine does not return */
      FUN_001034a0(uVar9,uVar3);
    }
    if ((byte)(DAT_0010843c + 0xbeU) < 0x32) {
      uVar5 = 1L << (DAT_0010843c + 0xbeU & 0x3f);
      if ((uVar5 & 0x401) == 0) {
        if ((uVar5 & 0x40100000000) == 0) {
          if ((uVar5 & 0x2000000020000) == 0) goto LAB_00102704;
          DAT_00108438 = 1;
        }
        else {
          DAT_00108438 = 2;
        }
      }
      else {
        DAT_00108438 = 4;
      }
      bfd_init();
      FUN_001035e0();
      if ((int)local_dc <= (int)optind) {
        DAT_00108448 = 0;
        FUN_00102ec0("{standard input}",stdin,0,0,0);
        return (undefined **)0x0;
      }
      bVar1 = false;
      bVar17 = false;
      ppuVar15 = (undefined **)0x0;
      bVar18 = true;
      pcVar11 = "-";
      do {
        __filename = (byte *)local_e8[(int)optind];
        lVar10 = 2;
        pbVar12 = __filename;
        pbVar14 = &DAT_001055d5;
        do {
          if (lVar10 == 0) break;
          lVar10 = lVar10 + -1;
          bVar17 = *pbVar12 < *pbVar14;
          bVar18 = *pbVar12 == *pbVar14;
          pbVar12 = pbVar12 + (ulong)bVar19 * -2 + 1;
          pbVar14 = pbVar14 + (ulong)bVar19 * -2 + 1;
        } while (bVar18);
        if ((!bVar17 && !bVar18) == bVar17) {
          DAT_00108448 = 0;
        }
        else {
          iVar2 = __xstat(1,(char *)__filename,&local_c8);
          if (iVar2 < 0) {
            piVar6 = __errno_location();
            if (*piVar6 == 2) {
              pcVar13 = "\'%s\': No such file";
              goto LAB_00102b34;
            }
            __stream = (FILE *)strerror(*piVar6);
            uVar9 = dcgettext(0,"Warning: could not locate \'%s\'.  reason: %s",5);
            FUN_00103540(uVar9,__filename,__stream);
            uVar3 = 0;
          }
          else if ((local_c8.st_mode & 0xf000) == 0x4000) {
            pcVar13 = "Warning: \'%s\' is a directory";
LAB_00102b34:
            uVar9 = dcgettext(0,pcVar13,5);
            FUN_00103540(uVar9,__filename);
            uVar3 = 0;
          }
          else if ((DAT_00108448 == 0) ||
                  (__stream = (FILE *)bfd_openr(__filename,DAT_00108440), __stream == (FILE *)0x0))
          {
LAB_00102978:
            __stream = fopen((char *)__filename,"r");
            if (__stream != (FILE *)0x0) {
              FUN_00102ec0(__filename,__stream,0,0);
              iVar2 = fclose(__stream);
              if (iVar2 != -1) goto LAB_00102914;
            }
            fprintf(stderr,"%s: ",DAT_00108478);
            perror((char *)__filename);
            uVar3 = 0;
          }
          else {
            iVar2 = bfd_check_format(__stream,1);
            if (iVar2 == 0) {
              bfd_close(__stream);
              goto LAB_00102978;
            }
            puVar16 = (undefined8 *)__stream->_offset;
            if (puVar16 == (undefined8 *)0x0) {
              iVar2 = bfd_close(__stream);
              if (iVar2 == 0) goto LAB_00102969;
              goto LAB_00102978;
            }
            local_e0 = 0;
            do {
              if (((*(uint *)(puVar16 + 4) & 0x103) == 0x103) && (puVar16[7] != 0)) {
                iVar2 = bfd_malloc_and_get_section(__stream,puVar16,&local_d0);
                if (iVar2 == 0) {
                  uVar4 = bfd_get_error();
                  uVar7 = bfd_errmsg(uVar4);
                  uVar9 = *puVar16;
                  uVar8 = dcgettext(0,"%s: Reading section %s failed: %s",5);
                  FUN_00103540(uVar8,__filename,uVar9,uVar7);
                }
                else {
                  FUN_00102ec0(__filename,0,puVar16[0x12]);
                  free(local_d0);
                  local_e0 = 1;
                }
              }
              puVar16 = (undefined8 *)puVar16[2];
            } while (puVar16 != (undefined8 *)0x0);
            iVar2 = bfd_close(__stream);
            if (iVar2 == 0) {
LAB_00102969:
              FUN_001031f0(__filename);
              goto LAB_00102978;
            }
            if (local_e0 == 0) goto LAB_00102978;
LAB_00102914:
            uVar3 = 1;
          }
          bVar1 = true;
          ppuVar15 = (undefined **)(ulong)((uint)ppuVar15 | uVar3 ^ 1);
        }
        optind = optind + 1;
        bVar17 = optind < local_dc;
        bVar18 = optind == local_dc;
      } while ((int)optind < (int)local_dc);
      if (bVar1) {
        return ppuVar15;
      }
    }
LAB_00102704:
    FUN_00102dc0(stderr,1);
    DAT_0010845c = 8;
  } while( true );
}

