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

bfd_boolean ldfile_try_open_bfd(char *attempt,lang_input_statement_type *entry)

{
  byte bVar1;
  bool bVar2;
  undefined4 __s1;
  undefined4 __s1_00;
  undefined4 uVar3;
  bool bVar4;
  bfd *pbVar5;
  char *pcVar6;
  bfd_boolean bVar7;
  int iVar8;
  char *pcVar9;
  undefined4 uVar10;
  fill_type *local_2c;
  fill_type *local_24;
  
  pbVar5 = (bfd *)bfd_openr(attempt,entry->target);
  entry->the_bfd = pbVar5;
  if (verbose != 0) {
    if (pbVar5 == (bfd *)0x0) {
      pcVar6 = "attempt to open %s failed\n";
    }
    else {
      pcVar6 = "attempt to open %s succeeded\n";
    }
    pcVar6 = (char *)dcgettext(0,pcVar6,5);
    info_msg(pcVar6,attempt);
    pbVar5 = entry->the_bfd;
  }
  if (pbVar5 == (bfd *)0x0) {
    iVar8 = bfd_get_error();
    if (iVar8 != 2) {
      return 0;
    }
    pcVar6 = entry->target;
    pcVar9 = (char *)dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5);
    einfo(pcVar9,pcVar6);
    return 0;
  }
  bVar1 = pbVar5->field_0x2c;
  *(uint *)&pbVar5->field_0x28 = *(uint *)&pbVar5->field_0x28 | 0x100000;
  pbVar5->field_0x2c = bVar1 | 8;
  if ((char)(entry->flags).field_0x1 < '\0') {
    pbVar5->field_0x2c = bVar1 | 0x48;
  }
  if (((ulonglong)entry->flags & 0x24) != 0x20) {
    iVar8 = bfd_check_format(pbVar5,2);
    if (iVar8 == 0) {
      pbVar5 = entry->the_bfd;
    }
    else {
      pbVar5 = (bfd *)bfd_openr_next_archived_file(entry->the_bfd,0);
    }
    if (pbVar5 != (bfd *)0x0) {
      iVar8 = bfd_check_format(pbVar5,1);
      if (iVar8 != 0) {
        if ((((ulonglong)entry->flags & 0x20) == 0) && ((entry->the_bfd->field_0x29 & 8) != 0)) {
          pcVar6 = (char *)dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);
          einfo(pcVar6,attempt);
        }
        else {
          if (((((ulonglong)entry->flags & 4) == 0) ||
              (iVar8 = bfd_arch_get_compatible
                                 (pbVar5,link_info.output_bfd,command_line.accept_unknown_input_arch
                                 ), iVar8 != 0)) ||
             (((pbVar5->xvec->flavour == bfd_target_xcoff_flavour &&
               ((link_info.output_bfd)->xvec->flavour == bfd_target_xcoff_flavour)) &&
              (iVar8 = bfd_check_format(entry->the_bfd,2), iVar8 != 0)))) goto LAB_000331ca;
          if (command_line.warn_search_mismatch != 0) {
            pcVar6 = entry->local_sym_name;
            pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);
            einfo(pcVar9,attempt,pcVar6);
          }
        }
        bfd_close(entry->the_bfd);
        entry->the_bfd = (bfd *)0x0;
        return 0;
      }
      if (((entry->the_bfd == pbVar5) && (((ulonglong)entry->flags & 4) != 0)) &&
         ((iVar8 = bfd_get_error(), iVar8 == 0xc &&
          (bVar7 = ldemul_unrecognized_file(entry), bVar7 == 0)))) {
        ldfile_open_command_file_1(attempt,0);
        ldfile_assumed_script = 1;
        parser_input = input_selected;
        ldlex_both();
        iVar8 = 0x16f;
        bVar2 = false;
        do {
          if (iVar8 < 0x105) {
            if (iVar8 < 0x103) {
              if ((iVar8 != 0x102) || (local_24 = yylval._8_4_, yylval.bigint.str == (char *)0x0))
              goto LAB_000332b8;
LAB_000332a7:
              free(local_24);
            }
            else {
LAB_0003351c:
              free(yylval.fill);
            }
LAB_000332b8:
            iVar8 = yylex();
          }
          else {
            if (iVar8 != 300) {
              if ((299 < iVar8) && (iVar8 - 0x175U < 2)) goto LAB_0003351c;
              goto LAB_000332b8;
            }
            iVar8 = yylex();
            if ((iVar8 == 0x28) && (iVar8 = yylex(), __s1 = yylval.fill, iVar8 == 0x103)) {
              iVar8 = yylex();
              uVar10 = __s1;
              if (iVar8 != 0x2c) {
                if (iVar8 != 0x29) {
                  free(__s1);
                  goto LAB_000332b8;
                }
                if (command_line.endian == ENDIAN_BIG) {
                  local_24 = (fill_type *)0x0;
LAB_000336a0:
                  pcVar6 = lang_get_output_target();
                  iVar8 = strcmp(__s1,pcVar6);
                  if (iVar8 == 0) {
                    free(__s1);
                  }
                  else {
                    free(__s1);
                    bVar2 = true;
                  }
                }
                else {
                  if (command_line.endian == ENDIAN_LITTLE) {
                    local_2c = (fill_type *)0x0;
LAB_00033646:
                    local_24 = (fill_type *)0x0;
                    uVar10 = __s1;
                  }
                  else {
                    local_24 = (fill_type *)0x0;
                    local_2c = (fill_type *)0x0;
                  }
LAB_00033337:
                  pcVar6 = lang_get_output_target();
                  iVar8 = strcmp(uVar10,pcVar6);
                  bVar4 = true;
                  if (iVar8 == 0) {
                    bVar4 = bVar2;
                  }
LAB_00033360:
                  bVar2 = bVar4;
                  free(__s1);
                  if (local_2c != (fill_type *)0x0) goto LAB_00033373;
                }
LAB_00033382:
                if (local_24 != (fill_type *)0x0) goto LAB_000332a7;
                goto LAB_000332b8;
              }
              iVar8 = yylex();
              __s1_00 = yylval.fill;
              if (iVar8 == 0x103) {
                local_2c = yylval.fill;
                iVar8 = yylex();
                if ((iVar8 == 0x2c) && (iVar8 = yylex(), uVar3 = yylval.fill, iVar8 == 0x103)) {
                  local_24 = yylval.fill;
                  iVar8 = yylex();
                  bVar4 = bVar2;
                  if (iVar8 != 0x29) goto LAB_00033360;
                  if (command_line.endian != ENDIAN_BIG) {
                    if ((command_line.endian == ENDIAN_LITTLE) &&
                       (uVar10 = uVar3, uVar3 == (fill_type *)0x0)) goto LAB_00033646;
                    goto LAB_00033337;
                  }
                  if (__s1_00 == (fill_type *)0x0) goto LAB_000336a0;
                  pcVar6 = lang_get_output_target();
                  iVar8 = strcmp(__s1_00,pcVar6);
                  if (iVar8 == 0) {
                    free(__s1);
                  }
                  else {
                    free(__s1);
                    bVar2 = true;
                  }
LAB_00033373:
                  free(local_2c);
                  goto LAB_00033382;
                }
                free(__s1);
                free(__s1_00);
              }
              else {
                free(__s1);
              }
            }
          }
        } while (iVar8 != 0);
        ldlex_popstate();
        ldfile_assumed_script = 0;
        fclose((FILE *)yyin);
        yyin = (FILE *)0x0;
        if (bVar2) {
          if (command_line.warn_search_mismatch != 0) {
            pcVar6 = entry->local_sym_name;
            pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,
                                       command_line.warn_search_mismatch);
            einfo(pcVar9,attempt,pcVar6);
          }
          bfd_close(entry->the_bfd);
          entry->the_bfd = (bfd *)0x0;
          return 0;
        }
      }
    }
  }
LAB_000331ca:
  if ((((link_info._1_1_ & 2) != 0) && (no_more_claiming == 0)) &&
     (iVar8 = bfd_check_format(entry->the_bfd,1), iVar8 != 0)) {
    plugin_maybe_claim(entry);
  }
  return 1;
}



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

undefined4 FUN_00033130(undefined4 param_1,int param_2)

{
  byte bVar1;
  bool bVar2;
  char *pcVar3;
  bool bVar4;
  int iVar5;
  char *pcVar6;
  undefined4 uVar7;
  int iVar8;
  char *pcVar9;
  undefined4 uVar10;
  char *pcVar11;
  char *local_2c;
  char *local_24;
  
  iVar5 = bfd_openr(param_1,*(undefined4 *)(param_2 + 0x20));
  *(int *)(param_2 + 0x10) = iVar5;
  if (DAT_00084d3c != 0) {
    if (iVar5 == 0) {
      pcVar6 = "attempt to open %s failed\n";
    }
    else {
      pcVar6 = "attempt to open %s succeeded\n";
    }
    uVar7 = dcgettext(0,pcVar6,5);
    FUN_00032b00(uVar7,param_1);
    iVar5 = *(int *)(param_2 + 0x10);
  }
  if (iVar5 == 0) {
    iVar5 = bfd_get_error();
    if (iVar5 != 2) {
      return 0;
    }
    uVar7 = *(undefined4 *)(param_2 + 0x20);
    uVar10 = dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5);
    FUN_00032b30(uVar10,uVar7);
    return 0;
  }
  bVar1 = *(byte *)(iVar5 + 0x2c);
  *(uint *)(iVar5 + 0x28) = *(uint *)(iVar5 + 0x28) | 0x100000;
  *(byte *)(iVar5 + 0x2c) = bVar1 | 8;
  if (*(char *)(param_2 + 0x25) < '\0') {
    *(byte *)(iVar5 + 0x2c) = bVar1 | 0x48;
  }
  if ((*(byte *)(param_2 + 0x24) & 0x24) != 0x20) {
    iVar5 = bfd_check_format(iVar5,2);
    if (iVar5 == 0) {
      iVar5 = *(int *)(param_2 + 0x10);
    }
    else {
      iVar5 = bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0);
    }
    if (iVar5 != 0) {
      iVar8 = bfd_check_format(iVar5,1);
      if (iVar8 != 0) {
        if (((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&
           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)) {
          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);
          FUN_00032b30(uVar7,param_1);
        }
        else {
          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||
              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||
             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&
               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&
              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))
          goto LAB_000331ca;
          if (DAT_00084c74 != 0) {
            uVar7 = *(undefined4 *)(param_2 + 0xc);
            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);
            FUN_00032b30(uVar10,param_1,uVar7);
          }
        }
        bfd_close(*(undefined4 *)(param_2 + 0x10));
        *(undefined4 *)(param_2 + 0x10) = 0;
        return 0;
      }
      if (((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)) &&
         ((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)))) {
        FUN_00032eb0();
        DAT_0008491c = 1;
        DAT_00084b48 = 0;
        FUN_0001b0a0();
        iVar5 = 0x16f;
        bVar2 = false;
        do {
          if (iVar5 < 0x105) {
            if (iVar5 < 0x103) {
              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))
              goto LAB_000332b8;
LAB_000332a7:
              free(local_24);
            }
            else {
LAB_0003351c:
              free(DAT_00084b34);
            }
LAB_000332b8:
            iVar5 = FUN_00018f90();
          }
          else {
            if (iVar5 != 300) {
              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;
              goto LAB_000332b8;
            }
            iVar5 = FUN_00018f90();
            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))
            {
              iVar5 = FUN_00018f90();
              pcVar11 = pcVar6;
              if (iVar5 != 0x2c) {
                if (iVar5 != 0x29) {
                  free(pcVar6);
                  goto LAB_000332b8;
                }
                if (DAT_00084c90 == 1) {
                  local_24 = (char *)0x0;
LAB_000336a0:
                  pcVar11 = (char *)FUN_00024a30();
                  iVar5 = strcmp(pcVar6,pcVar11);
                  if (iVar5 == 0) {
                    free(pcVar6);
                  }
                  else {
                    free(pcVar6);
                    bVar2 = true;
                  }
                }
                else {
                  if (DAT_00084c90 == 2) {
                    local_2c = (char *)0x0;
LAB_00033646:
                    local_24 = (char *)0x0;
                    pcVar11 = pcVar6;
                  }
                  else {
                    local_24 = (char *)0x0;
                    local_2c = (char *)0x0;
                  }
LAB_00033337:
                  pcVar9 = (char *)FUN_00024a30();
                  iVar5 = strcmp(pcVar11,pcVar9);
                  bVar4 = true;
                  if (iVar5 == 0) {
                    bVar4 = bVar2;
                  }
LAB_00033360:
                  bVar2 = bVar4;
                  free(pcVar6);
                  if (local_2c != (char *)0x0) goto LAB_00033373;
                }
LAB_00033382:
                if (local_24 != (char *)0x0) goto LAB_000332a7;
                goto LAB_000332b8;
              }
              iVar5 = FUN_00018f90();
              pcVar9 = DAT_00084b34;
              if (iVar5 == 0x103) {
                local_2c = DAT_00084b34;
                iVar5 = FUN_00018f90();
                if ((iVar5 == 0x2c) &&
                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {
                  local_24 = DAT_00084b34;
                  iVar5 = FUN_00018f90();
                  bVar4 = bVar2;
                  if (iVar5 != 0x29) goto LAB_00033360;
                  if (DAT_00084c90 != 1) {
                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))
                    goto LAB_00033646;
                    goto LAB_00033337;
                  }
                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;
                  pcVar11 = (char *)FUN_00024a30();
                  iVar5 = strcmp(pcVar9,pcVar11);
                  if (iVar5 == 0) {
                    free(pcVar6);
                  }
                  else {
                    free(pcVar6);
                    bVar2 = true;
                  }
LAB_00033373:
                  free(local_2c);
                  goto LAB_00033382;
                }
                free(pcVar6);
                free(pcVar9);
              }
              else {
                free(pcVar6);
              }
            }
          }
        } while (iVar5 != 0);
        FUN_0001b0d0();
        DAT_0008491c = 0;
        fclose(DAT_000845ac);
        DAT_000845ac = (FILE *)0x0;
        if (bVar2) {
          if (DAT_00084c74 != 0) {
            uVar7 = *(undefined4 *)(param_2 + 0xc);
            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,
                               DAT_00084c74);
            FUN_00032b30(uVar10,param_1,uVar7);
          }
          bfd_close(*(undefined4 *)(param_2 + 0x10));
          *(undefined4 *)(param_2 + 0x10) = 0;
          return 0;
        }
      }
    }
  }
LAB_000331ca:
  if ((((DAT_00084bc1 & 2) != 0) && (DAT_00084980 == 0)) &&
     (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),1), iVar5 != 0)) {
    FUN_00036590(param_2);
  }
  return 1;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x000159c0
ADD EBX,0x50ec7
SUB ESP,0x34
MOV ESI,dword ptr [ESP + 0x4c]
PUSH dword ptr [ESI + 0x20]
PUSH dword ptr [ESP + 0x4c]
CALL 0x00014260
LEA EDX,[EBX + 0xd3c]
ADD ESP,0x10
MOV dword ptr [ESI + 0x10],EAX
MOV EBP,dword ptr [EDX]
TEST EBP,EBP
JZ 0x00033191
TEST EAX,EAX
JZ 0x000333d8
SUB ESP,0x4
LEA EAX,[EBX + 0xfffcbbad]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000142c0
POP ECX
POP EDI
PUSH dword ptr [ESP + 0x48]
PUSH EAX
CALL 0x00032b00
MOV EAX,dword ptr [ESI + 0x10]
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000334a0
MOVZX EDX,byte ptr [EAX + 0x2c]
OR dword ptr [EAX + 0x28],0x100000
MOV ECX,EDX
OR ECX,0x8
MOV byte ptr [EAX + 0x2c],CL
CMP byte ptr [ESI + 0x25],0x0
JNS 0x000331b8
OR EDX,0x48
MOV byte ptr [EAX + 0x2c],DL
MOVZX EDX,byte ptr [ESI + 0x24]
AND EDX,0x24
CMP DL,0x20
JNZ 0x000331e8
LEA EDI,[EBX + 0xbc0]
TEST byte ptr [EDI + 0x1],0x2
JNZ 0x00033398
MOV EBP,0x1
ADD ESP,0x2c
MOV EAX,EBP
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x8
PUSH 0x2
PUSH EAX
CALL 0x00014a30
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00033480
MOV EBP,dword ptr [ESI + 0x10]
TEST EBP,EBP
JZ 0x000331c4
SUB ESP,0x8
PUSH 0x1
PUSH EBP
CALL 0x00014a30
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000333f0
LEA EDI,[EBX + 0xbc0]
CMP dword ptr [ESI + 0x10],EBP
JNZ 0x000331ca
TEST byte ptr [ESI + 0x24],0x4
JZ 0x000331ca
CALL 0x00014410
CMP EAX,0xc
JNZ 0x000331ca
SUB ESP,0xc
PUSH ESI
CALL 0x000315b0
MOV dword ptr [ESP + 0x1c],EAX
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000331ca
MOV EAX,dword ptr [ESP + 0x40]
XOR EDX,EDX
MOV EBP,0x16f
CALL 0x00032eb0
LEA EAX,[EBX + 0xb48]
MOV dword ptr [EBX + 0x91c],0x1
MOV dword ptr [EAX],0x0
CALL 0x0001b0a0
LEA EDI,[EBX + 0xb34]
MOV EAX,EBP
MOV EBP,ESI
MOV dword ptr [ESP + 0x14],EDI
JMP 0x000332c5
CMP EAX,0x103
JGE 0x0003351c
CMP EAX,0x102
JNZ 0x000332b8
LEA EAX,[EBX + 0xb34]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x000332b8
SUB ESP,0xc
PUSH EAX
CALL 0x00014c10
ADD ESP,0x10
LEA ESI,[ESI]
NOP
CALL 0x00018f90
TEST EAX,EAX
JZ 0x0003352e
CMP EAX,0x104
JLE 0x00033288
CMP EAX,0x12c
JNZ 0x00033508
CALL 0x00018f90
CMP EAX,0x28
JNZ 0x000332bd
CALL 0x00018f90
CMP EAX,0x103
JNZ 0x000332bd
MOV EAX,dword ptr [ESP + 0x14]
MOV ESI,dword ptr [EAX]
CALL 0x00018f90
CMP EAX,0x2c
JZ 0x00033619
CMP EAX,0x29
JNZ 0x00033608
LEA EAX,[EBX + 0xc60]
MOV EAX,dword ptr [EAX + 0x30]
CMP EAX,0x1
JZ 0x00033698
CMP EAX,0x2
JZ 0x0003363e
MOV dword ptr [ESP + 0x18],0x0
MOV EDX,ESI
MOV dword ptr [ESP + 0x10],0x0
MOV dword ptr [ESP + 0x1c],EDX
CALL 0x00024a30
PUSH EDX
PUSH EDX
PUSH EAX
MOV EDX,dword ptr [ESP + 0x28]
PUSH EDX
CALL 0x000140c0
ADD ESP,0x10
TEST EAX,EAX
MOV EAX,0x1
CMOVZ EAX,dword ptr [ESP + 0xc]
MOV dword ptr [ESP + 0xc],EAX
SUB ESP,0xc
PUSH ESI
CALL 0x00014c10
ADD ESP,0x10
CMP dword ptr [ESP + 0x10],0x0
JZ 0x00033382
SUB ESP,0xc
PUSH dword ptr [ESP + 0x1c]
CALL 0x00014c10
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x18]
TEST EAX,EAX
JNZ 0x000332a7
JMP 0x000332b8
LEA EAX,[EBX + 0x980]
MOV EDI,dword ptr [EAX]
TEST EDI,EDI
JNZ 0x000331d4
SUB ESP,0x8
PUSH 0x1
PUSH dword ptr [ESI + 0x10]
CALL 0x00014a30
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000331d4
SUB ESP,0xc
PUSH ESI
CALL 0x00036590
ADD ESP,0x10
JMP 0x000331d4
SUB ESP,0x4
LEA EAX,[EBX + 0xfffcbb92]
PUSH 0x5
JMP 0x00033177
MOVZX EAX,byte ptr [ESI + 0x24]
TEST AL,0x20
JNZ 0x00033405
MOV EDX,dword ptr [ESI + 0x10]
TEST byte ptr [EDX + 0x29],0x8
JNZ 0x000334e0
LEA EDI,[EBX + 0xbc0]
TEST AL,0x4
JZ 0x000331ca
LEA EDX,[EBX + 0xc60]
SUB ESP,0x4
PUSH dword ptr [EDX + 0x1c]
MOV dword ptr [ESP + 0x14],EDX
PUSH dword ptr [EDI + 0x34]
PUSH EBP
CALL 0x00014430
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0xc]
TEST EAX,EAX
JNZ 0x000331ca
MOV EAX,dword ptr [EBP + 0x4]
CMP dword ptr [EAX + 0x4],0x4
JNZ 0x00033454
MOV EAX,dword ptr [EDI + 0x34]
MOV EAX,dword ptr [EAX + 0x4]
CMP dword ptr [EAX + 0x4],0x4
JZ 0x000335b9
MOV EBP,dword ptr [EDX + 0x14]
TEST EBP,EBP
JNZ 0x0003358d
SUB ESP,0xc
PUSH dword ptr [ESI + 0x10]
XOR EBP,EBP
CALL 0x00014910
MOV dword ptr [ESI + 0x10],0x0
ADD ESP,0x10
JMP 0x000331d9
SUB ESP,0x8
PUSH 0x0
PUSH dword ptr [ESI + 0x10]
CALL 0x00014a40
ADD ESP,0x10
MOV EBP,EAX
JMP 0x00033201
CALL 0x00014410
XOR EBP,EBP
CMP EAX,0x2
JNZ 0x000331d9
SUB ESP,0x4
LEA EAX,[EBX + 0xfffcbc68]
MOV ESI,dword ptr [ESI + 0x20]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000142c0
POP EDI
POP EDX
PUSH ESI
PUSH EAX
CALL 0x00032b30
ADD ESP,0x10
JMP 0x000331d9
SUB ESP,0x4
LEA EAX,[EBX + 0xfffcbcbc]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000142c0
POP EDX
POP ECX
PUSH dword ptr [ESP + 0x48]
PUSH EAX
CALL 0x00032b30
POP EDI
JMP 0x00033462
JL 0x000332b8
SUB EAX,0x175
CMP EAX,0x1
JA 0x000332b8
SUB ESP,0xc
PUSH dword ptr [EDI]
CALL 0x00014c10
ADD ESP,0x10
JMP 0x000332b8
MOV ESI,EBP
MOV EBP,EAX
CALL 0x0001b0d0
LEA EDI,[EBX + 0x5ac]
SUB ESP,0xc
MOV dword ptr [EBX + 0x91c],0x0
PUSH dword ptr [EDI]
CALL 0x00014250
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0xc]
MOV dword ptr [EDI],0x0
TEST EAX,EAX
JZ 0x000331c4
LEA EAX,[EBX + 0xc60]
MOV EAX,dword ptr [EAX + 0x14]
TEST EAX,EAX
JNZ 0x000335de
SUB ESP,0xc
PUSH dword ptr [ESI + 0x10]
CALL 0x00014910
MOV dword ptr [ESI + 0x10],0x0
ADD ESP,0x10
JMP 0x000331d9
SUB ESP,0x4
LEA EAX,[EBX + 0xfffcbc88]
MOV EDI,dword ptr [ESI + 0xc]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000142c0
ADD ESP,0xc
PUSH EDI
PUSH dword ptr [ESP + 0x48]
PUSH EAX
CALL 0x00032b30
ADD ESP,0x10
JMP 0x0003345f
MOV dword ptr [ESP + 0xc],EDX
SUB ESP,0x8
PUSH 0x2
PUSH dword ptr [ESI + 0x10]
CALL 0x00014a30
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0xc]
TEST EAX,EAX
JNZ 0x000331ca
JMP 0x00033454
MOV EDI,dword ptr [ESI + 0xc]
PUSH EAX
LEA EAX,[EBX + 0xfffcbc88]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000142c0
ADD ESP,0xc
PUSH EDI
PUSH dword ptr [ESP + 0x48]
PUSH EAX
CALL 0x00032b30
ADD ESP,0x10
JMP 0x00033573
SUB ESP,0xc
PUSH ESI
CALL 0x00014c10
ADD ESP,0x10
JMP 0x000332b8
CALL 0x00018f90
CMP EAX,0x103
MOV dword ptr [ESP + 0x10],EAX
JZ 0x00033655
SUB ESP,0xc
PUSH ESI
CALL 0x00014c10
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x10]
JMP 0x000332bd
MOV dword ptr [ESP + 0x10],0x0
MOV EDX,ESI
MOV dword ptr [ESP + 0x18],0x0
JMP 0x00033337
MOV EAX,dword ptr [ESP + 0x14]
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x10],EAX
CALL 0x00018f90
CMP EAX,0x2c
JNZ 0x00033675
CALL 0x00018f90
CMP EAX,0x103
JZ 0x000336ca
MOV dword ptr [ESP + 0x18],EAX
SUB ESP,0xc
PUSH ESI
CALL 0x00014c10
POP ECX
PUSH dword ptr [ESP + 0x1c]
CALL 0x00014c10
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x18]
JMP 0x000332bd
MOV dword ptr [ESP + 0x18],0x0
CALL 0x00024a30
PUSH EDX
PUSH EDX
PUSH EAX
PUSH ESI
CALL 0x000140c0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00033746
SUB ESP,0xc
PUSH ESI
CALL 0x00014c10
ADD ESP,0x10
JMP 0x00033382
MOV EAX,dword ptr [ESP + 0x14]
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x18],EAX
CALL 0x00018f90
CMP EAX,0x29
JNZ 0x00033360
LEA EAX,[EBX + 0xc60]
MOV EAX,dword ptr [EAX + 0x30]
CMP EAX,0x1
JZ 0x0003370e
MOV EDX,ESI
CMP EAX,0x2
JNZ 0x00033337
MOV EAX,dword ptr [ESP + 0x18]
MOV EDX,EAX
TEST EAX,EAX
JNZ 0x00033337
JMP 0x00033646
CMP dword ptr [ESP + 0x10],0x0
JZ 0x000336a0
CALL 0x00024a30
PUSH ECX
PUSH ECX
PUSH EAX
PUSH dword ptr [ESP + 0x1c]
CALL 0x000140c0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0003375f
SUB ESP,0xc
PUSH ESI
CALL 0x00014c10
ADD ESP,0x10
MOV dword ptr [ESP + 0xc],0x1
JMP 0x00033373
SUB ESP,0xc
PUSH ESI
CALL 0x00014c10
ADD ESP,0x10
MOV dword ptr [ESP + 0xc],0x1
JMP 0x00033382
SUB ESP,0xc
PUSH ESI
CALL 0x00014c10
ADD ESP,0x10
JMP 0x00033373
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 FUN_00033130(undefined4 param_1,int param_2)\n\n{\n  byte bVar1;\n  bool bVar2;\n  char *pcVar3;\n  bool bVar4;\n  int iVar5;\n  char *pcVar6;\n  undefined4 uVar7;\n  int iVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  char *pcVar11;\n  char *local_2c;\n  char *local_24;\n  \n  iVar5 = bfd_openr(param_1,*(undefined4 *)(param_2 + 0x20));\n  *(int *)(param_2 + 0x10) = iVar5;\n  if (DAT_00084d3c != 0) {\n    if (iVar5 == 0) {\n      pcVar6 = "attempt to open %s failed\n";\n    }\n    else {\n      pcVar6 = "attempt to open %s succeeded\n";\n    }\n    uVar7 = dcgettext(0,pcVar6,5);\n    FUN_00032b00(uVar7,param_1);\n    iVar5 = *(int *)(param_2 + 0x10);\n  }\n  if (iVar5 == 0) {\n    iVar5 = bfd_get_error();\n    if (iVar5 != 2) {\n      return 0;\n    }\n    uVar7 = *(undefined4 *)(param_2 + 0x20);\n    uVar10 = dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5);\n    FUN_00032b30(uVar10,uVar7);\n    return 0;\n  }\n  bVar1 = *(byte *)(iVar5 + 0x2c);\n  *(uint *)(iVar5 + 0x28) = *(uint *)(iVar5 + 0x28) | 0x100000;\n  *(byte *)(iVar5 + 0x2c) = bVar1 | 8;\n  if (*(char *)(param_2 + 0x25) < '\0') {\n    *(byte *)(iVar5 + 0x2c) = bVar1 | 0x48;\n  }\n  if ((*(byte *)(param_2 + 0x24) & 0x24) != 0x20) {\n    iVar5 = bfd_check_format(iVar5,2);\n    if (iVar5 == 0) {\n      iVar5 = *(int *)(param_2 + 0x10);\n    }\n    else {\n      iVar5 = bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0);\n    }\n    if (iVar5 != 0) {\n      iVar8 = bfd_check_format(iVar5,1);\n      if (iVar8 != 0) {\n        if (((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)) {\n          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          FUN_00032b30(uVar7,param_1);\n        }\n        else {\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }\n        bfd_close(*(undefined4 *)(param_2 + 0x10));\n        *(undefined4 *)(param_2 + 0x10) = 0;\n        return 0;\n      }\n      if (((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)) &&\n         ((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)))) {\n        FUN_00032eb0();\n        DAT_0008491c = 1;\n        DAT_00084b48 = 0;\n        FUN_0001b0a0();\n        iVar5 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }\n        } while (iVar5 != 0);\n        FUN_0001b0d0();\n        DAT_0008491c = 0;\n        fclose(DAT_000845ac);\n        DAT_000845ac = (FILE *)0x0;\n        if (bVar2) {\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n          bfd_close(*(undefined4 *)(param_2 + 0x10));\n          *(undefined4 *)(param_2 + 0x10) = 0;\n          return 0;\n        }\n      }\n    }\n  }\nLAB_000331ca:\n  if ((((DAT_00084bc1 & 2) != 0) && (DAT_00084980 == 0)) &&\n     (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),1), iVar5 != 0)) {\n    FUN_00036590(param_2);\n  }\n  return 1;\n}\n\n" comment (function_definition "undefined4 FUN_00033130(undefined4 param_1,int param_2)\n\n{\n  byte bVar1;\n  bool bVar2;\n  char *pcVar3;\n  bool bVar4;\n  int iVar5;\n  char *pcVar6;\n  undefined4 uVar7;\n  int iVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  char *pcVar11;\n  char *local_2c;\n  char *local_24;\n  \n  iVar5 = bfd_openr(param_1,*(undefined4 *)(param_2 + 0x20));\n  *(int *)(param_2 + 0x10) = iVar5;\n  if (DAT_00084d3c != 0) {\n    if (iVar5 == 0) {\n      pcVar6 = "attempt to open %s failed\n";\n    }\n    else {\n      pcVar6 = "attempt to open %s succeeded\n";\n    }\n    uVar7 = dcgettext(0,pcVar6,5);\n    FUN_00032b00(uVar7,param_1);\n    iVar5 = *(int *)(param_2 + 0x10);\n  }\n  if (iVar5 == 0) {\n    iVar5 = bfd_get_error();\n    if (iVar5 != 2) {\n      return 0;\n    }\n    uVar7 = *(undefined4 *)(param_2 + 0x20);\n    uVar10 = dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5);\n    FUN_00032b30(uVar10,uVar7);\n    return 0;\n  }\n  bVar1 = *(byte *)(iVar5 + 0x2c);\n  *(uint *)(iVar5 + 0x28) = *(uint *)(iVar5 + 0x28) | 0x100000;\n  *(byte *)(iVar5 + 0x2c) = bVar1 | 8;\n  if (*(char *)(param_2 + 0x25) < '\0') {\n    *(byte *)(iVar5 + 0x2c) = bVar1 | 0x48;\n  }\n  if ((*(byte *)(param_2 + 0x24) & 0x24) != 0x20) {\n    iVar5 = bfd_check_format(iVar5,2);\n    if (iVar5 == 0) {\n      iVar5 = *(int *)(param_2 + 0x10);\n    }\n    else {\n      iVar5 = bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0);\n    }\n    if (iVar5 != 0) {\n      iVar8 = bfd_check_format(iVar5,1);\n      if (iVar8 != 0) {\n        if (((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)) {\n          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          FUN_00032b30(uVar7,param_1);\n        }\n        else {\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }\n        bfd_close(*(undefined4 *)(param_2 + 0x10));\n        *(undefined4 *)(param_2 + 0x10) = 0;\n        return 0;\n      }\n      if (((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)) &&\n         ((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)))) {\n        FUN_00032eb0();\n        DAT_0008491c = 1;\n        DAT_00084b48 = 0;\n        FUN_0001b0a0();\n        iVar5 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }\n        } while (iVar5 != 0);\n        FUN_0001b0d0();\n        DAT_0008491c = 0;\n        fclose(DAT_000845ac);\n        DAT_000845ac = (FILE *)0x0;\n        if (bVar2) {\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n          bfd_close(*(undefined4 *)(param_2 + 0x10));\n          *(undefined4 *)(param_2 + 0x10) = 0;\n          return 0;\n        }\n      }\n    }\n  }\nLAB_000331ca:\n  if ((((DAT_00084bc1 & 2) != 0) && (DAT_00084980 == 0)) &&\n     (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),1), iVar5 != 0)) {\n    FUN_00036590(param_2);\n  }\n  return 1;\n}" type_identifier (function_declarator "FUN_00033130(undefined4 param_1,int param_2)" identifier (parameter_list "(undefined4 param_1,int param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  bool bVar2;\n  char *pcVar3;\n  bool bVar4;\n  int iVar5;\n  char *pcVar6;\n  undefined4 uVar7;\n  int iVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  char *pcVar11;\n  char *local_2c;\n  char *local_24;\n  \n  iVar5 = bfd_openr(param_1,*(undefined4 *)(param_2 + 0x20));\n  *(int *)(param_2 + 0x10) = iVar5;\n  if (DAT_00084d3c != 0) {\n    if (iVar5 == 0) {\n      pcVar6 = "attempt to open %s failed\n";\n    }\n    else {\n      pcVar6 = "attempt to open %s succeeded\n";\n    }\n    uVar7 = dcgettext(0,pcVar6,5);\n    FUN_00032b00(uVar7,param_1);\n    iVar5 = *(int *)(param_2 + 0x10);\n  }\n  if (iVar5 == 0) {\n    iVar5 = bfd_get_error();\n    if (iVar5 != 2) {\n      return 0;\n    }\n    uVar7 = *(undefined4 *)(param_2 + 0x20);\n    uVar10 = dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5);\n    FUN_00032b30(uVar10,uVar7);\n    return 0;\n  }\n  bVar1 = *(byte *)(iVar5 + 0x2c);\n  *(uint *)(iVar5 + 0x28) = *(uint *)(iVar5 + 0x28) | 0x100000;\n  *(byte *)(iVar5 + 0x2c) = bVar1 | 8;\n  if (*(char *)(param_2 + 0x25) < '\0') {\n    *(byte *)(iVar5 + 0x2c) = bVar1 | 0x48;\n  }\n  if ((*(byte *)(param_2 + 0x24) & 0x24) != 0x20) {\n    iVar5 = bfd_check_format(iVar5,2);\n    if (iVar5 == 0) {\n      iVar5 = *(int *)(param_2 + 0x10);\n    }\n    else {\n      iVar5 = bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0);\n    }\n    if (iVar5 != 0) {\n      iVar8 = bfd_check_format(iVar5,1);\n      if (iVar8 != 0) {\n        if (((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)) {\n          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          FUN_00032b30(uVar7,param_1);\n        }\n        else {\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }\n        bfd_close(*(undefined4 *)(param_2 + 0x10));\n        *(undefined4 *)(param_2 + 0x10) = 0;\n        return 0;\n      }\n      if (((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)) &&\n         ((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)))) {\n        FUN_00032eb0();\n        DAT_0008491c = 1;\n        DAT_00084b48 = 0;\n        FUN_0001b0a0();\n        iVar5 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }\n        } while (iVar5 != 0);\n        FUN_0001b0d0();\n        DAT_0008491c = 0;\n        fclose(DAT_000845ac);\n        DAT_000845ac = (FILE *)0x0;\n        if (bVar2) {\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n          bfd_close(*(undefined4 *)(param_2 + 0x10));\n          *(undefined4 *)(param_2 + 0x10) = 0;\n          return 0;\n        }\n      }\n    }\n  }\nLAB_000331ca:\n  if ((((DAT_00084bc1 & 2) != 0) && (DAT_00084980 == 0)) &&\n     (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),1), iVar5 != 0)) {\n    FUN_00036590(param_2);\n  }\n  return 1;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "char *local_2c;" primitive_type (pointer_declarator "*local_2c" * identifier) ;) (declaration "char *local_24;" primitive_type (pointer_declarator "*local_24" * identifier) ;) (expression_statement "iVar5 = bfd_openr(param_1,*(undefined4 *)(param_2 + 0x20));" (assignment_expression "iVar5 = bfd_openr(param_1,*(undefined4 *)(param_2 + 0x20))" identifier = (call_expression "bfd_openr(param_1,*(undefined4 *)(param_2 + 0x20))" identifier (argument_list "(param_1,*(undefined4 *)(param_2 + 0x20))" ( identifier , (pointer_expression "*(undefined4 *)(param_2 + 0x20)" * (cast_expression "(undefined4 *)(param_2 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) )))) )))) ;) (expression_statement "*(int *)(param_2 + 0x10) = iVar5;" (assignment_expression "*(int *)(param_2 + 0x10) = iVar5" (pointer_expression "*(int *)(param_2 + 0x10)" * (cast_expression "(int *)(param_2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) = identifier) ;) (if_statement "if (DAT_00084d3c != 0) {\n    if (iVar5 == 0) {\n      pcVar6 = "attempt to open %s failed\n";\n    }\n    else {\n      pcVar6 = "attempt to open %s succeeded\n";\n    }\n    uVar7 = dcgettext(0,pcVar6,5);\n    FUN_00032b00(uVar7,param_1);\n    iVar5 = *(int *)(param_2 + 0x10);\n  }" if (parenthesized_expression "(DAT_00084d3c != 0)" ( (binary_expression "DAT_00084d3c != 0" identifier != number_literal) )) (compound_statement "{\n    if (iVar5 == 0) {\n      pcVar6 = "attempt to open %s failed\n";\n    }\n    else {\n      pcVar6 = "attempt to open %s succeeded\n";\n    }\n    uVar7 = dcgettext(0,pcVar6,5);\n    FUN_00032b00(uVar7,param_1);\n    iVar5 = *(int *)(param_2 + 0x10);\n  }" { (if_statement "if (iVar5 == 0) {\n      pcVar6 = "attempt to open %s failed\n";\n    }\n    else {\n      pcVar6 = "attempt to open %s succeeded\n";\n    }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      pcVar6 = "attempt to open %s failed\n";\n    }" { (expression_statement "pcVar6 = "attempt to open %s failed\n";" (assignment_expression "pcVar6 = "attempt to open %s failed\n"" identifier = (string_literal ""attempt to open %s failed\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n      pcVar6 = "attempt to open %s succeeded\n";\n    }" else (compound_statement "{\n      pcVar6 = "attempt to open %s succeeded\n";\n    }" { (expression_statement "pcVar6 = "attempt to open %s succeeded\n";" (assignment_expression "pcVar6 = "attempt to open %s succeeded\n"" identifier = (string_literal ""attempt to open %s succeeded\n"" " string_content escape_sequence ")) ;) }))) (expression_statement "uVar7 = dcgettext(0,pcVar6,5);" (assignment_expression "uVar7 = dcgettext(0,pcVar6,5)" identifier = (call_expression "dcgettext(0,pcVar6,5)" identifier (argument_list "(0,pcVar6,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "FUN_00032b00(uVar7,param_1);" (call_expression "FUN_00032b00(uVar7,param_1)" identifier (argument_list "(uVar7,param_1)" ( identifier , identifier ))) ;) (expression_statement "iVar5 = *(int *)(param_2 + 0x10);" (assignment_expression "iVar5 = *(int *)(param_2 + 0x10)" identifier = (pointer_expression "*(int *)(param_2 + 0x10)" * (cast_expression "(int *)(param_2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) ))))) ;) })) (if_statement "if (iVar5 == 0) {\n    iVar5 = bfd_get_error();\n    if (iVar5 != 2) {\n      return 0;\n    }\n    uVar7 = *(undefined4 *)(param_2 + 0x20);\n    uVar10 = dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5);\n    FUN_00032b30(uVar10,uVar7);\n    return 0;\n  }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar5 = bfd_get_error();\n    if (iVar5 != 2) {\n      return 0;\n    }\n    uVar7 = *(undefined4 *)(param_2 + 0x20);\n    uVar10 = dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5);\n    FUN_00032b30(uVar10,uVar7);\n    return 0;\n  }" { (expression_statement "iVar5 = bfd_get_error();" (assignment_expression "iVar5 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar5 != 2) {\n      return 0;\n    }" if (parenthesized_expression "(iVar5 != 2)" ( (binary_expression "iVar5 != 2" identifier != number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar7 = *(undefined4 *)(param_2 + 0x20);" (assignment_expression "uVar7 = *(undefined4 *)(param_2 + 0x20)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 0x20)" * (cast_expression "(undefined4 *)(param_2 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5);" (assignment_expression "uVar10 = dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5)" identifier = (call_expression "dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5)" identifier (argument_list "(0,"%F%P: invalid BFD target `%s\'\n",5)" ( number_literal , (string_literal ""%F%P: invalid BFD target `%s\'\n"" " string_content escape_sequence escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00032b30(uVar10,uVar7);" (call_expression "FUN_00032b30(uVar10,uVar7)" identifier (argument_list "(uVar10,uVar7)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "bVar1 = *(byte *)(iVar5 + 0x2c);" (assignment_expression "bVar1 = *(byte *)(iVar5 + 0x2c)" identifier = (pointer_expression "*(byte *)(iVar5 + 0x2c)" * (cast_expression "(byte *)(iVar5 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar5 + 0x28) = *(uint *)(iVar5 + 0x28) | 0x100000;" (assignment_expression "*(uint *)(iVar5 + 0x28) = *(uint *)(iVar5 + 0x28) | 0x100000" (pointer_expression "*(uint *)(iVar5 + 0x28)" * (cast_expression "(uint *)(iVar5 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x28)" ( (binary_expression "iVar5 + 0x28" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar5 + 0x28) | 0x100000" (pointer_expression "*(uint *)(iVar5 + 0x28)" * (cast_expression "(uint *)(iVar5 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x28)" ( (binary_expression "iVar5 + 0x28" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "*(byte *)(iVar5 + 0x2c) = bVar1 | 8;" (assignment_expression "*(byte *)(iVar5 + 0x2c) = bVar1 | 8" (pointer_expression "*(byte *)(iVar5 + 0x2c)" * (cast_expression "(byte *)(iVar5 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) )))) = (binary_expression "bVar1 | 8" identifier | number_literal)) ;) (if_statement "if (*(char *)(param_2 + 0x25) < '\0') {\n    *(byte *)(iVar5 + 0x2c) = bVar1 | 0x48;\n  }" if (parenthesized_expression "(*(char *)(param_2 + 0x25) < '\0')" ( (binary_expression "*(char *)(param_2 + 0x25) < '\0'" (pointer_expression "*(char *)(param_2 + 0x25)" * (cast_expression "(char *)(param_2 + 0x25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x25)" ( (binary_expression "param_2 + 0x25" identifier + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    *(byte *)(iVar5 + 0x2c) = bVar1 | 0x48;\n  }" { (expression_statement "*(byte *)(iVar5 + 0x2c) = bVar1 | 0x48;" (assignment_expression "*(byte *)(iVar5 + 0x2c) = bVar1 | 0x48" (pointer_expression "*(byte *)(iVar5 + 0x2c)" * (cast_expression "(byte *)(iVar5 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) )))) = (binary_expression "bVar1 | 0x48" identifier | number_literal)) ;) })) (if_statement "if ((*(byte *)(param_2 + 0x24) & 0x24) != 0x20) {\n    iVar5 = bfd_check_format(iVar5,2);\n    if (iVar5 == 0) {\n      iVar5 = *(int *)(param_2 + 0x10);\n    }\n    else {\n      iVar5 = bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0);\n    }\n    if (iVar5 != 0) {\n      iVar8 = bfd_check_format(iVar5,1);\n      if (iVar8 != 0) {\n        if (((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)) {\n          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          FUN_00032b30(uVar7,param_1);\n        }\n        else {\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }\n        bfd_close(*(undefined4 *)(param_2 + 0x10));\n        *(undefined4 *)(param_2 + 0x10) = 0;\n        return 0;\n      }\n      if (((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)) &&\n         ((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)))) {\n        FUN_00032eb0();\n        DAT_0008491c = 1;\n        DAT_00084b48 = 0;\n        FUN_0001b0a0();\n        iVar5 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }\n        } while (iVar5 != 0);\n        FUN_0001b0d0();\n        DAT_0008491c = 0;\n        fclose(DAT_000845ac);\n        DAT_000845ac = (FILE *)0x0;\n        if (bVar2) {\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n          bfd_close(*(undefined4 *)(param_2 + 0x10));\n          *(undefined4 *)(param_2 + 0x10) = 0;\n          return 0;\n        }\n      }\n    }\n  }" if (parenthesized_expression "((*(byte *)(param_2 + 0x24) & 0x24) != 0x20)" ( (binary_expression "(*(byte *)(param_2 + 0x24) & 0x24) != 0x20" (parenthesized_expression "(*(byte *)(param_2 + 0x24) & 0x24)" ( (binary_expression "*(byte *)(param_2 + 0x24) & 0x24" (pointer_expression "*(byte *)(param_2 + 0x24)" * (cast_expression "(byte *)(param_2 + 0x24)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x24)" ( (binary_expression "param_2 + 0x24" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n    iVar5 = bfd_check_format(iVar5,2);\n    if (iVar5 == 0) {\n      iVar5 = *(int *)(param_2 + 0x10);\n    }\n    else {\n      iVar5 = bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0);\n    }\n    if (iVar5 != 0) {\n      iVar8 = bfd_check_format(iVar5,1);\n      if (iVar8 != 0) {\n        if (((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)) {\n          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          FUN_00032b30(uVar7,param_1);\n        }\n        else {\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }\n        bfd_close(*(undefined4 *)(param_2 + 0x10));\n        *(undefined4 *)(param_2 + 0x10) = 0;\n        return 0;\n      }\n      if (((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)) &&\n         ((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)))) {\n        FUN_00032eb0();\n        DAT_0008491c = 1;\n        DAT_00084b48 = 0;\n        FUN_0001b0a0();\n        iVar5 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }\n        } while (iVar5 != 0);\n        FUN_0001b0d0();\n        DAT_0008491c = 0;\n        fclose(DAT_000845ac);\n        DAT_000845ac = (FILE *)0x0;\n        if (bVar2) {\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n          bfd_close(*(undefined4 *)(param_2 + 0x10));\n          *(undefined4 *)(param_2 + 0x10) = 0;\n          return 0;\n        }\n      }\n    }\n  }" { (expression_statement "iVar5 = bfd_check_format(iVar5,2);" (assignment_expression "iVar5 = bfd_check_format(iVar5,2)" identifier = (call_expression "bfd_check_format(iVar5,2)" identifier (argument_list "(iVar5,2)" ( identifier , number_literal )))) ;) (if_statement "if (iVar5 == 0) {\n      iVar5 = *(int *)(param_2 + 0x10);\n    }\n    else {\n      iVar5 = bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0);\n    }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar5 = *(int *)(param_2 + 0x10);\n    }" { (expression_statement "iVar5 = *(int *)(param_2 + 0x10);" (assignment_expression "iVar5 = *(int *)(param_2 + 0x10)" identifier = (pointer_expression "*(int *)(param_2 + 0x10)" * (cast_expression "(int *)(param_2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      iVar5 = bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0);\n    }" else (compound_statement "{\n      iVar5 = bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0);\n    }" { (expression_statement "iVar5 = bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0);" (assignment_expression "iVar5 = bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0)" identifier = (call_expression "bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0)" identifier (argument_list "(*(undefined4 *)(param_2 + 0x10),0)" ( (pointer_expression "*(undefined4 *)(param_2 + 0x10)" * (cast_expression "(undefined4 *)(param_2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) , number_literal )))) ;) }))) (if_statement "if (iVar5 != 0) {\n      iVar8 = bfd_check_format(iVar5,1);\n      if (iVar8 != 0) {\n        if (((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)) {\n          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          FUN_00032b30(uVar7,param_1);\n        }\n        else {\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }\n        bfd_close(*(undefined4 *)(param_2 + 0x10));\n        *(undefined4 *)(param_2 + 0x10) = 0;\n        return 0;\n      }\n      if (((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)) &&\n         ((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)))) {\n        FUN_00032eb0();\n        DAT_0008491c = 1;\n        DAT_00084b48 = 0;\n        FUN_0001b0a0();\n        iVar5 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }\n        } while (iVar5 != 0);\n        FUN_0001b0d0();\n        DAT_0008491c = 0;\n        fclose(DAT_000845ac);\n        DAT_000845ac = (FILE *)0x0;\n        if (bVar2) {\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n          bfd_close(*(undefined4 *)(param_2 + 0x10));\n          *(undefined4 *)(param_2 + 0x10) = 0;\n          return 0;\n        }\n      }\n    }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar8 = bfd_check_format(iVar5,1);\n      if (iVar8 != 0) {\n        if (((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)) {\n          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          FUN_00032b30(uVar7,param_1);\n        }\n        else {\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }\n        bfd_close(*(undefined4 *)(param_2 + 0x10));\n        *(undefined4 *)(param_2 + 0x10) = 0;\n        return 0;\n      }\n      if (((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)) &&\n         ((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)))) {\n        FUN_00032eb0();\n        DAT_0008491c = 1;\n        DAT_00084b48 = 0;\n        FUN_0001b0a0();\n        iVar5 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }\n        } while (iVar5 != 0);\n        FUN_0001b0d0();\n        DAT_0008491c = 0;\n        fclose(DAT_000845ac);\n        DAT_000845ac = (FILE *)0x0;\n        if (bVar2) {\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n          bfd_close(*(undefined4 *)(param_2 + 0x10));\n          *(undefined4 *)(param_2 + 0x10) = 0;\n          return 0;\n        }\n      }\n    }" { (expression_statement "iVar8 = bfd_check_format(iVar5,1);" (assignment_expression "iVar8 = bfd_check_format(iVar5,1)" identifier = (call_expression "bfd_check_format(iVar5,1)" identifier (argument_list "(iVar5,1)" ( identifier , number_literal )))) ;) (if_statement "if (iVar8 != 0) {\n        if (((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)) {\n          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          FUN_00032b30(uVar7,param_1);\n        }\n        else {\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }\n        bfd_close(*(undefined4 *)(param_2 + 0x10));\n        *(undefined4 *)(param_2 + 0x10) = 0;\n        return 0;\n      }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n        if (((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)) {\n          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          FUN_00032b30(uVar7,param_1);\n        }\n        else {\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }\n        bfd_close(*(undefined4 *)(param_2 + 0x10));\n        *(undefined4 *)(param_2 + 0x10) = 0;\n        return 0;\n      }" { (if_statement "if (((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)) {\n          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          FUN_00032b30(uVar7,param_1);\n        }\n        else {\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }" if (parenthesized_expression "(((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0))" ( (binary_expression "((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)" (parenthesized_expression "((*(byte *)(param_2 + 0x24) & 0x20) == 0)" ( (binary_expression "(*(byte *)(param_2 + 0x24) & 0x20) == 0" (parenthesized_expression "(*(byte *)(param_2 + 0x24) & 0x20)" ( (binary_expression "*(byte *)(param_2 + 0x24) & 0x20" (pointer_expression "*(byte *)(param_2 + 0x24)" * (cast_expression "(byte *)(param_2 + 0x24)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x24)" ( (binary_expression "param_2 + 0x24" identifier + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)" ( (binary_expression "(*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0" (parenthesized_expression "(*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8)" ( (binary_expression "*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8" (pointer_expression "*(byte *)(*(int *)(param_2 + 0x10) + 0x29)" * (cast_expression "(byte *)(*(int *)(param_2 + 0x10) + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x10) + 0x29)" ( (binary_expression "*(int *)(param_2 + 0x10) + 0x29" (pointer_expression "*(int *)(param_2 + 0x10)" * (cast_expression "(int *)(param_2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          FUN_00032b30(uVar7,param_1);\n        }" { (expression_statement "uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);" (assignment_expression "uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5)" identifier = (call_expression "dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5)" identifier (argument_list "(0,"%F%P: attempted static link of dynamic object `%s\'\n",5)" ( number_literal , (string_literal ""%F%P: attempted static link of dynamic object `%s\'\n"" " string_content escape_sequence escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00032b30(uVar7,param_1);" (call_expression "FUN_00032b30(uVar7,param_1)" identifier (argument_list "(uVar7,param_1)" ( identifier , identifier ))) ;) }) (else_clause "else {\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }" else (compound_statement "{\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }" { (if_statement "if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;" if (parenthesized_expression "((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))" ( (binary_expression "(((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0)))" (parenthesized_expression "(((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0))" ( (binary_expression "((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)" (parenthesized_expression "((*(byte *)(param_2 + 0x24) & 4) == 0)" ( (binary_expression "(*(byte *)(param_2 + 0x24) & 4) == 0" (parenthesized_expression "(*(byte *)(param_2 + 0x24) & 4)" ( (binary_expression "*(byte *)(param_2 + 0x24) & 4" (pointer_expression "*(byte *)(param_2 + 0x24)" * (cast_expression "(byte *)(param_2 + 0x24)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x24)" ( (binary_expression "param_2 + 0x24" identifier + number_literal) )))) & number_literal) )) == number_literal) )) || (parenthesized_expression "(iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)" ( (comma_expression "iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0" (assignment_expression "iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c)" identifier = (call_expression "bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c)" identifier (argument_list "(iVar5,DAT_00084bf4,DAT_00084c7c)" ( identifier , identifier , identifier )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "(((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0)))" ( (parenthesized_expression "((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))" ( (binary_expression "(*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0)" (parenthesized_expression "(*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4))" ( (binary_expression "*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)" (binary_expression "*(int *)(*(int *)(iVar5 + 4) + 4) == 4" (pointer_expression "*(int *)(*(int *)(iVar5 + 4) + 4)" * (cast_expression "(int *)(*(int *)(iVar5 + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 4) + 4)" ( (binary_expression "*(int *)(iVar5 + 4) + 4" (pointer_expression "*(int *)(iVar5 + 4)" * (cast_expression "(int *)(iVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) )))) + number_literal) )))) == number_literal) && (parenthesized_expression "(*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)" ( (binary_expression "*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4" (pointer_expression "*(int *)(*(int *)(DAT_00084bf4 + 4) + 4)" * (cast_expression "(int *)(*(int *)(DAT_00084bf4 + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_00084bf4 + 4) + 4)" ( (binary_expression "*(int *)(DAT_00084bf4 + 4) + 4" (pointer_expression "*(int *)(DAT_00084bf4 + 4)" * (cast_expression "(int *)(DAT_00084bf4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00084bf4 + 4)" ( (binary_expression "DAT_00084bf4 + 4" identifier + number_literal) )))) + number_literal) )))) == number_literal) ))) )) && (parenthesized_expression "(iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0)" ( (comma_expression "iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0" (assignment_expression "iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2)" identifier = (call_expression "bfd_check_format(*(undefined4 *)(param_2 + 0x10),2)" identifier (argument_list "(*(undefined4 *)(param_2 + 0x10),2)" ( (pointer_expression "*(undefined4 *)(param_2 + 0x10)" * (cast_expression "(undefined4 *)(param_2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) , number_literal )))) , (binary_expression "iVar5 != 0" identifier != number_literal)) ))) )) ))) )) (goto_statement "goto LAB_000331ca;" goto statement_identifier ;)) (if_statement "if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }" if (parenthesized_expression "(DAT_00084c74 != 0)" ( (binary_expression "DAT_00084c74 != 0" identifier != number_literal) )) (compound_statement "{\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }" { (expression_statement "uVar7 = *(undefined4 *)(param_2 + 0xc);" (assignment_expression "uVar7 = *(undefined4 *)(param_2 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 0xc)" * (cast_expression "(undefined4 *)(param_2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);" (assignment_expression "uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5)" identifier = (call_expression "dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5)" identifier (argument_list "(0,"%P: skipping incompatible %s when searching for %s\n",5)" ( number_literal , (string_literal ""%P: skipping incompatible %s when searching for %s\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00032b30(uVar10,param_1,uVar7);" (call_expression "FUN_00032b30(uVar10,param_1,uVar7)" identifier (argument_list "(uVar10,param_1,uVar7)" ( identifier , identifier , identifier ))) ;) })) }))) (expression_statement "bfd_close(*(undefined4 *)(param_2 + 0x10));" (call_expression "bfd_close(*(undefined4 *)(param_2 + 0x10))" identifier (argument_list "(*(undefined4 *)(param_2 + 0x10))" ( (pointer_expression "*(undefined4 *)(param_2 + 0x10)" * (cast_expression "(undefined4 *)(param_2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(param_2 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(param_2 + 0x10) = 0" (pointer_expression "*(undefined4 *)(param_2 + 0x10)" * (cast_expression "(undefined4 *)(param_2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)) &&\n         ((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)))) {\n        FUN_00032eb0();\n        DAT_0008491c = 1;\n        DAT_00084b48 = 0;\n        FUN_0001b0a0();\n        iVar5 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }\n        } while (iVar5 != 0);\n        FUN_0001b0d0();\n        DAT_0008491c = 0;\n        fclose(DAT_000845ac);\n        DAT_000845ac = (FILE *)0x0;\n        if (bVar2) {\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n          bfd_close(*(undefined4 *)(param_2 + 0x10));\n          *(undefined4 *)(param_2 + 0x10) = 0;\n          return 0;\n        }\n      }" if (parenthesized_expression "(((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)) &&\n         ((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0))))" ( (binary_expression "((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)) &&\n         ((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)))" (parenthesized_expression "((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0))" ( (binary_expression "(*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)" (parenthesized_expression "(*(int *)(param_2 + 0x10) == iVar5)" ( (binary_expression "*(int *)(param_2 + 0x10) == iVar5" (pointer_expression "*(int *)(param_2 + 0x10)" * (cast_expression "(int *)(param_2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) == identifier) )) && (parenthesized_expression "((*(byte *)(param_2 + 0x24) & 4) != 0)" ( (binary_expression "(*(byte *)(param_2 + 0x24) & 4) != 0" (parenthesized_expression "(*(byte *)(param_2 + 0x24) & 4)" ( (binary_expression "*(byte *)(param_2 + 0x24) & 4" (pointer_expression "*(byte *)(param_2 + 0x24)" * (cast_expression "(byte *)(param_2 + 0x24)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x24)" ( (binary_expression "param_2 + 0x24" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)))" ( (parenthesized_expression "(iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0))" ( (comma_expression "iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)" (assignment_expression "iVar5 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) , (binary_expression "iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)" (binary_expression "iVar5 == 0xc" identifier == number_literal) && (parenthesized_expression "(iVar5 = FUN_000315b0(param_2), iVar5 == 0)" ( (comma_expression "iVar5 = FUN_000315b0(param_2), iVar5 == 0" (assignment_expression "iVar5 = FUN_000315b0(param_2)" identifier = (call_expression "FUN_000315b0(param_2)" identifier (argument_list "(param_2)" ( identifier )))) , (binary_expression "iVar5 == 0" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n        FUN_00032eb0();\n        DAT_0008491c = 1;\n        DAT_00084b48 = 0;\n        FUN_0001b0a0();\n        iVar5 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }\n        } while (iVar5 != 0);\n        FUN_0001b0d0();\n        DAT_0008491c = 0;\n        fclose(DAT_000845ac);\n        DAT_000845ac = (FILE *)0x0;\n        if (bVar2) {\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n          bfd_close(*(undefined4 *)(param_2 + 0x10));\n          *(undefined4 *)(param_2 + 0x10) = 0;\n          return 0;\n        }\n      }" { (expression_statement "FUN_00032eb0();" (call_expression "FUN_00032eb0()" identifier (argument_list "()" ( ))) ;) (expression_statement "DAT_0008491c = 1;" (assignment_expression "DAT_0008491c = 1" identifier = number_literal) ;) (expression_statement "DAT_00084b48 = 0;" (assignment_expression "DAT_00084b48 = 0" identifier = number_literal) ;) (expression_statement "FUN_0001b0a0();" (call_expression "FUN_0001b0a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar5 = 0x16f;" (assignment_expression "iVar5 = 0x16f" identifier = number_literal) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (do_statement "do {\n          if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }\n        } while (iVar5 != 0);" do (compound_statement "{\n          if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }\n        }" { (if_statement "if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }" if (parenthesized_expression "(iVar5 < 0x105)" ( (binary_expression "iVar5 < 0x105" identifier < number_literal) )) (compound_statement "{\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }" { (if_statement "if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }" if (parenthesized_expression "(iVar5 < 0x103)" ( (binary_expression "iVar5 < 0x103" identifier < number_literal) )) (compound_statement "{\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }" { (if_statement "if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;" if (parenthesized_expression "((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))" ( (binary_expression "(iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0)" (parenthesized_expression "(iVar5 != 0x102)" ( (binary_expression "iVar5 != 0x102" identifier != number_literal) )) || (parenthesized_expression "(local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0)" ( (comma_expression "local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0" (assignment_expression "local_24 = DAT_00084b3c" identifier = identifier) , (binary_expression "DAT_00084b3c == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_000332b8;" goto statement_identifier ;)) (labeled_statement "LAB_000332a7:\n              free(local_24);" statement_identifier : (expression_statement "free(local_24);" (call_expression "free(local_24)" identifier (argument_list "(local_24)" ( identifier ))) ;)) }) (else_clause "else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }" else (compound_statement "{\nLAB_0003351c:\n              free(DAT_00084b34);\n            }" { (labeled_statement "LAB_0003351c:\n              free(DAT_00084b34);" statement_identifier : (expression_statement "free(DAT_00084b34);" (call_expression "free(DAT_00084b34)" identifier (argument_list "(DAT_00084b34)" ( identifier ))) ;)) }))) (labeled_statement "LAB_000332b8:\n            iVar5 = FUN_00018f90();" statement_identifier : (expression_statement "iVar5 = FUN_00018f90();" (assignment_expression "iVar5 = FUN_00018f90()" identifier = (call_expression "FUN_00018f90()" identifier (argument_list "()" ( )))) ;)) }) (else_clause "else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }" else (compound_statement "{\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }" { (if_statement "if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }" if (parenthesized_expression "(iVar5 != 300)" ( (binary_expression "iVar5 != 300" identifier != number_literal) )) (compound_statement "{\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }" { (if_statement "if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;" if (parenthesized_expression "((299 < iVar5) && (iVar5 - 0x175U < 2))" ( (binary_expression "(299 < iVar5) && (iVar5 - 0x175U < 2)" (parenthesized_expression "(299 < iVar5)" ( (binary_expression "299 < iVar5" number_literal < identifier) )) && (parenthesized_expression "(iVar5 - 0x175U < 2)" ( (binary_expression "iVar5 - 0x175U < 2" (binary_expression "iVar5 - 0x175U" identifier - number_literal) < number_literal) ))) )) (goto_statement "goto LAB_0003351c;" goto statement_identifier ;)) (goto_statement "goto LAB_000332b8;" goto statement_identifier ;) })) (expression_statement "iVar5 = FUN_00018f90();" (assignment_expression "iVar5 = FUN_00018f90()" identifier = (call_expression "FUN_00018f90()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }" if (parenthesized_expression "((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))" ( (binary_expression "(iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103)" (parenthesized_expression "(iVar5 == 0x28)" ( (binary_expression "iVar5 == 0x28" identifier == number_literal) )) && (parenthesized_expression "(iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103)" ( (comma_expression "iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103" (assignment_expression "iVar5 = FUN_00018f90()" identifier = (call_expression "FUN_00018f90()" identifier (argument_list "()" ( )))) , (comma_expression "pcVar6 = DAT_00084b34, iVar5 == 0x103" (assignment_expression "pcVar6 = DAT_00084b34" identifier = identifier) , (binary_expression "iVar5 == 0x103" identifier == number_literal))) ))) )) (compound_statement "{\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }" { (expression_statement "iVar5 = FUN_00018f90();" (assignment_expression "iVar5 = FUN_00018f90()" identifier = (call_expression "FUN_00018f90()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar11 = pcVar6;" (assignment_expression "pcVar11 = pcVar6" identifier = identifier) ;) (if_statement "if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }" if (parenthesized_expression "(iVar5 != 0x2c)" ( (binary_expression "iVar5 != 0x2c" identifier != number_literal) )) (compound_statement "{\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }" { (if_statement "if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }" if (parenthesized_expression "(iVar5 != 0x29)" ( (binary_expression "iVar5 != 0x29" identifier != number_literal) )) (compound_statement "{\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }" { (expression_statement "free(pcVar6);" (call_expression "free(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier ))) ;) (goto_statement "goto LAB_000332b8;" goto statement_identifier ;) })) (if_statement "if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }" if (parenthesized_expression "(DAT_00084c90 == 1)" ( (binary_expression "DAT_00084c90 == 1" identifier == number_literal) )) (compound_statement "{\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }" { (expression_statement "local_24 = (char *)0x0;" (assignment_expression "local_24 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();" statement_identifier : (expression_statement "pcVar11 = (char *)FUN_00024a30();" (assignment_expression "pcVar11 = (char *)FUN_00024a30()" identifier = (cast_expression "(char *)FUN_00024a30()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024a30()" identifier (argument_list "()" ( ))))) ;)) (expression_statement "iVar5 = strcmp(pcVar6,pcVar11);" (assignment_expression "iVar5 = strcmp(pcVar6,pcVar11)" identifier = (call_expression "strcmp(pcVar6,pcVar11)" identifier (argument_list "(pcVar6,pcVar11)" ( identifier , identifier )))) ;) (if_statement "if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n                    free(pcVar6);\n                  }" { (expression_statement "free(pcVar6);" (call_expression "free(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier ))) ;) }) (else_clause "else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }" else (compound_statement "{\n                    free(pcVar6);\n                    bVar2 = true;\n                  }" { (expression_statement "free(pcVar6);" (call_expression "free(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier ))) ;) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) }))) }) (else_clause "else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }" else (compound_statement "{\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }" { (if_statement "if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }" if (parenthesized_expression "(DAT_00084c90 == 2)" ( (binary_expression "DAT_00084c90 == 2" identifier == number_literal) )) (compound_statement "{\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }" { (expression_statement "local_2c = (char *)0x0;" (assignment_expression "local_2c = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00033646:\n                    local_24 = (char *)0x0;" statement_identifier : (expression_statement "local_24 = (char *)0x0;" (assignment_expression "local_24 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "pcVar11 = pcVar6;" (assignment_expression "pcVar11 = pcVar6" identifier = identifier) ;) }) (else_clause "else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }" else (compound_statement "{\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }" { (expression_statement "local_24 = (char *)0x0;" (assignment_expression "local_24 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_2c = (char *)0x0;" (assignment_expression "local_2c = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (labeled_statement "LAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();" statement_identifier : (expression_statement "pcVar9 = (char *)FUN_00024a30();" (assignment_expression "pcVar9 = (char *)FUN_00024a30()" identifier = (cast_expression "(char *)FUN_00024a30()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024a30()" identifier (argument_list "()" ( ))))) ;)) (expression_statement "iVar5 = strcmp(pcVar11,pcVar9);" (assignment_expression "iVar5 = strcmp(pcVar11,pcVar9)" identifier = (call_expression "strcmp(pcVar11,pcVar9)" identifier (argument_list "(pcVar11,pcVar9)" ( identifier , identifier )))) ;) (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) (if_statement "if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n                    bVar4 = bVar2;\n                  }" { (expression_statement "bVar4 = bVar2;" (assignment_expression "bVar4 = bVar2" identifier = identifier) ;) })) (labeled_statement "LAB_00033360:\n                  bVar2 = bVar4;" statement_identifier : (expression_statement "bVar2 = bVar4;" (assignment_expression "bVar2 = bVar4" identifier = identifier) ;)) (expression_statement "free(pcVar6);" (call_expression "free(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier ))) ;) (if_statement "if (local_2c != (char *)0x0) goto LAB_00033373;" if (parenthesized_expression "(local_2c != (char *)0x0)" ( (binary_expression "local_2c != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00033373;" goto statement_identifier ;)) }))) (labeled_statement "LAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;" statement_identifier : (if_statement "if (local_24 != (char *)0x0) goto LAB_000332a7;" if (parenthesized_expression "(local_24 != (char *)0x0)" ( (binary_expression "local_24 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000332a7;" goto statement_identifier ;))) (goto_statement "goto LAB_000332b8;" goto statement_identifier ;) })) (expression_statement "iVar5 = FUN_00018f90();" (assignment_expression "iVar5 = FUN_00018f90()" identifier = (call_expression "FUN_00018f90()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar9 = DAT_00084b34;" (assignment_expression "pcVar9 = DAT_00084b34" identifier = identifier) ;) (if_statement "if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }" if (parenthesized_expression "(iVar5 == 0x103)" ( (binary_expression "iVar5 == 0x103" identifier == number_literal) )) (compound_statement "{\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }" { (expression_statement "local_2c = DAT_00084b34;" (assignment_expression "local_2c = DAT_00084b34" identifier = identifier) ;) (expression_statement "iVar5 = FUN_00018f90();" (assignment_expression "iVar5 = FUN_00018f90()" identifier = (call_expression "FUN_00018f90()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }" if (parenthesized_expression "((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103))" ( (binary_expression "(iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)" (parenthesized_expression "(iVar5 == 0x2c)" ( (binary_expression "iVar5 == 0x2c" identifier == number_literal) )) && (parenthesized_expression "(iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)" ( (comma_expression "iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103" (assignment_expression "iVar5 = FUN_00018f90()" identifier = (call_expression "FUN_00018f90()" identifier (argument_list "()" ( )))) , (comma_expression "pcVar3 = DAT_00084b34, iVar5 == 0x103" (assignment_expression "pcVar3 = DAT_00084b34" identifier = identifier) , (binary_expression "iVar5 == 0x103" identifier == number_literal))) ))) )) (compound_statement "{\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }" { (expression_statement "local_24 = DAT_00084b34;" (assignment_expression "local_24 = DAT_00084b34" identifier = identifier) ;) (expression_statement "iVar5 = FUN_00018f90();" (assignment_expression "iVar5 = FUN_00018f90()" identifier = (call_expression "FUN_00018f90()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar4 = bVar2;" (assignment_expression "bVar4 = bVar2" identifier = identifier) ;) (if_statement "if (iVar5 != 0x29) goto LAB_00033360;" if (parenthesized_expression "(iVar5 != 0x29)" ( (binary_expression "iVar5 != 0x29" identifier != number_literal) )) (goto_statement "goto LAB_00033360;" goto statement_identifier ;)) (if_statement "if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }" if (parenthesized_expression "(DAT_00084c90 != 1)" ( (binary_expression "DAT_00084c90 != 1" identifier != number_literal) )) (compound_statement "{\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }" { (if_statement "if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;" if (parenthesized_expression "((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))" ( (binary_expression "(DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0)" (parenthesized_expression "(DAT_00084c90 == 2)" ( (binary_expression "DAT_00084c90 == 2" identifier == number_literal) )) && (parenthesized_expression "(pcVar11 = pcVar3, pcVar3 == (char *)0x0)" ( (comma_expression "pcVar11 = pcVar3, pcVar3 == (char *)0x0" (assignment_expression "pcVar11 = pcVar3" identifier = identifier) , (binary_expression "pcVar3 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_00033646;" goto statement_identifier ;)) (goto_statement "goto LAB_00033337;" goto statement_identifier ;) })) (if_statement "if (pcVar9 == (char *)0x0) goto LAB_000336a0;" if (parenthesized_expression "(pcVar9 == (char *)0x0)" ( (binary_expression "pcVar9 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000336a0;" goto statement_identifier ;)) (expression_statement "pcVar11 = (char *)FUN_00024a30();" (assignment_expression "pcVar11 = (char *)FUN_00024a30()" identifier = (cast_expression "(char *)FUN_00024a30()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024a30()" identifier (argument_list "()" ( ))))) ;) (expression_statement "iVar5 = strcmp(pcVar9,pcVar11);" (assignment_expression "iVar5 = strcmp(pcVar9,pcVar11)" identifier = (call_expression "strcmp(pcVar9,pcVar11)" identifier (argument_list "(pcVar9,pcVar11)" ( identifier , identifier )))) ;) (if_statement "if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n                    free(pcVar6);\n                  }" { (expression_statement "free(pcVar6);" (call_expression "free(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier ))) ;) }) (else_clause "else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }" else (compound_statement "{\n                    free(pcVar6);\n                    bVar2 = true;\n                  }" { (expression_statement "free(pcVar6);" (call_expression "free(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier ))) ;) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) }))) (labeled_statement "LAB_00033373:\n                  free(local_2c);" statement_identifier : (expression_statement "free(local_2c);" (call_expression "free(local_2c)" identifier (argument_list "(local_2c)" ( identifier ))) ;)) (goto_statement "goto LAB_00033382;" goto statement_identifier ;) })) (expression_statement "free(pcVar6);" (call_expression "free(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier ))) ;) (expression_statement "free(pcVar9);" (call_expression "free(pcVar9)" identifier (argument_list "(pcVar9)" ( identifier ))) ;) }) (else_clause "else {\n                free(pcVar6);\n              }" else (compound_statement "{\n                free(pcVar6);\n              }" { (expression_statement "free(pcVar6);" (call_expression "free(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier ))) ;) }))) })) }))) }) while (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) ;) (expression_statement "FUN_0001b0d0();" (call_expression "FUN_0001b0d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "DAT_0008491c = 0;" (assignment_expression "DAT_0008491c = 0" identifier = number_literal) ;) (expression_statement "fclose(DAT_000845ac);" (call_expression "fclose(DAT_000845ac)" identifier (argument_list "(DAT_000845ac)" ( identifier ))) ;) (expression_statement "DAT_000845ac = (FILE *)0x0;" (assignment_expression "DAT_000845ac = (FILE *)0x0" identifier = (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (bVar2) {\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n          bfd_close(*(undefined4 *)(param_2 + 0x10));\n          *(undefined4 *)(param_2 + 0x10) = 0;\n          return 0;\n        }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n          bfd_close(*(undefined4 *)(param_2 + 0x10));\n          *(undefined4 *)(param_2 + 0x10) = 0;\n          return 0;\n        }" { (if_statement "if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }" if (parenthesized_expression "(DAT_00084c74 != 0)" ( (binary_expression "DAT_00084c74 != 0" identifier != number_literal) )) (compound_statement "{\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }" { (expression_statement "uVar7 = *(undefined4 *)(param_2 + 0xc);" (assignment_expression "uVar7 = *(undefined4 *)(param_2 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 0xc)" * (cast_expression "(undefined4 *)(param_2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);" (assignment_expression "uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74)" identifier = (call_expression "dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74)" identifier (argument_list "(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74)" ( number_literal , (string_literal ""%P: skipping incompatible %s when searching for %s\n"" " string_content escape_sequence ") , number_literal , identifier )))) ;) (expression_statement "FUN_00032b30(uVar10,param_1,uVar7);" (call_expression "FUN_00032b30(uVar10,param_1,uVar7)" identifier (argument_list "(uVar10,param_1,uVar7)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "bfd_close(*(undefined4 *)(param_2 + 0x10));" (call_expression "bfd_close(*(undefined4 *)(param_2 + 0x10))" identifier (argument_list "(*(undefined4 *)(param_2 + 0x10))" ( (pointer_expression "*(undefined4 *)(param_2 + 0x10)" * (cast_expression "(undefined4 *)(param_2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(param_2 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(param_2 + 0x10) = 0" (pointer_expression "*(undefined4 *)(param_2 + 0x10)" * (cast_expression "(undefined4 *)(param_2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) })) })) })) (labeled_statement "LAB_000331ca:\n  if ((((DAT_00084bc1 & 2) != 0) && (DAT_00084980 == 0)) &&\n     (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),1), iVar5 != 0)) {\n    FUN_00036590(param_2);\n  }" statement_identifier : (if_statement "if ((((DAT_00084bc1 & 2) != 0) && (DAT_00084980 == 0)) &&\n     (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),1), iVar5 != 0)) {\n    FUN_00036590(param_2);\n  }" if (parenthesized_expression "((((DAT_00084bc1 & 2) != 0) && (DAT_00084980 == 0)) &&\n     (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),1), iVar5 != 0))" ( (binary_expression "(((DAT_00084bc1 & 2) != 0) && (DAT_00084980 == 0)) &&\n     (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),1), iVar5 != 0)" (parenthesized_expression "(((DAT_00084bc1 & 2) != 0) && (DAT_00084980 == 0))" ( (binary_expression "((DAT_00084bc1 & 2) != 0) && (DAT_00084980 == 0)" (parenthesized_expression "((DAT_00084bc1 & 2) != 0)" ( (binary_expression "(DAT_00084bc1 & 2) != 0" (parenthesized_expression "(DAT_00084bc1 & 2)" ( (binary_expression "DAT_00084bc1 & 2" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(DAT_00084980 == 0)" ( (binary_expression "DAT_00084980 == 0" identifier == number_literal) ))) )) && (parenthesized_expression "(iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),1), iVar5 != 0)" ( (comma_expression "iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),1), iVar5 != 0" (assignment_expression "iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),1)" identifier = (call_expression "bfd_check_format(*(undefined4 *)(param_2 + 0x10),1)" identifier (argument_list "(*(undefined4 *)(param_2 + 0x10),1)" ( (pointer_expression "*(undefined4 *)(param_2 + 0x10)" * (cast_expression "(undefined4 *)(param_2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) , number_literal )))) , (binary_expression "iVar5 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    FUN_00036590(param_2);\n  }" { (expression_statement "FUN_00036590(param_2);" (call_expression "FUN_00036590(param_2)" identifier (argument_list "(param_2)" ( identifier ))) ;) }))) (return_statement "return 1;" return number_literal ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nbfd_boolean ldfile_try_open_bfd(char *attempt,lang_input_statement_type *entry)\n\n{\n  byte bVar1;\n  bool bVar2;\n  undefined4 __s1;\n  undefined4 __s1_00;\n  undefined4 uVar3;\n  bool bVar4;\n  bfd *pbVar5;\n  char *pcVar6;\n  bfd_boolean bVar7;\n  int iVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  fill_type *local_2c;\n  fill_type *local_24;\n  \n  pbVar5 = (bfd *)bfd_openr(attempt,entry->target);\n  entry->the_bfd = pbVar5;\n  if (verbose != 0) {\n    if (pbVar5 == (bfd *)0x0) {\n      pcVar6 = "attempt to open %s failed\n";\n    }\n    else {\n      pcVar6 = "attempt to open %s succeeded\n";\n    }\n    pcVar6 = (char *)dcgettext(0,pcVar6,5);\n    info_msg(pcVar6,attempt);\n    pbVar5 = entry->the_bfd;\n  }\n  if (pbVar5 == (bfd *)0x0) {\n    iVar8 = bfd_get_error();\n    if (iVar8 != 2) {\n      return 0;\n    }\n    pcVar6 = entry->target;\n    pcVar9 = (char *)dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5);\n    einfo(pcVar9,pcVar6);\n    return 0;\n  }\n  bVar1 = pbVar5->field_0x2c;\n  *(uint *)&pbVar5->field_0x28 = *(uint *)&pbVar5->field_0x28 | 0x100000;\n  pbVar5->field_0x2c = bVar1 | 8;\n  if ((char)(entry->flags).field_0x1 < '\0') {\n    pbVar5->field_0x2c = bVar1 | 0x48;\n  }\n  if (((ulonglong)entry->flags & 0x24) != 0x20) {\n    iVar8 = bfd_check_format(pbVar5,2);\n    if (iVar8 == 0) {\n      pbVar5 = entry->the_bfd;\n    }\n    else {\n      pbVar5 = (bfd *)bfd_openr_next_archived_file(entry->the_bfd,0);\n    }\n    if (pbVar5 != (bfd *)0x0) {\n      iVar8 = bfd_check_format(pbVar5,1);\n      if (iVar8 != 0) {\n        if ((((ulonglong)entry->flags & 0x20) == 0) && ((entry->the_bfd->field_0x29 & 8) != 0)) {\n          pcVar6 = (char *)dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          einfo(pcVar6,attempt);\n        }\n        else {\n          if (((((ulonglong)entry->flags & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible\n                                 (pbVar5,link_info.output_bfd,command_line.accept_unknown_input_arch\n                                 ), iVar8 != 0)) ||\n             (((pbVar5->xvec->flavour == bfd_target_xcoff_flavour &&\n               ((link_info.output_bfd)->xvec->flavour == bfd_target_xcoff_flavour)) &&\n              (iVar8 = bfd_check_format(entry->the_bfd,2), iVar8 != 0)))) goto LAB_000331ca;\n          if (command_line.warn_search_mismatch != 0) {\n            pcVar6 = entry->local_sym_name;\n            pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            einfo(pcVar9,attempt,pcVar6);\n          }\n        }\n        bfd_close(entry->the_bfd);\n        entry->the_bfd = (bfd *)0x0;\n        return 0;\n      }\n      if (((entry->the_bfd == pbVar5) && (((ulonglong)entry->flags & 4) != 0)) &&\n         ((iVar8 = bfd_get_error(), iVar8 == 0xc &&\n          (bVar7 = ldemul_unrecognized_file(entry), bVar7 == 0)))) {\n        ldfile_open_command_file_1(attempt,0);\n        ldfile_assumed_script = 1;\n        parser_input = input_selected;\n        ldlex_both();\n        iVar8 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar8 < 0x105) {\n            if (iVar8 < 0x103) {\n              if ((iVar8 != 0x102) || (local_24 = yylval._8_4_, yylval.bigint.str == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(yylval.fill);\n            }\nLAB_000332b8:\n            iVar8 = yylex();\n          }\n          else {\n            if (iVar8 != 300) {\n              if ((299 < iVar8) && (iVar8 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar8 = yylex();\n            if ((iVar8 == 0x28) && (iVar8 = yylex(), __s1 = yylval.fill, iVar8 == 0x103)) {\n              iVar8 = yylex();\n              uVar10 = __s1;\n              if (iVar8 != 0x2c) {\n                if (iVar8 != 0x29) {\n                  free(__s1);\n                  goto LAB_000332b8;\n                }\n                if (command_line.endian == ENDIAN_BIG) {\n                  local_24 = (fill_type *)0x0;\nLAB_000336a0:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (command_line.endian == ENDIAN_LITTLE) {\n                    local_2c = (fill_type *)0x0;\nLAB_00033646:\n                    local_24 = (fill_type *)0x0;\n                    uVar10 = __s1;\n                  }\n                  else {\n                    local_24 = (fill_type *)0x0;\n                    local_2c = (fill_type *)0x0;\n                  }\nLAB_00033337:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(uVar10,pcVar6);\n                  bVar4 = true;\n                  if (iVar8 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(__s1);\n                  if (local_2c != (fill_type *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (fill_type *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar8 = yylex();\n              __s1_00 = yylval.fill;\n              if (iVar8 == 0x103) {\n                local_2c = yylval.fill;\n                iVar8 = yylex();\n                if ((iVar8 == 0x2c) && (iVar8 = yylex(), uVar3 = yylval.fill, iVar8 == 0x103)) {\n                  local_24 = yylval.fill;\n                  iVar8 = yylex();\n                  bVar4 = bVar2;\n                  if (iVar8 != 0x29) goto LAB_00033360;\n                  if (command_line.endian != ENDIAN_BIG) {\n                    if ((command_line.endian == ENDIAN_LITTLE) &&\n                       (uVar10 = uVar3, uVar3 == (fill_type *)0x0)) goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (__s1_00 == (fill_type *)0x0) goto LAB_000336a0;\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1_00,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(__s1);\n                free(__s1_00);\n              }\n              else {\n                free(__s1);\n              }\n            }\n          }\n        } while (iVar8 != 0);\n        ldlex_popstate();\n        ldfile_assumed_script = 0;\n        fclose((FILE *)yyin);\n        yyin = (FILE *)0x0;\n        if (bVar2) {\n          if (command_line.warn_search_mismatch != 0) {\n            pcVar6 = entry->local_sym_name;\n            pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                                       command_line.warn_search_mismatch);\n            einfo(pcVar9,attempt,pcVar6);\n          }\n          bfd_close(entry->the_bfd);\n          entry->the_bfd = (bfd *)0x0;\n          return 0;\n        }\n      }\n    }\n  }\nLAB_000331ca:\n  if ((((link_info._1_1_ & 2) != 0) && (no_more_claiming == 0)) &&\n     (iVar8 = bfd_check_format(entry->the_bfd,1), iVar8 != 0)) {\n    plugin_maybe_claim(entry);\n  }\n  return 1;\n}\n\n" comment (function_definition "bfd_boolean ldfile_try_open_bfd(char *attempt,lang_input_statement_type *entry)\n\n{\n  byte bVar1;\n  bool bVar2;\n  undefined4 __s1;\n  undefined4 __s1_00;\n  undefined4 uVar3;\n  bool bVar4;\n  bfd *pbVar5;\n  char *pcVar6;\n  bfd_boolean bVar7;\n  int iVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  fill_type *local_2c;\n  fill_type *local_24;\n  \n  pbVar5 = (bfd *)bfd_openr(attempt,entry->target);\n  entry->the_bfd = pbVar5;\n  if (verbose != 0) {\n    if (pbVar5 == (bfd *)0x0) {\n      pcVar6 = "attempt to open %s failed\n";\n    }\n    else {\n      pcVar6 = "attempt to open %s succeeded\n";\n    }\n    pcVar6 = (char *)dcgettext(0,pcVar6,5);\n    info_msg(pcVar6,attempt);\n    pbVar5 = entry->the_bfd;\n  }\n  if (pbVar5 == (bfd *)0x0) {\n    iVar8 = bfd_get_error();\n    if (iVar8 != 2) {\n      return 0;\n    }\n    pcVar6 = entry->target;\n    pcVar9 = (char *)dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5);\n    einfo(pcVar9,pcVar6);\n    return 0;\n  }\n  bVar1 = pbVar5->field_0x2c;\n  *(uint *)&pbVar5->field_0x28 = *(uint *)&pbVar5->field_0x28 | 0x100000;\n  pbVar5->field_0x2c = bVar1 | 8;\n  if ((char)(entry->flags).field_0x1 < '\0') {\n    pbVar5->field_0x2c = bVar1 | 0x48;\n  }\n  if (((ulonglong)entry->flags & 0x24) != 0x20) {\n    iVar8 = bfd_check_format(pbVar5,2);\n    if (iVar8 == 0) {\n      pbVar5 = entry->the_bfd;\n    }\n    else {\n      pbVar5 = (bfd *)bfd_openr_next_archived_file(entry->the_bfd,0);\n    }\n    if (pbVar5 != (bfd *)0x0) {\n      iVar8 = bfd_check_format(pbVar5,1);\n      if (iVar8 != 0) {\n        if ((((ulonglong)entry->flags & 0x20) == 0) && ((entry->the_bfd->field_0x29 & 8) != 0)) {\n          pcVar6 = (char *)dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          einfo(pcVar6,attempt);\n        }\n        else {\n          if (((((ulonglong)entry->flags & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible\n                                 (pbVar5,link_info.output_bfd,command_line.accept_unknown_input_arch\n                                 ), iVar8 != 0)) ||\n             (((pbVar5->xvec->flavour == bfd_target_xcoff_flavour &&\n               ((link_info.output_bfd)->xvec->flavour == bfd_target_xcoff_flavour)) &&\n              (iVar8 = bfd_check_format(entry->the_bfd,2), iVar8 != 0)))) goto LAB_000331ca;\n          if (command_line.warn_search_mismatch != 0) {\n            pcVar6 = entry->local_sym_name;\n            pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            einfo(pcVar9,attempt,pcVar6);\n          }\n        }\n        bfd_close(entry->the_bfd);\n        entry->the_bfd = (bfd *)0x0;\n        return 0;\n      }\n      if (((entry->the_bfd == pbVar5) && (((ulonglong)entry->flags & 4) != 0)) &&\n         ((iVar8 = bfd_get_error(), iVar8 == 0xc &&\n          (bVar7 = ldemul_unrecognized_file(entry), bVar7 == 0)))) {\n        ldfile_open_command_file_1(attempt,0);\n        ldfile_assumed_script = 1;\n        parser_input = input_selected;\n        ldlex_both();\n        iVar8 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar8 < 0x105) {\n            if (iVar8 < 0x103) {\n              if ((iVar8 != 0x102) || (local_24 = yylval._8_4_, yylval.bigint.str == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(yylval.fill);\n            }\nLAB_000332b8:\n            iVar8 = yylex();\n          }\n          else {\n            if (iVar8 != 300) {\n              if ((299 < iVar8) && (iVar8 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar8 = yylex();\n            if ((iVar8 == 0x28) && (iVar8 = yylex(), __s1 = yylval.fill, iVar8 == 0x103)) {\n              iVar8 = yylex();\n              uVar10 = __s1;\n              if (iVar8 != 0x2c) {\n                if (iVar8 != 0x29) {\n                  free(__s1);\n                  goto LAB_000332b8;\n                }\n                if (command_line.endian == ENDIAN_BIG) {\n                  local_24 = (fill_type *)0x0;\nLAB_000336a0:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (command_line.endian == ENDIAN_LITTLE) {\n                    local_2c = (fill_type *)0x0;\nLAB_00033646:\n                    local_24 = (fill_type *)0x0;\n                    uVar10 = __s1;\n                  }\n                  else {\n                    local_24 = (fill_type *)0x0;\n                    local_2c = (fill_type *)0x0;\n                  }\nLAB_00033337:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(uVar10,pcVar6);\n                  bVar4 = true;\n                  if (iVar8 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(__s1);\n                  if (local_2c != (fill_type *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (fill_type *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar8 = yylex();\n              __s1_00 = yylval.fill;\n              if (iVar8 == 0x103) {\n                local_2c = yylval.fill;\n                iVar8 = yylex();\n                if ((iVar8 == 0x2c) && (iVar8 = yylex(), uVar3 = yylval.fill, iVar8 == 0x103)) {\n                  local_24 = yylval.fill;\n                  iVar8 = yylex();\n                  bVar4 = bVar2;\n                  if (iVar8 != 0x29) goto LAB_00033360;\n                  if (command_line.endian != ENDIAN_BIG) {\n                    if ((command_line.endian == ENDIAN_LITTLE) &&\n                       (uVar10 = uVar3, uVar3 == (fill_type *)0x0)) goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (__s1_00 == (fill_type *)0x0) goto LAB_000336a0;\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1_00,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(__s1);\n                free(__s1_00);\n              }\n              else {\n                free(__s1);\n              }\n            }\n          }\n        } while (iVar8 != 0);\n        ldlex_popstate();\n        ldfile_assumed_script = 0;\n        fclose((FILE *)yyin);\n        yyin = (FILE *)0x0;\n        if (bVar2) {\n          if (command_line.warn_search_mismatch != 0) {\n            pcVar6 = entry->local_sym_name;\n            pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                                       command_line.warn_search_mismatch);\n            einfo(pcVar9,attempt,pcVar6);\n          }\n          bfd_close(entry->the_bfd);\n          entry->the_bfd = (bfd *)0x0;\n          return 0;\n        }\n      }\n    }\n  }\nLAB_000331ca:\n  if ((((link_info._1_1_ & 2) != 0) && (no_more_claiming == 0)) &&\n     (iVar8 = bfd_check_format(entry->the_bfd,1), iVar8 != 0)) {\n    plugin_maybe_claim(entry);\n  }\n  return 1;\n}" type_identifier (function_declarator "ldfile_try_open_bfd(char *attempt,lang_input_statement_type *entry)" identifier (parameter_list "(char *attempt,lang_input_statement_type *entry)" ( (parameter_declaration "char *attempt" primitive_type (pointer_declarator "*attempt" * identifier)) , (parameter_declaration "lang_input_statement_type *entry" type_identifier (pointer_declarator "*entry" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  bool bVar2;\n  undefined4 __s1;\n  undefined4 __s1_00;\n  undefined4 uVar3;\n  bool bVar4;\n  bfd *pbVar5;\n  char *pcVar6;\n  bfd_boolean bVar7;\n  int iVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  fill_type *local_2c;\n  fill_type *local_24;\n  \n  pbVar5 = (bfd *)bfd_openr(attempt,entry->target);\n  entry->the_bfd = pbVar5;\n  if (verbose != 0) {\n    if (pbVar5 == (bfd *)0x0) {\n      pcVar6 = "attempt to open %s failed\n";\n    }\n    else {\n      pcVar6 = "attempt to open %s succeeded\n";\n    }\n    pcVar6 = (char *)dcgettext(0,pcVar6,5);\n    info_msg(pcVar6,attempt);\n    pbVar5 = entry->the_bfd;\n  }\n  if (pbVar5 == (bfd *)0x0) {\n    iVar8 = bfd_get_error();\n    if (iVar8 != 2) {\n      return 0;\n    }\n    pcVar6 = entry->target;\n    pcVar9 = (char *)dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5);\n    einfo(pcVar9,pcVar6);\n    return 0;\n  }\n  bVar1 = pbVar5->field_0x2c;\n  *(uint *)&pbVar5->field_0x28 = *(uint *)&pbVar5->field_0x28 | 0x100000;\n  pbVar5->field_0x2c = bVar1 | 8;\n  if ((char)(entry->flags).field_0x1 < '\0') {\n    pbVar5->field_0x2c = bVar1 | 0x48;\n  }\n  if (((ulonglong)entry->flags & 0x24) != 0x20) {\n    iVar8 = bfd_check_format(pbVar5,2);\n    if (iVar8 == 0) {\n      pbVar5 = entry->the_bfd;\n    }\n    else {\n      pbVar5 = (bfd *)bfd_openr_next_archived_file(entry->the_bfd,0);\n    }\n    if (pbVar5 != (bfd *)0x0) {\n      iVar8 = bfd_check_format(pbVar5,1);\n      if (iVar8 != 0) {\n        if ((((ulonglong)entry->flags & 0x20) == 0) && ((entry->the_bfd->field_0x29 & 8) != 0)) {\n          pcVar6 = (char *)dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          einfo(pcVar6,attempt);\n        }\n        else {\n          if (((((ulonglong)entry->flags & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible\n                                 (pbVar5,link_info.output_bfd,command_line.accept_unknown_input_arch\n                                 ), iVar8 != 0)) ||\n             (((pbVar5->xvec->flavour == bfd_target_xcoff_flavour &&\n               ((link_info.output_bfd)->xvec->flavour == bfd_target_xcoff_flavour)) &&\n              (iVar8 = bfd_check_format(entry->the_bfd,2), iVar8 != 0)))) goto LAB_000331ca;\n          if (command_line.warn_search_mismatch != 0) {\n            pcVar6 = entry->local_sym_name;\n            pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            einfo(pcVar9,attempt,pcVar6);\n          }\n        }\n        bfd_close(entry->the_bfd);\n        entry->the_bfd = (bfd *)0x0;\n        return 0;\n      }\n      if (((entry->the_bfd == pbVar5) && (((ulonglong)entry->flags & 4) != 0)) &&\n         ((iVar8 = bfd_get_error(), iVar8 == 0xc &&\n          (bVar7 = ldemul_unrecognized_file(entry), bVar7 == 0)))) {\n        ldfile_open_command_file_1(attempt,0);\n        ldfile_assumed_script = 1;\n        parser_input = input_selected;\n        ldlex_both();\n        iVar8 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar8 < 0x105) {\n            if (iVar8 < 0x103) {\n              if ((iVar8 != 0x102) || (local_24 = yylval._8_4_, yylval.bigint.str == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(yylval.fill);\n            }\nLAB_000332b8:\n            iVar8 = yylex();\n          }\n          else {\n            if (iVar8 != 300) {\n              if ((299 < iVar8) && (iVar8 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar8 = yylex();\n            if ((iVar8 == 0x28) && (iVar8 = yylex(), __s1 = yylval.fill, iVar8 == 0x103)) {\n              iVar8 = yylex();\n              uVar10 = __s1;\n              if (iVar8 != 0x2c) {\n                if (iVar8 != 0x29) {\n                  free(__s1);\n                  goto LAB_000332b8;\n                }\n                if (command_line.endian == ENDIAN_BIG) {\n                  local_24 = (fill_type *)0x0;\nLAB_000336a0:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (command_line.endian == ENDIAN_LITTLE) {\n                    local_2c = (fill_type *)0x0;\nLAB_00033646:\n                    local_24 = (fill_type *)0x0;\n                    uVar10 = __s1;\n                  }\n                  else {\n                    local_24 = (fill_type *)0x0;\n                    local_2c = (fill_type *)0x0;\n                  }\nLAB_00033337:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(uVar10,pcVar6);\n                  bVar4 = true;\n                  if (iVar8 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(__s1);\n                  if (local_2c != (fill_type *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (fill_type *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar8 = yylex();\n              __s1_00 = yylval.fill;\n              if (iVar8 == 0x103) {\n                local_2c = yylval.fill;\n                iVar8 = yylex();\n                if ((iVar8 == 0x2c) && (iVar8 = yylex(), uVar3 = yylval.fill, iVar8 == 0x103)) {\n                  local_24 = yylval.fill;\n                  iVar8 = yylex();\n                  bVar4 = bVar2;\n                  if (iVar8 != 0x29) goto LAB_00033360;\n                  if (command_line.endian != ENDIAN_BIG) {\n                    if ((command_line.endian == ENDIAN_LITTLE) &&\n                       (uVar10 = uVar3, uVar3 == (fill_type *)0x0)) goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (__s1_00 == (fill_type *)0x0) goto LAB_000336a0;\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1_00,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(__s1);\n                free(__s1_00);\n              }\n              else {\n                free(__s1);\n              }\n            }\n          }\n        } while (iVar8 != 0);\n        ldlex_popstate();\n        ldfile_assumed_script = 0;\n        fclose((FILE *)yyin);\n        yyin = (FILE *)0x0;\n        if (bVar2) {\n          if (command_line.warn_search_mismatch != 0) {\n            pcVar6 = entry->local_sym_name;\n            pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                                       command_line.warn_search_mismatch);\n            einfo(pcVar9,attempt,pcVar6);\n          }\n          bfd_close(entry->the_bfd);\n          entry->the_bfd = (bfd *)0x0;\n          return 0;\n        }\n      }\n    }\n  }\nLAB_000331ca:\n  if ((((link_info._1_1_ & 2) != 0) && (no_more_claiming == 0)) &&\n     (iVar8 = bfd_check_format(entry->the_bfd,1), iVar8 != 0)) {\n    plugin_maybe_claim(entry);\n  }\n  return 1;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "undefined4 __s1;" type_identifier identifier ;) (declaration "undefined4 __s1_00;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "bfd *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "bfd_boolean bVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "fill_type *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (declaration "fill_type *local_24;" type_identifier (pointer_declarator "*local_24" * identifier) ;) (expression_statement "pbVar5 = (bfd *)bfd_openr(attempt,entry->target);" (assignment_expression "pbVar5 = (bfd *)bfd_openr(attempt,entry->target)" identifier = (cast_expression "(bfd *)bfd_openr(attempt,entry->target)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_openr(attempt,entry->target)" identifier (argument_list "(attempt,entry->target)" ( identifier , (field_expression "entry->target" identifier -> field_identifier) ))))) ;) (expression_statement "entry->the_bfd = pbVar5;" (assignment_expression "entry->the_bfd = pbVar5" (field_expression "entry->the_bfd" identifier -> field_identifier) = identifier) ;) (if_statement "if (verbose != 0) {\n    if (pbVar5 == (bfd *)0x0) {\n      pcVar6 = "attempt to open %s failed\n";\n    }\n    else {\n      pcVar6 = "attempt to open %s succeeded\n";\n    }\n    pcVar6 = (char *)dcgettext(0,pcVar6,5);\n    info_msg(pcVar6,attempt);\n    pbVar5 = entry->the_bfd;\n  }" if (parenthesized_expression "(verbose != 0)" ( (binary_expression "verbose != 0" identifier != number_literal) )) (compound_statement "{\n    if (pbVar5 == (bfd *)0x0) {\n      pcVar6 = "attempt to open %s failed\n";\n    }\n    else {\n      pcVar6 = "attempt to open %s succeeded\n";\n    }\n    pcVar6 = (char *)dcgettext(0,pcVar6,5);\n    info_msg(pcVar6,attempt);\n    pbVar5 = entry->the_bfd;\n  }" { (if_statement "if (pbVar5 == (bfd *)0x0) {\n      pcVar6 = "attempt to open %s failed\n";\n    }\n    else {\n      pcVar6 = "attempt to open %s succeeded\n";\n    }" if (parenthesized_expression "(pbVar5 == (bfd *)0x0)" ( (binary_expression "pbVar5 == (bfd *)0x0" identifier == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar6 = "attempt to open %s failed\n";\n    }" { (expression_statement "pcVar6 = "attempt to open %s failed\n";" (assignment_expression "pcVar6 = "attempt to open %s failed\n"" identifier = (string_literal ""attempt to open %s failed\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n      pcVar6 = "attempt to open %s succeeded\n";\n    }" else (compound_statement "{\n      pcVar6 = "attempt to open %s succeeded\n";\n    }" { (expression_statement "pcVar6 = "attempt to open %s succeeded\n";" (assignment_expression "pcVar6 = "attempt to open %s succeeded\n"" identifier = (string_literal ""attempt to open %s succeeded\n"" " string_content escape_sequence ")) ;) }))) (expression_statement "pcVar6 = (char *)dcgettext(0,pcVar6,5);" (assignment_expression "pcVar6 = (char *)dcgettext(0,pcVar6,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar6,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar6,5)" identifier (argument_list "(0,pcVar6,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "info_msg(pcVar6,attempt);" (call_expression "info_msg(pcVar6,attempt)" identifier (argument_list "(pcVar6,attempt)" ( identifier , identifier ))) ;) (expression_statement "pbVar5 = entry->the_bfd;" (assignment_expression "pbVar5 = entry->the_bfd" identifier = (field_expression "entry->the_bfd" identifier -> field_identifier)) ;) })) (if_statement "if (pbVar5 == (bfd *)0x0) {\n    iVar8 = bfd_get_error();\n    if (iVar8 != 2) {\n      return 0;\n    }\n    pcVar6 = entry->target;\n    pcVar9 = (char *)dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5);\n    einfo(pcVar9,pcVar6);\n    return 0;\n  }" if (parenthesized_expression "(pbVar5 == (bfd *)0x0)" ( (binary_expression "pbVar5 == (bfd *)0x0" identifier == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar8 = bfd_get_error();\n    if (iVar8 != 2) {\n      return 0;\n    }\n    pcVar6 = entry->target;\n    pcVar9 = (char *)dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5);\n    einfo(pcVar9,pcVar6);\n    return 0;\n  }" { (expression_statement "iVar8 = bfd_get_error();" (assignment_expression "iVar8 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar8 != 2) {\n      return 0;\n    }" if (parenthesized_expression "(iVar8 != 2)" ( (binary_expression "iVar8 != 2" identifier != number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "pcVar6 = entry->target;" (assignment_expression "pcVar6 = entry->target" identifier = (field_expression "entry->target" identifier -> field_identifier)) ;) (expression_statement "pcVar9 = (char *)dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5);" (assignment_expression "pcVar9 = (char *)dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5)" identifier (argument_list "(0,"%F%P: invalid BFD target `%s\'\n",5)" ( number_literal , (string_literal ""%F%P: invalid BFD target `%s\'\n"" " string_content escape_sequence escape_sequence ") , number_literal ))))) ;) (expression_statement "einfo(pcVar9,pcVar6);" (call_expression "einfo(pcVar9,pcVar6)" identifier (argument_list "(pcVar9,pcVar6)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "bVar1 = pbVar5->field_0x2c;" (assignment_expression "bVar1 = pbVar5->field_0x2c" identifier = (field_expression "pbVar5->field_0x2c" identifier -> field_identifier)) ;) (expression_statement "*(uint *)&pbVar5->field_0x28 = *(uint *)&pbVar5->field_0x28 | 0x100000;" (assignment_expression "*(uint *)&pbVar5->field_0x28 = *(uint *)&pbVar5->field_0x28 | 0x100000" (pointer_expression "*(uint *)&pbVar5->field_0x28" * (cast_expression "(uint *)&pbVar5->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pbVar5->field_0x28" & (field_expression "pbVar5->field_0x28" identifier -> field_identifier)))) = (binary_expression "*(uint *)&pbVar5->field_0x28 | 0x100000" (pointer_expression "*(uint *)&pbVar5->field_0x28" * (cast_expression "(uint *)&pbVar5->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pbVar5->field_0x28" & (field_expression "pbVar5->field_0x28" identifier -> field_identifier)))) | number_literal)) ;) (expression_statement "pbVar5->field_0x2c = bVar1 | 8;" (assignment_expression "pbVar5->field_0x2c = bVar1 | 8" (field_expression "pbVar5->field_0x2c" identifier -> field_identifier) = (binary_expression "bVar1 | 8" identifier | number_literal)) ;) (if_statement "if ((char)(entry->flags).field_0x1 < '\0') {\n    pbVar5->field_0x2c = bVar1 | 0x48;\n  }" if (parenthesized_expression "((char)(entry->flags).field_0x1 < '\0')" ( (binary_expression "(char)(entry->flags).field_0x1 < '\0'" (cast_expression "(char)(entry->flags).field_0x1" ( (type_descriptor "char" primitive_type) ) (field_expression "(entry->flags).field_0x1" (parenthesized_expression "(entry->flags)" ( (field_expression "entry->flags" identifier -> field_identifier) )) . field_identifier)) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    pbVar5->field_0x2c = bVar1 | 0x48;\n  }" { (expression_statement "pbVar5->field_0x2c = bVar1 | 0x48;" (assignment_expression "pbVar5->field_0x2c = bVar1 | 0x48" (field_expression "pbVar5->field_0x2c" identifier -> field_identifier) = (binary_expression "bVar1 | 0x48" identifier | number_literal)) ;) })) (if_statement "if (((ulonglong)entry->flags & 0x24) != 0x20) {\n    iVar8 = bfd_check_format(pbVar5,2);\n    if (iVar8 == 0) {\n      pbVar5 = entry->the_bfd;\n    }\n    else {\n      pbVar5 = (bfd *)bfd_openr_next_archived_file(entry->the_bfd,0);\n    }\n    if (pbVar5 != (bfd *)0x0) {\n      iVar8 = bfd_check_format(pbVar5,1);\n      if (iVar8 != 0) {\n        if ((((ulonglong)entry->flags & 0x20) == 0) && ((entry->the_bfd->field_0x29 & 8) != 0)) {\n          pcVar6 = (char *)dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          einfo(pcVar6,attempt);\n        }\n        else {\n          if (((((ulonglong)entry->flags & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible\n                                 (pbVar5,link_info.output_bfd,command_line.accept_unknown_input_arch\n                                 ), iVar8 != 0)) ||\n             (((pbVar5->xvec->flavour == bfd_target_xcoff_flavour &&\n               ((link_info.output_bfd)->xvec->flavour == bfd_target_xcoff_flavour)) &&\n              (iVar8 = bfd_check_format(entry->the_bfd,2), iVar8 != 0)))) goto LAB_000331ca;\n          if (command_line.warn_search_mismatch != 0) {\n            pcVar6 = entry->local_sym_name;\n            pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            einfo(pcVar9,attempt,pcVar6);\n          }\n        }\n        bfd_close(entry->the_bfd);\n        entry->the_bfd = (bfd *)0x0;\n        return 0;\n      }\n      if (((entry->the_bfd == pbVar5) && (((ulonglong)entry->flags & 4) != 0)) &&\n         ((iVar8 = bfd_get_error(), iVar8 == 0xc &&\n          (bVar7 = ldemul_unrecognized_file(entry), bVar7 == 0)))) {\n        ldfile_open_command_file_1(attempt,0);\n        ldfile_assumed_script = 1;\n        parser_input = input_selected;\n        ldlex_both();\n        iVar8 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar8 < 0x105) {\n            if (iVar8 < 0x103) {\n              if ((iVar8 != 0x102) || (local_24 = yylval._8_4_, yylval.bigint.str == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(yylval.fill);\n            }\nLAB_000332b8:\n            iVar8 = yylex();\n          }\n          else {\n            if (iVar8 != 300) {\n              if ((299 < iVar8) && (iVar8 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar8 = yylex();\n            if ((iVar8 == 0x28) && (iVar8 = yylex(), __s1 = yylval.fill, iVar8 == 0x103)) {\n              iVar8 = yylex();\n              uVar10 = __s1;\n              if (iVar8 != 0x2c) {\n                if (iVar8 != 0x29) {\n                  free(__s1);\n                  goto LAB_000332b8;\n                }\n                if (command_line.endian == ENDIAN_BIG) {\n                  local_24 = (fill_type *)0x0;\nLAB_000336a0:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (command_line.endian == ENDIAN_LITTLE) {\n                    local_2c = (fill_type *)0x0;\nLAB_00033646:\n                    local_24 = (fill_type *)0x0;\n                    uVar10 = __s1;\n                  }\n                  else {\n                    local_24 = (fill_type *)0x0;\n                    local_2c = (fill_type *)0x0;\n                  }\nLAB_00033337:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(uVar10,pcVar6);\n                  bVar4 = true;\n                  if (iVar8 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(__s1);\n                  if (local_2c != (fill_type *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (fill_type *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar8 = yylex();\n              __s1_00 = yylval.fill;\n              if (iVar8 == 0x103) {\n                local_2c = yylval.fill;\n                iVar8 = yylex();\n                if ((iVar8 == 0x2c) && (iVar8 = yylex(), uVar3 = yylval.fill, iVar8 == 0x103)) {\n                  local_24 = yylval.fill;\n                  iVar8 = yylex();\n                  bVar4 = bVar2;\n                  if (iVar8 != 0x29) goto LAB_00033360;\n                  if (command_line.endian != ENDIAN_BIG) {\n                    if ((command_line.endian == ENDIAN_LITTLE) &&\n                       (uVar10 = uVar3, uVar3 == (fill_type *)0x0)) goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (__s1_00 == (fill_type *)0x0) goto LAB_000336a0;\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1_00,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(__s1);\n                free(__s1_00);\n              }\n              else {\n                free(__s1);\n              }\n            }\n          }\n        } while (iVar8 != 0);\n        ldlex_popstate();\n        ldfile_assumed_script = 0;\n        fclose((FILE *)yyin);\n        yyin = (FILE *)0x0;\n        if (bVar2) {\n          if (command_line.warn_search_mismatch != 0) {\n            pcVar6 = entry->local_sym_name;\n            pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                                       command_line.warn_search_mismatch);\n            einfo(pcVar9,attempt,pcVar6);\n          }\n          bfd_close(entry->the_bfd);\n          entry->the_bfd = (bfd *)0x0;\n          return 0;\n        }\n      }\n    }\n  }" if (parenthesized_expression "(((ulonglong)entry->flags & 0x24) != 0x20)" ( (binary_expression "((ulonglong)entry->flags & 0x24) != 0x20" (parenthesized_expression "((ulonglong)entry->flags & 0x24)" ( (binary_expression "(ulonglong)entry->flags & 0x24" (cast_expression "(ulonglong)entry->flags" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "entry->flags" identifier -> field_identifier)) & number_literal) )) != number_literal) )) (compound_statement "{\n    iVar8 = bfd_check_format(pbVar5,2);\n    if (iVar8 == 0) {\n      pbVar5 = entry->the_bfd;\n    }\n    else {\n      pbVar5 = (bfd *)bfd_openr_next_archived_file(entry->the_bfd,0);\n    }\n    if (pbVar5 != (bfd *)0x0) {\n      iVar8 = bfd_check_format(pbVar5,1);\n      if (iVar8 != 0) {\n        if ((((ulonglong)entry->flags & 0x20) == 0) && ((entry->the_bfd->field_0x29 & 8) != 0)) {\n          pcVar6 = (char *)dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          einfo(pcVar6,attempt);\n        }\n        else {\n          if (((((ulonglong)entry->flags & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible\n                                 (pbVar5,link_info.output_bfd,command_line.accept_unknown_input_arch\n                                 ), iVar8 != 0)) ||\n             (((pbVar5->xvec->flavour == bfd_target_xcoff_flavour &&\n               ((link_info.output_bfd)->xvec->flavour == bfd_target_xcoff_flavour)) &&\n              (iVar8 = bfd_check_format(entry->the_bfd,2), iVar8 != 0)))) goto LAB_000331ca;\n          if (command_line.warn_search_mismatch != 0) {\n            pcVar6 = entry->local_sym_name;\n            pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            einfo(pcVar9,attempt,pcVar6);\n          }\n        }\n        bfd_close(entry->the_bfd);\n        entry->the_bfd = (bfd *)0x0;\n        return 0;\n      }\n      if (((entry->the_bfd == pbVar5) && (((ulonglong)entry->flags & 4) != 0)) &&\n         ((iVar8 = bfd_get_error(), iVar8 == 0xc &&\n          (bVar7 = ldemul_unrecognized_file(entry), bVar7 == 0)))) {\n        ldfile_open_command_file_1(attempt,0);\n        ldfile_assumed_script = 1;\n        parser_input = input_selected;\n        ldlex_both();\n        iVar8 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar8 < 0x105) {\n            if (iVar8 < 0x103) {\n              if ((iVar8 != 0x102) || (local_24 = yylval._8_4_, yylval.bigint.str == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(yylval.fill);\n            }\nLAB_000332b8:\n            iVar8 = yylex();\n          }\n          else {\n            if (iVar8 != 300) {\n              if ((299 < iVar8) && (iVar8 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar8 = yylex();\n            if ((iVar8 == 0x28) && (iVar8 = yylex(), __s1 = yylval.fill, iVar8 == 0x103)) {\n              iVar8 = yylex();\n              uVar10 = __s1;\n              if (iVar8 != 0x2c) {\n                if (iVar8 != 0x29) {\n                  free(__s1);\n                  goto LAB_000332b8;\n                }\n                if (command_line.endian == ENDIAN_BIG) {\n                  local_24 = (fill_type *)0x0;\nLAB_000336a0:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (command_line.endian == ENDIAN_LITTLE) {\n                    local_2c = (fill_type *)0x0;\nLAB_00033646:\n                    local_24 = (fill_type *)0x0;\n                    uVar10 = __s1;\n                  }\n                  else {\n                    local_24 = (fill_type *)0x0;\n                    local_2c = (fill_type *)0x0;\n                  }\nLAB_00033337:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(uVar10,pcVar6);\n                  bVar4 = true;\n                  if (iVar8 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(__s1);\n                  if (local_2c != (fill_type *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (fill_type *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar8 = yylex();\n              __s1_00 = yylval.fill;\n              if (iVar8 == 0x103) {\n                local_2c = yylval.fill;\n                iVar8 = yylex();\n                if ((iVar8 == 0x2c) && (iVar8 = yylex(), uVar3 = yylval.fill, iVar8 == 0x103)) {\n                  local_24 = yylval.fill;\n                  iVar8 = yylex();\n                  bVar4 = bVar2;\n                  if (iVar8 != 0x29) goto LAB_00033360;\n                  if (command_line.endian != ENDIAN_BIG) {\n                    if ((command_line.endian == ENDIAN_LITTLE) &&\n                       (uVar10 = uVar3, uVar3 == (fill_type *)0x0)) goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (__s1_00 == (fill_type *)0x0) goto LAB_000336a0;\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1_00,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(__s1);\n                free(__s1_00);\n              }\n              else {\n                free(__s1);\n              }\n            }\n          }\n        } while (iVar8 != 0);\n        ldlex_popstate();\n        ldfile_assumed_script = 0;\n        fclose((FILE *)yyin);\n        yyin = (FILE *)0x0;\n        if (bVar2) {\n          if (command_line.warn_search_mismatch != 0) {\n            pcVar6 = entry->local_sym_name;\n            pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                                       command_line.warn_search_mismatch);\n            einfo(pcVar9,attempt,pcVar6);\n          }\n          bfd_close(entry->the_bfd);\n          entry->the_bfd = (bfd *)0x0;\n          return 0;\n        }\n      }\n    }\n  }" { (expression_statement "iVar8 = bfd_check_format(pbVar5,2);" (assignment_expression "iVar8 = bfd_check_format(pbVar5,2)" identifier = (call_expression "bfd_check_format(pbVar5,2)" identifier (argument_list "(pbVar5,2)" ( identifier , number_literal )))) ;) (if_statement "if (iVar8 == 0) {\n      pbVar5 = entry->the_bfd;\n    }\n    else {\n      pbVar5 = (bfd *)bfd_openr_next_archived_file(entry->the_bfd,0);\n    }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n      pbVar5 = entry->the_bfd;\n    }" { (expression_statement "pbVar5 = entry->the_bfd;" (assignment_expression "pbVar5 = entry->the_bfd" identifier = (field_expression "entry->the_bfd" identifier -> field_identifier)) ;) }) (else_clause "else {\n      pbVar5 = (bfd *)bfd_openr_next_archived_file(entry->the_bfd,0);\n    }" else (compound_statement "{\n      pbVar5 = (bfd *)bfd_openr_next_archived_file(entry->the_bfd,0);\n    }" { (expression_statement "pbVar5 = (bfd *)bfd_openr_next_archived_file(entry->the_bfd,0);" (assignment_expression "pbVar5 = (bfd *)bfd_openr_next_archived_file(entry->the_bfd,0)" identifier = (cast_expression "(bfd *)bfd_openr_next_archived_file(entry->the_bfd,0)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_openr_next_archived_file(entry->the_bfd,0)" identifier (argument_list "(entry->the_bfd,0)" ( (field_expression "entry->the_bfd" identifier -> field_identifier) , number_literal ))))) ;) }))) (if_statement "if (pbVar5 != (bfd *)0x0) {\n      iVar8 = bfd_check_format(pbVar5,1);\n      if (iVar8 != 0) {\n        if ((((ulonglong)entry->flags & 0x20) == 0) && ((entry->the_bfd->field_0x29 & 8) != 0)) {\n          pcVar6 = (char *)dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          einfo(pcVar6,attempt);\n        }\n        else {\n          if (((((ulonglong)entry->flags & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible\n                                 (pbVar5,link_info.output_bfd,command_line.accept_unknown_input_arch\n                                 ), iVar8 != 0)) ||\n             (((pbVar5->xvec->flavour == bfd_target_xcoff_flavour &&\n               ((link_info.output_bfd)->xvec->flavour == bfd_target_xcoff_flavour)) &&\n              (iVar8 = bfd_check_format(entry->the_bfd,2), iVar8 != 0)))) goto LAB_000331ca;\n          if (command_line.warn_search_mismatch != 0) {\n            pcVar6 = entry->local_sym_name;\n            pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            einfo(pcVar9,attempt,pcVar6);\n          }\n        }\n        bfd_close(entry->the_bfd);\n        entry->the_bfd = (bfd *)0x0;\n        return 0;\n      }\n      if (((entry->the_bfd == pbVar5) && (((ulonglong)entry->flags & 4) != 0)) &&\n         ((iVar8 = bfd_get_error(), iVar8 == 0xc &&\n          (bVar7 = ldemul_unrecognized_file(entry), bVar7 == 0)))) {\n        ldfile_open_command_file_1(attempt,0);\n        ldfile_assumed_script = 1;\n        parser_input = input_selected;\n        ldlex_both();\n        iVar8 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar8 < 0x105) {\n            if (iVar8 < 0x103) {\n              if ((iVar8 != 0x102) || (local_24 = yylval._8_4_, yylval.bigint.str == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(yylval.fill);\n            }\nLAB_000332b8:\n            iVar8 = yylex();\n          }\n          else {\n            if (iVar8 != 300) {\n              if ((299 < iVar8) && (iVar8 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar8 = yylex();\n            if ((iVar8 == 0x28) && (iVar8 = yylex(), __s1 = yylval.fill, iVar8 == 0x103)) {\n              iVar8 = yylex();\n              uVar10 = __s1;\n              if (iVar8 != 0x2c) {\n                if (iVar8 != 0x29) {\n                  free(__s1);\n                  goto LAB_000332b8;\n                }\n                if (command_line.endian == ENDIAN_BIG) {\n                  local_24 = (fill_type *)0x0;\nLAB_000336a0:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (command_line.endian == ENDIAN_LITTLE) {\n                    local_2c = (fill_type *)0x0;\nLAB_00033646:\n                    local_24 = (fill_type *)0x0;\n                    uVar10 = __s1;\n                  }\n                  else {\n                    local_24 = (fill_type *)0x0;\n                    local_2c = (fill_type *)0x0;\n                  }\nLAB_00033337:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(uVar10,pcVar6);\n                  bVar4 = true;\n                  if (iVar8 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(__s1);\n                  if (local_2c != (fill_type *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (fill_type *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar8 = yylex();\n              __s1_00 = yylval.fill;\n              if (iVar8 == 0x103) {\n                local_2c = yylval.fill;\n                iVar8 = yylex();\n                if ((iVar8 == 0x2c) && (iVar8 = yylex(), uVar3 = yylval.fill, iVar8 == 0x103)) {\n                  local_24 = yylval.fill;\n                  iVar8 = yylex();\n                  bVar4 = bVar2;\n                  if (iVar8 != 0x29) goto LAB_00033360;\n                  if (command_line.endian != ENDIAN_BIG) {\n                    if ((command_line.endian == ENDIAN_LITTLE) &&\n                       (uVar10 = uVar3, uVar3 == (fill_type *)0x0)) goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (__s1_00 == (fill_type *)0x0) goto LAB_000336a0;\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1_00,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(__s1);\n                free(__s1_00);\n              }\n              else {\n                free(__s1);\n              }\n            }\n          }\n        } while (iVar8 != 0);\n        ldlex_popstate();\n        ldfile_assumed_script = 0;\n        fclose((FILE *)yyin);\n        yyin = (FILE *)0x0;\n        if (bVar2) {\n          if (command_line.warn_search_mismatch != 0) {\n            pcVar6 = entry->local_sym_name;\n            pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                                       command_line.warn_search_mismatch);\n            einfo(pcVar9,attempt,pcVar6);\n          }\n          bfd_close(entry->the_bfd);\n          entry->the_bfd = (bfd *)0x0;\n          return 0;\n        }\n      }\n    }" if (parenthesized_expression "(pbVar5 != (bfd *)0x0)" ( (binary_expression "pbVar5 != (bfd *)0x0" identifier != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar8 = bfd_check_format(pbVar5,1);\n      if (iVar8 != 0) {\n        if ((((ulonglong)entry->flags & 0x20) == 0) && ((entry->the_bfd->field_0x29 & 8) != 0)) {\n          pcVar6 = (char *)dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          einfo(pcVar6,attempt);\n        }\n        else {\n          if (((((ulonglong)entry->flags & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible\n                                 (pbVar5,link_info.output_bfd,command_line.accept_unknown_input_arch\n                                 ), iVar8 != 0)) ||\n             (((pbVar5->xvec->flavour == bfd_target_xcoff_flavour &&\n               ((link_info.output_bfd)->xvec->flavour == bfd_target_xcoff_flavour)) &&\n              (iVar8 = bfd_check_format(entry->the_bfd,2), iVar8 != 0)))) goto LAB_000331ca;\n          if (command_line.warn_search_mismatch != 0) {\n            pcVar6 = entry->local_sym_name;\n            pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            einfo(pcVar9,attempt,pcVar6);\n          }\n        }\n        bfd_close(entry->the_bfd);\n        entry->the_bfd = (bfd *)0x0;\n        return 0;\n      }\n      if (((entry->the_bfd == pbVar5) && (((ulonglong)entry->flags & 4) != 0)) &&\n         ((iVar8 = bfd_get_error(), iVar8 == 0xc &&\n          (bVar7 = ldemul_unrecognized_file(entry), bVar7 == 0)))) {\n        ldfile_open_command_file_1(attempt,0);\n        ldfile_assumed_script = 1;\n        parser_input = input_selected;\n        ldlex_both();\n        iVar8 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar8 < 0x105) {\n            if (iVar8 < 0x103) {\n              if ((iVar8 != 0x102) || (local_24 = yylval._8_4_, yylval.bigint.str == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(yylval.fill);\n            }\nLAB_000332b8:\n            iVar8 = yylex();\n          }\n          else {\n            if (iVar8 != 300) {\n              if ((299 < iVar8) && (iVar8 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar8 = yylex();\n            if ((iVar8 == 0x28) && (iVar8 = yylex(), __s1 = yylval.fill, iVar8 == 0x103)) {\n              iVar8 = yylex();\n              uVar10 = __s1;\n              if (iVar8 != 0x2c) {\n                if (iVar8 != 0x29) {\n                  free(__s1);\n                  goto LAB_000332b8;\n                }\n                if (command_line.endian == ENDIAN_BIG) {\n                  local_24 = (fill_type *)0x0;\nLAB_000336a0:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (command_line.endian == ENDIAN_LITTLE) {\n                    local_2c = (fill_type *)0x0;\nLAB_00033646:\n                    local_24 = (fill_type *)0x0;\n                    uVar10 = __s1;\n                  }\n                  else {\n                    local_24 = (fill_type *)0x0;\n                    local_2c = (fill_type *)0x0;\n                  }\nLAB_00033337:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(uVar10,pcVar6);\n                  bVar4 = true;\n                  if (iVar8 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(__s1);\n                  if (local_2c != (fill_type *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (fill_type *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar8 = yylex();\n              __s1_00 = yylval.fill;\n              if (iVar8 == 0x103) {\n                local_2c = yylval.fill;\n                iVar8 = yylex();\n                if ((iVar8 == 0x2c) && (iVar8 = yylex(), uVar3 = yylval.fill, iVar8 == 0x103)) {\n                  local_24 = yylval.fill;\n                  iVar8 = yylex();\n                  bVar4 = bVar2;\n                  if (iVar8 != 0x29) goto LAB_00033360;\n                  if (command_line.endian != ENDIAN_BIG) {\n                    if ((command_line.endian == ENDIAN_LITTLE) &&\n                       (uVar10 = uVar3, uVar3 == (fill_type *)0x0)) goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (__s1_00 == (fill_type *)0x0) goto LAB_000336a0;\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1_00,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(__s1);\n                free(__s1_00);\n              }\n              else {\n                free(__s1);\n              }\n            }\n          }\n        } while (iVar8 != 0);\n        ldlex_popstate();\n        ldfile_assumed_script = 0;\n        fclose((FILE *)yyin);\n        yyin = (FILE *)0x0;\n        if (bVar2) {\n          if (command_line.warn_search_mismatch != 0) {\n            pcVar6 = entry->local_sym_name;\n            pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                                       command_line.warn_search_mismatch);\n            einfo(pcVar9,attempt,pcVar6);\n          }\n          bfd_close(entry->the_bfd);\n          entry->the_bfd = (bfd *)0x0;\n          return 0;\n        }\n      }\n    }" { (expression_statement "iVar8 = bfd_check_format(pbVar5,1);" (assignment_expression "iVar8 = bfd_check_format(pbVar5,1)" identifier = (call_expression "bfd_check_format(pbVar5,1)" identifier (argument_list "(pbVar5,1)" ( identifier , number_literal )))) ;) (if_statement "if (iVar8 != 0) {\n        if ((((ulonglong)entry->flags & 0x20) == 0) && ((entry->the_bfd->field_0x29 & 8) != 0)) {\n          pcVar6 = (char *)dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          einfo(pcVar6,attempt);\n        }\n        else {\n          if (((((ulonglong)entry->flags & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible\n                                 (pbVar5,link_info.output_bfd,command_line.accept_unknown_input_arch\n                                 ), iVar8 != 0)) ||\n             (((pbVar5->xvec->flavour == bfd_target_xcoff_flavour &&\n               ((link_info.output_bfd)->xvec->flavour == bfd_target_xcoff_flavour)) &&\n              (iVar8 = bfd_check_format(entry->the_bfd,2), iVar8 != 0)))) goto LAB_000331ca;\n          if (command_line.warn_search_mismatch != 0) {\n            pcVar6 = entry->local_sym_name;\n            pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            einfo(pcVar9,attempt,pcVar6);\n          }\n        }\n        bfd_close(entry->the_bfd);\n        entry->the_bfd = (bfd *)0x0;\n        return 0;\n      }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n        if ((((ulonglong)entry->flags & 0x20) == 0) && ((entry->the_bfd->field_0x29 & 8) != 0)) {\n          pcVar6 = (char *)dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          einfo(pcVar6,attempt);\n        }\n        else {\n          if (((((ulonglong)entry->flags & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible\n                                 (pbVar5,link_info.output_bfd,command_line.accept_unknown_input_arch\n                                 ), iVar8 != 0)) ||\n             (((pbVar5->xvec->flavour == bfd_target_xcoff_flavour &&\n               ((link_info.output_bfd)->xvec->flavour == bfd_target_xcoff_flavour)) &&\n              (iVar8 = bfd_check_format(entry->the_bfd,2), iVar8 != 0)))) goto LAB_000331ca;\n          if (command_line.warn_search_mismatch != 0) {\n            pcVar6 = entry->local_sym_name;\n            pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            einfo(pcVar9,attempt,pcVar6);\n          }\n        }\n        bfd_close(entry->the_bfd);\n        entry->the_bfd = (bfd *)0x0;\n        return 0;\n      }" { (if_statement "if ((((ulonglong)entry->flags & 0x20) == 0) && ((entry->the_bfd->field_0x29 & 8) != 0)) {\n          pcVar6 = (char *)dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          einfo(pcVar6,attempt);\n        }\n        else {\n          if (((((ulonglong)entry->flags & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible\n                                 (pbVar5,link_info.output_bfd,command_line.accept_unknown_input_arch\n                                 ), iVar8 != 0)) ||\n             (((pbVar5->xvec->flavour == bfd_target_xcoff_flavour &&\n               ((link_info.output_bfd)->xvec->flavour == bfd_target_xcoff_flavour)) &&\n              (iVar8 = bfd_check_format(entry->the_bfd,2), iVar8 != 0)))) goto LAB_000331ca;\n          if (command_line.warn_search_mismatch != 0) {\n            pcVar6 = entry->local_sym_name;\n            pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            einfo(pcVar9,attempt,pcVar6);\n          }\n        }" if (parenthesized_expression "((((ulonglong)entry->flags & 0x20) == 0) && ((entry->the_bfd->field_0x29 & 8) != 0))" ( (binary_expression "(((ulonglong)entry->flags & 0x20) == 0) && ((entry->the_bfd->field_0x29 & 8) != 0)" (parenthesized_expression "(((ulonglong)entry->flags & 0x20) == 0)" ( (binary_expression "((ulonglong)entry->flags & 0x20) == 0" (parenthesized_expression "((ulonglong)entry->flags & 0x20)" ( (binary_expression "(ulonglong)entry->flags & 0x20" (cast_expression "(ulonglong)entry->flags" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "entry->flags" identifier -> field_identifier)) & number_literal) )) == number_literal) )) && (parenthesized_expression "((entry->the_bfd->field_0x29 & 8) != 0)" ( (binary_expression "(entry->the_bfd->field_0x29 & 8) != 0" (parenthesized_expression "(entry->the_bfd->field_0x29 & 8)" ( (binary_expression "entry->the_bfd->field_0x29 & 8" (field_expression "entry->the_bfd->field_0x29" (field_expression "entry->the_bfd" identifier -> field_identifier) -> field_identifier) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n          pcVar6 = (char *)dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          einfo(pcVar6,attempt);\n        }" { (expression_statement "pcVar6 = (char *)dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);" (assignment_expression "pcVar6 = (char *)dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5)" identifier (argument_list "(0,"%F%P: attempted static link of dynamic object `%s\'\n",5)" ( number_literal , (string_literal ""%F%P: attempted static link of dynamic object `%s\'\n"" " string_content escape_sequence escape_sequence ") , number_literal ))))) ;) (expression_statement "einfo(pcVar6,attempt);" (call_expression "einfo(pcVar6,attempt)" identifier (argument_list "(pcVar6,attempt)" ( identifier , identifier ))) ;) }) (else_clause "else {\n          if (((((ulonglong)entry->flags & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible\n                                 (pbVar5,link_info.output_bfd,command_line.accept_unknown_input_arch\n                                 ), iVar8 != 0)) ||\n             (((pbVar5->xvec->flavour == bfd_target_xcoff_flavour &&\n               ((link_info.output_bfd)->xvec->flavour == bfd_target_xcoff_flavour)) &&\n              (iVar8 = bfd_check_format(entry->the_bfd,2), iVar8 != 0)))) goto LAB_000331ca;\n          if (command_line.warn_search_mismatch != 0) {\n            pcVar6 = entry->local_sym_name;\n            pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            einfo(pcVar9,attempt,pcVar6);\n          }\n        }" else (compound_statement "{\n          if (((((ulonglong)entry->flags & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible\n                                 (pbVar5,link_info.output_bfd,command_line.accept_unknown_input_arch\n                                 ), iVar8 != 0)) ||\n             (((pbVar5->xvec->flavour == bfd_target_xcoff_flavour &&\n               ((link_info.output_bfd)->xvec->flavour == bfd_target_xcoff_flavour)) &&\n              (iVar8 = bfd_check_format(entry->the_bfd,2), iVar8 != 0)))) goto LAB_000331ca;\n          if (command_line.warn_search_mismatch != 0) {\n            pcVar6 = entry->local_sym_name;\n            pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            einfo(pcVar9,attempt,pcVar6);\n          }\n        }" { (if_statement "if (((((ulonglong)entry->flags & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible\n                                 (pbVar5,link_info.output_bfd,command_line.accept_unknown_input_arch\n                                 ), iVar8 != 0)) ||\n             (((pbVar5->xvec->flavour == bfd_target_xcoff_flavour &&\n               ((link_info.output_bfd)->xvec->flavour == bfd_target_xcoff_flavour)) &&\n              (iVar8 = bfd_check_format(entry->the_bfd,2), iVar8 != 0)))) goto LAB_000331ca;" if (parenthesized_expression "(((((ulonglong)entry->flags & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible\n                                 (pbVar5,link_info.output_bfd,command_line.accept_unknown_input_arch\n                                 ), iVar8 != 0)) ||\n             (((pbVar5->xvec->flavour == bfd_target_xcoff_flavour &&\n               ((link_info.output_bfd)->xvec->flavour == bfd_target_xcoff_flavour)) &&\n              (iVar8 = bfd_check_format(entry->the_bfd,2), iVar8 != 0))))" ( (binary_expression "((((ulonglong)entry->flags & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible\n                                 (pbVar5,link_info.output_bfd,command_line.accept_unknown_input_arch\n                                 ), iVar8 != 0)) ||\n             (((pbVar5->xvec->flavour == bfd_target_xcoff_flavour &&\n               ((link_info.output_bfd)->xvec->flavour == bfd_target_xcoff_flavour)) &&\n              (iVar8 = bfd_check_format(entry->the_bfd,2), iVar8 != 0)))" (parenthesized_expression "((((ulonglong)entry->flags & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible\n                                 (pbVar5,link_info.output_bfd,command_line.accept_unknown_input_arch\n                                 ), iVar8 != 0))" ( (binary_expression "(((ulonglong)entry->flags & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible\n                                 (pbVar5,link_info.output_bfd,command_line.accept_unknown_input_arch\n                                 ), iVar8 != 0)" (parenthesized_expression "(((ulonglong)entry->flags & 4) == 0)" ( (binary_expression "((ulonglong)entry->flags & 4) == 0" (parenthesized_expression "((ulonglong)entry->flags & 4)" ( (binary_expression "(ulonglong)entry->flags & 4" (cast_expression "(ulonglong)entry->flags" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "entry->flags" identifier -> field_identifier)) & number_literal) )) == number_literal) )) || (parenthesized_expression "(iVar8 = bfd_arch_get_compatible\n                                 (pbVar5,link_info.output_bfd,command_line.accept_unknown_input_arch\n                                 ), iVar8 != 0)" ( (comma_expression "iVar8 = bfd_arch_get_compatible\n                                 (pbVar5,link_info.output_bfd,command_line.accept_unknown_input_arch\n                                 ), iVar8 != 0" (assignment_expression "iVar8 = bfd_arch_get_compatible\n                                 (pbVar5,link_info.output_bfd,command_line.accept_unknown_input_arch\n                                 )" identifier = (call_expression "bfd_arch_get_compatible\n                                 (pbVar5,link_info.output_bfd,command_line.accept_unknown_input_arch\n                                 )" identifier (argument_list "(pbVar5,link_info.output_bfd,command_line.accept_unknown_input_arch\n                                 )" ( identifier , (field_expression "link_info.output_bfd" identifier . field_identifier) , (field_expression "command_line.accept_unknown_input_arch" identifier . field_identifier) )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "(((pbVar5->xvec->flavour == bfd_target_xcoff_flavour &&\n               ((link_info.output_bfd)->xvec->flavour == bfd_target_xcoff_flavour)) &&\n              (iVar8 = bfd_check_format(entry->the_bfd,2), iVar8 != 0)))" ( (parenthesized_expression "((pbVar5->xvec->flavour == bfd_target_xcoff_flavour &&\n               ((link_info.output_bfd)->xvec->flavour == bfd_target_xcoff_flavour)) &&\n              (iVar8 = bfd_check_format(entry->the_bfd,2), iVar8 != 0))" ( (binary_expression "(pbVar5->xvec->flavour == bfd_target_xcoff_flavour &&\n               ((link_info.output_bfd)->xvec->flavour == bfd_target_xcoff_flavour)) &&\n              (iVar8 = bfd_check_format(entry->the_bfd,2), iVar8 != 0)" (parenthesized_expression "(pbVar5->xvec->flavour == bfd_target_xcoff_flavour &&\n               ((link_info.output_bfd)->xvec->flavour == bfd_target_xcoff_flavour))" ( (binary_expression "pbVar5->xvec->flavour == bfd_target_xcoff_flavour &&\n               ((link_info.output_bfd)->xvec->flavour == bfd_target_xcoff_flavour)" (binary_expression "pbVar5->xvec->flavour == bfd_target_xcoff_flavour" (field_expression "pbVar5->xvec->flavour" (field_expression "pbVar5->xvec" identifier -> field_identifier) -> field_identifier) == identifier) && (parenthesized_expression "((link_info.output_bfd)->xvec->flavour == bfd_target_xcoff_flavour)" ( (binary_expression "(link_info.output_bfd)->xvec->flavour == bfd_target_xcoff_flavour" (field_expression "(link_info.output_bfd)->xvec->flavour" (field_expression "(link_info.output_bfd)->xvec" (parenthesized_expression "(link_info.output_bfd)" ( (field_expression "link_info.output_bfd" identifier . field_identifier) )) -> field_identifier) -> field_identifier) == identifier) ))) )) && (parenthesized_expression "(iVar8 = bfd_check_format(entry->the_bfd,2), iVar8 != 0)" ( (comma_expression "iVar8 = bfd_check_format(entry->the_bfd,2), iVar8 != 0" (assignment_expression "iVar8 = bfd_check_format(entry->the_bfd,2)" identifier = (call_expression "bfd_check_format(entry->the_bfd,2)" identifier (argument_list "(entry->the_bfd,2)" ( (field_expression "entry->the_bfd" identifier -> field_identifier) , number_literal )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) ))) )) ))) )) (goto_statement "goto LAB_000331ca;" goto statement_identifier ;)) (if_statement "if (command_line.warn_search_mismatch != 0) {\n            pcVar6 = entry->local_sym_name;\n            pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            einfo(pcVar9,attempt,pcVar6);\n          }" if (parenthesized_expression "(command_line.warn_search_mismatch != 0)" ( (binary_expression "command_line.warn_search_mismatch != 0" (field_expression "command_line.warn_search_mismatch" identifier . field_identifier) != number_literal) )) (compound_statement "{\n            pcVar6 = entry->local_sym_name;\n            pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            einfo(pcVar9,attempt,pcVar6);\n          }" { (expression_statement "pcVar6 = entry->local_sym_name;" (assignment_expression "pcVar6 = entry->local_sym_name" identifier = (field_expression "entry->local_sym_name" identifier -> field_identifier)) ;) (expression_statement "pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);" (assignment_expression "pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5)" identifier (argument_list "(0,"%P: skipping incompatible %s when searching for %s\n",5)" ( number_literal , (string_literal ""%P: skipping incompatible %s when searching for %s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "einfo(pcVar9,attempt,pcVar6);" (call_expression "einfo(pcVar9,attempt,pcVar6)" identifier (argument_list "(pcVar9,attempt,pcVar6)" ( identifier , identifier , identifier ))) ;) })) }))) (expression_statement "bfd_close(entry->the_bfd);" (call_expression "bfd_close(entry->the_bfd)" identifier (argument_list "(entry->the_bfd)" ( (field_expression "entry->the_bfd" identifier -> field_identifier) ))) ;) (expression_statement "entry->the_bfd = (bfd *)0x0;" (assignment_expression "entry->the_bfd = (bfd *)0x0" (field_expression "entry->the_bfd" identifier -> field_identifier) = (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (((entry->the_bfd == pbVar5) && (((ulonglong)entry->flags & 4) != 0)) &&\n         ((iVar8 = bfd_get_error(), iVar8 == 0xc &&\n          (bVar7 = ldemul_unrecognized_file(entry), bVar7 == 0)))) {\n        ldfile_open_command_file_1(attempt,0);\n        ldfile_assumed_script = 1;\n        parser_input = input_selected;\n        ldlex_both();\n        iVar8 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar8 < 0x105) {\n            if (iVar8 < 0x103) {\n              if ((iVar8 != 0x102) || (local_24 = yylval._8_4_, yylval.bigint.str == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(yylval.fill);\n            }\nLAB_000332b8:\n            iVar8 = yylex();\n          }\n          else {\n            if (iVar8 != 300) {\n              if ((299 < iVar8) && (iVar8 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar8 = yylex();\n            if ((iVar8 == 0x28) && (iVar8 = yylex(), __s1 = yylval.fill, iVar8 == 0x103)) {\n              iVar8 = yylex();\n              uVar10 = __s1;\n              if (iVar8 != 0x2c) {\n                if (iVar8 != 0x29) {\n                  free(__s1);\n                  goto LAB_000332b8;\n                }\n                if (command_line.endian == ENDIAN_BIG) {\n                  local_24 = (fill_type *)0x0;\nLAB_000336a0:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (command_line.endian == ENDIAN_LITTLE) {\n                    local_2c = (fill_type *)0x0;\nLAB_00033646:\n                    local_24 = (fill_type *)0x0;\n                    uVar10 = __s1;\n                  }\n                  else {\n                    local_24 = (fill_type *)0x0;\n                    local_2c = (fill_type *)0x0;\n                  }\nLAB_00033337:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(uVar10,pcVar6);\n                  bVar4 = true;\n                  if (iVar8 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(__s1);\n                  if (local_2c != (fill_type *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (fill_type *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar8 = yylex();\n              __s1_00 = yylval.fill;\n              if (iVar8 == 0x103) {\n                local_2c = yylval.fill;\n                iVar8 = yylex();\n                if ((iVar8 == 0x2c) && (iVar8 = yylex(), uVar3 = yylval.fill, iVar8 == 0x103)) {\n                  local_24 = yylval.fill;\n                  iVar8 = yylex();\n                  bVar4 = bVar2;\n                  if (iVar8 != 0x29) goto LAB_00033360;\n                  if (command_line.endian != ENDIAN_BIG) {\n                    if ((command_line.endian == ENDIAN_LITTLE) &&\n                       (uVar10 = uVar3, uVar3 == (fill_type *)0x0)) goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (__s1_00 == (fill_type *)0x0) goto LAB_000336a0;\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1_00,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(__s1);\n                free(__s1_00);\n              }\n              else {\n                free(__s1);\n              }\n            }\n          }\n        } while (iVar8 != 0);\n        ldlex_popstate();\n        ldfile_assumed_script = 0;\n        fclose((FILE *)yyin);\n        yyin = (FILE *)0x0;\n        if (bVar2) {\n          if (command_line.warn_search_mismatch != 0) {\n            pcVar6 = entry->local_sym_name;\n            pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                                       command_line.warn_search_mismatch);\n            einfo(pcVar9,attempt,pcVar6);\n          }\n          bfd_close(entry->the_bfd);\n          entry->the_bfd = (bfd *)0x0;\n          return 0;\n        }\n      }" if (parenthesized_expression "(((entry->the_bfd == pbVar5) && (((ulonglong)entry->flags & 4) != 0)) &&\n         ((iVar8 = bfd_get_error(), iVar8 == 0xc &&\n          (bVar7 = ldemul_unrecognized_file(entry), bVar7 == 0))))" ( (binary_expression "((entry->the_bfd == pbVar5) && (((ulonglong)entry->flags & 4) != 0)) &&\n         ((iVar8 = bfd_get_error(), iVar8 == 0xc &&\n          (bVar7 = ldemul_unrecognized_file(entry), bVar7 == 0)))" (parenthesized_expression "((entry->the_bfd == pbVar5) && (((ulonglong)entry->flags & 4) != 0))" ( (binary_expression "(entry->the_bfd == pbVar5) && (((ulonglong)entry->flags & 4) != 0)" (parenthesized_expression "(entry->the_bfd == pbVar5)" ( (binary_expression "entry->the_bfd == pbVar5" (field_expression "entry->the_bfd" identifier -> field_identifier) == identifier) )) && (parenthesized_expression "(((ulonglong)entry->flags & 4) != 0)" ( (binary_expression "((ulonglong)entry->flags & 4) != 0" (parenthesized_expression "((ulonglong)entry->flags & 4)" ( (binary_expression "(ulonglong)entry->flags & 4" (cast_expression "(ulonglong)entry->flags" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "entry->flags" identifier -> field_identifier)) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "((iVar8 = bfd_get_error(), iVar8 == 0xc &&\n          (bVar7 = ldemul_unrecognized_file(entry), bVar7 == 0)))" ( (parenthesized_expression "(iVar8 = bfd_get_error(), iVar8 == 0xc &&\n          (bVar7 = ldemul_unrecognized_file(entry), bVar7 == 0))" ( (comma_expression "iVar8 = bfd_get_error(), iVar8 == 0xc &&\n          (bVar7 = ldemul_unrecognized_file(entry), bVar7 == 0)" (assignment_expression "iVar8 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) , (binary_expression "iVar8 == 0xc &&\n          (bVar7 = ldemul_unrecognized_file(entry), bVar7 == 0)" (binary_expression "iVar8 == 0xc" identifier == number_literal) && (parenthesized_expression "(bVar7 = ldemul_unrecognized_file(entry), bVar7 == 0)" ( (comma_expression "bVar7 = ldemul_unrecognized_file(entry), bVar7 == 0" (assignment_expression "bVar7 = ldemul_unrecognized_file(entry)" identifier = (call_expression "ldemul_unrecognized_file(entry)" identifier (argument_list "(entry)" ( identifier )))) , (binary_expression "bVar7 == 0" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n        ldfile_open_command_file_1(attempt,0);\n        ldfile_assumed_script = 1;\n        parser_input = input_selected;\n        ldlex_both();\n        iVar8 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar8 < 0x105) {\n            if (iVar8 < 0x103) {\n              if ((iVar8 != 0x102) || (local_24 = yylval._8_4_, yylval.bigint.str == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(yylval.fill);\n            }\nLAB_000332b8:\n            iVar8 = yylex();\n          }\n          else {\n            if (iVar8 != 300) {\n              if ((299 < iVar8) && (iVar8 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar8 = yylex();\n            if ((iVar8 == 0x28) && (iVar8 = yylex(), __s1 = yylval.fill, iVar8 == 0x103)) {\n              iVar8 = yylex();\n              uVar10 = __s1;\n              if (iVar8 != 0x2c) {\n                if (iVar8 != 0x29) {\n                  free(__s1);\n                  goto LAB_000332b8;\n                }\n                if (command_line.endian == ENDIAN_BIG) {\n                  local_24 = (fill_type *)0x0;\nLAB_000336a0:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (command_line.endian == ENDIAN_LITTLE) {\n                    local_2c = (fill_type *)0x0;\nLAB_00033646:\n                    local_24 = (fill_type *)0x0;\n                    uVar10 = __s1;\n                  }\n                  else {\n                    local_24 = (fill_type *)0x0;\n                    local_2c = (fill_type *)0x0;\n                  }\nLAB_00033337:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(uVar10,pcVar6);\n                  bVar4 = true;\n                  if (iVar8 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(__s1);\n                  if (local_2c != (fill_type *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (fill_type *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar8 = yylex();\n              __s1_00 = yylval.fill;\n              if (iVar8 == 0x103) {\n                local_2c = yylval.fill;\n                iVar8 = yylex();\n                if ((iVar8 == 0x2c) && (iVar8 = yylex(), uVar3 = yylval.fill, iVar8 == 0x103)) {\n                  local_24 = yylval.fill;\n                  iVar8 = yylex();\n                  bVar4 = bVar2;\n                  if (iVar8 != 0x29) goto LAB_00033360;\n                  if (command_line.endian != ENDIAN_BIG) {\n                    if ((command_line.endian == ENDIAN_LITTLE) &&\n                       (uVar10 = uVar3, uVar3 == (fill_type *)0x0)) goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (__s1_00 == (fill_type *)0x0) goto LAB_000336a0;\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1_00,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(__s1);\n                free(__s1_00);\n              }\n              else {\n                free(__s1);\n              }\n            }\n          }\n        } while (iVar8 != 0);\n        ldlex_popstate();\n        ldfile_assumed_script = 0;\n        fclose((FILE *)yyin);\n        yyin = (FILE *)0x0;\n        if (bVar2) {\n          if (command_line.warn_search_mismatch != 0) {\n            pcVar6 = entry->local_sym_name;\n            pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                                       command_line.warn_search_mismatch);\n            einfo(pcVar9,attempt,pcVar6);\n          }\n          bfd_close(entry->the_bfd);\n          entry->the_bfd = (bfd *)0x0;\n          return 0;\n        }\n      }" { (expression_statement "ldfile_open_command_file_1(attempt,0);" (call_expression "ldfile_open_command_file_1(attempt,0)" identifier (argument_list "(attempt,0)" ( identifier , number_literal ))) ;) (expression_statement "ldfile_assumed_script = 1;" (assignment_expression "ldfile_assumed_script = 1" identifier = number_literal) ;) (expression_statement "parser_input = input_selected;" (assignment_expression "parser_input = input_selected" identifier = identifier) ;) (expression_statement "ldlex_both();" (call_expression "ldlex_both()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar8 = 0x16f;" (assignment_expression "iVar8 = 0x16f" identifier = number_literal) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (do_statement "do {\n          if (iVar8 < 0x105) {\n            if (iVar8 < 0x103) {\n              if ((iVar8 != 0x102) || (local_24 = yylval._8_4_, yylval.bigint.str == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(yylval.fill);\n            }\nLAB_000332b8:\n            iVar8 = yylex();\n          }\n          else {\n            if (iVar8 != 300) {\n              if ((299 < iVar8) && (iVar8 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar8 = yylex();\n            if ((iVar8 == 0x28) && (iVar8 = yylex(), __s1 = yylval.fill, iVar8 == 0x103)) {\n              iVar8 = yylex();\n              uVar10 = __s1;\n              if (iVar8 != 0x2c) {\n                if (iVar8 != 0x29) {\n                  free(__s1);\n                  goto LAB_000332b8;\n                }\n                if (command_line.endian == ENDIAN_BIG) {\n                  local_24 = (fill_type *)0x0;\nLAB_000336a0:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (command_line.endian == ENDIAN_LITTLE) {\n                    local_2c = (fill_type *)0x0;\nLAB_00033646:\n                    local_24 = (fill_type *)0x0;\n                    uVar10 = __s1;\n                  }\n                  else {\n                    local_24 = (fill_type *)0x0;\n                    local_2c = (fill_type *)0x0;\n                  }\nLAB_00033337:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(uVar10,pcVar6);\n                  bVar4 = true;\n                  if (iVar8 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(__s1);\n                  if (local_2c != (fill_type *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (fill_type *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar8 = yylex();\n              __s1_00 = yylval.fill;\n              if (iVar8 == 0x103) {\n                local_2c = yylval.fill;\n                iVar8 = yylex();\n                if ((iVar8 == 0x2c) && (iVar8 = yylex(), uVar3 = yylval.fill, iVar8 == 0x103)) {\n                  local_24 = yylval.fill;\n                  iVar8 = yylex();\n                  bVar4 = bVar2;\n                  if (iVar8 != 0x29) goto LAB_00033360;\n                  if (command_line.endian != ENDIAN_BIG) {\n                    if ((command_line.endian == ENDIAN_LITTLE) &&\n                       (uVar10 = uVar3, uVar3 == (fill_type *)0x0)) goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (__s1_00 == (fill_type *)0x0) goto LAB_000336a0;\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1_00,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(__s1);\n                free(__s1_00);\n              }\n              else {\n                free(__s1);\n              }\n            }\n          }\n        } while (iVar8 != 0);" do (compound_statement "{\n          if (iVar8 < 0x105) {\n            if (iVar8 < 0x103) {\n              if ((iVar8 != 0x102) || (local_24 = yylval._8_4_, yylval.bigint.str == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(yylval.fill);\n            }\nLAB_000332b8:\n            iVar8 = yylex();\n          }\n          else {\n            if (iVar8 != 300) {\n              if ((299 < iVar8) && (iVar8 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar8 = yylex();\n            if ((iVar8 == 0x28) && (iVar8 = yylex(), __s1 = yylval.fill, iVar8 == 0x103)) {\n              iVar8 = yylex();\n              uVar10 = __s1;\n              if (iVar8 != 0x2c) {\n                if (iVar8 != 0x29) {\n                  free(__s1);\n                  goto LAB_000332b8;\n                }\n                if (command_line.endian == ENDIAN_BIG) {\n                  local_24 = (fill_type *)0x0;\nLAB_000336a0:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (command_line.endian == ENDIAN_LITTLE) {\n                    local_2c = (fill_type *)0x0;\nLAB_00033646:\n                    local_24 = (fill_type *)0x0;\n                    uVar10 = __s1;\n                  }\n                  else {\n                    local_24 = (fill_type *)0x0;\n                    local_2c = (fill_type *)0x0;\n                  }\nLAB_00033337:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(uVar10,pcVar6);\n                  bVar4 = true;\n                  if (iVar8 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(__s1);\n                  if (local_2c != (fill_type *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (fill_type *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar8 = yylex();\n              __s1_00 = yylval.fill;\n              if (iVar8 == 0x103) {\n                local_2c = yylval.fill;\n                iVar8 = yylex();\n                if ((iVar8 == 0x2c) && (iVar8 = yylex(), uVar3 = yylval.fill, iVar8 == 0x103)) {\n                  local_24 = yylval.fill;\n                  iVar8 = yylex();\n                  bVar4 = bVar2;\n                  if (iVar8 != 0x29) goto LAB_00033360;\n                  if (command_line.endian != ENDIAN_BIG) {\n                    if ((command_line.endian == ENDIAN_LITTLE) &&\n                       (uVar10 = uVar3, uVar3 == (fill_type *)0x0)) goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (__s1_00 == (fill_type *)0x0) goto LAB_000336a0;\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1_00,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(__s1);\n                free(__s1_00);\n              }\n              else {\n                free(__s1);\n              }\n            }\n          }\n        }" { (if_statement "if (iVar8 < 0x105) {\n            if (iVar8 < 0x103) {\n              if ((iVar8 != 0x102) || (local_24 = yylval._8_4_, yylval.bigint.str == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(yylval.fill);\n            }\nLAB_000332b8:\n            iVar8 = yylex();\n          }\n          else {\n            if (iVar8 != 300) {\n              if ((299 < iVar8) && (iVar8 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar8 = yylex();\n            if ((iVar8 == 0x28) && (iVar8 = yylex(), __s1 = yylval.fill, iVar8 == 0x103)) {\n              iVar8 = yylex();\n              uVar10 = __s1;\n              if (iVar8 != 0x2c) {\n                if (iVar8 != 0x29) {\n                  free(__s1);\n                  goto LAB_000332b8;\n                }\n                if (command_line.endian == ENDIAN_BIG) {\n                  local_24 = (fill_type *)0x0;\nLAB_000336a0:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (command_line.endian == ENDIAN_LITTLE) {\n                    local_2c = (fill_type *)0x0;\nLAB_00033646:\n                    local_24 = (fill_type *)0x0;\n                    uVar10 = __s1;\n                  }\n                  else {\n                    local_24 = (fill_type *)0x0;\n                    local_2c = (fill_type *)0x0;\n                  }\nLAB_00033337:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(uVar10,pcVar6);\n                  bVar4 = true;\n                  if (iVar8 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(__s1);\n                  if (local_2c != (fill_type *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (fill_type *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar8 = yylex();\n              __s1_00 = yylval.fill;\n              if (iVar8 == 0x103) {\n                local_2c = yylval.fill;\n                iVar8 = yylex();\n                if ((iVar8 == 0x2c) && (iVar8 = yylex(), uVar3 = yylval.fill, iVar8 == 0x103)) {\n                  local_24 = yylval.fill;\n                  iVar8 = yylex();\n                  bVar4 = bVar2;\n                  if (iVar8 != 0x29) goto LAB_00033360;\n                  if (command_line.endian != ENDIAN_BIG) {\n                    if ((command_line.endian == ENDIAN_LITTLE) &&\n                       (uVar10 = uVar3, uVar3 == (fill_type *)0x0)) goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (__s1_00 == (fill_type *)0x0) goto LAB_000336a0;\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1_00,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(__s1);\n                free(__s1_00);\n              }\n              else {\n                free(__s1);\n              }\n            }\n          }" if (parenthesized_expression "(iVar8 < 0x105)" ( (binary_expression "iVar8 < 0x105" identifier < number_literal) )) (compound_statement "{\n            if (iVar8 < 0x103) {\n              if ((iVar8 != 0x102) || (local_24 = yylval._8_4_, yylval.bigint.str == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(yylval.fill);\n            }\nLAB_000332b8:\n            iVar8 = yylex();\n          }" { (if_statement "if (iVar8 < 0x103) {\n              if ((iVar8 != 0x102) || (local_24 = yylval._8_4_, yylval.bigint.str == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(yylval.fill);\n            }" if (parenthesized_expression "(iVar8 < 0x103)" ( (binary_expression "iVar8 < 0x103" identifier < number_literal) )) (compound_statement "{\n              if ((iVar8 != 0x102) || (local_24 = yylval._8_4_, yylval.bigint.str == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }" { (if_statement "if ((iVar8 != 0x102) || (local_24 = yylval._8_4_, yylval.bigint.str == (char *)0x0))\n              goto LAB_000332b8;" if (parenthesized_expression "((iVar8 != 0x102) || (local_24 = yylval._8_4_, yylval.bigint.str == (char *)0x0))" ( (binary_expression "(iVar8 != 0x102) || (local_24 = yylval._8_4_, yylval.bigint.str == (char *)0x0)" (parenthesized_expression "(iVar8 != 0x102)" ( (binary_expression "iVar8 != 0x102" identifier != number_literal) )) || (parenthesized_expression "(local_24 = yylval._8_4_, yylval.bigint.str == (char *)0x0)" ( (comma_expression "local_24 = yylval._8_4_, yylval.bigint.str == (char *)0x0" (assignment_expression "local_24 = yylval._8_4_" identifier = (field_expression "yylval._8_4_" identifier . field_identifier)) , (binary_expression "yylval.bigint.str == (char *)0x0" (field_expression "yylval.bigint.str" (field_expression "yylval.bigint" identifier . field_identifier) . field_identifier) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_000332b8;" goto statement_identifier ;)) (labeled_statement "LAB_000332a7:\n              free(local_24);" statement_identifier : (expression_statement "free(local_24);" (call_expression "free(local_24)" identifier (argument_list "(local_24)" ( identifier ))) ;)) }) (else_clause "else {\nLAB_0003351c:\n              free(yylval.fill);\n            }" else (compound_statement "{\nLAB_0003351c:\n              free(yylval.fill);\n            }" { (labeled_statement "LAB_0003351c:\n              free(yylval.fill);" statement_identifier : (expression_statement "free(yylval.fill);" (call_expression "free(yylval.fill)" identifier (argument_list "(yylval.fill)" ( (field_expression "yylval.fill" identifier . field_identifier) ))) ;)) }))) (labeled_statement "LAB_000332b8:\n            iVar8 = yylex();" statement_identifier : (expression_statement "iVar8 = yylex();" (assignment_expression "iVar8 = yylex()" identifier = (call_expression "yylex()" identifier (argument_list "()" ( )))) ;)) }) (else_clause "else {\n            if (iVar8 != 300) {\n              if ((299 < iVar8) && (iVar8 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar8 = yylex();\n            if ((iVar8 == 0x28) && (iVar8 = yylex(), __s1 = yylval.fill, iVar8 == 0x103)) {\n              iVar8 = yylex();\n              uVar10 = __s1;\n              if (iVar8 != 0x2c) {\n                if (iVar8 != 0x29) {\n                  free(__s1);\n                  goto LAB_000332b8;\n                }\n                if (command_line.endian == ENDIAN_BIG) {\n                  local_24 = (fill_type *)0x0;\nLAB_000336a0:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (command_line.endian == ENDIAN_LITTLE) {\n                    local_2c = (fill_type *)0x0;\nLAB_00033646:\n                    local_24 = (fill_type *)0x0;\n                    uVar10 = __s1;\n                  }\n                  else {\n                    local_24 = (fill_type *)0x0;\n                    local_2c = (fill_type *)0x0;\n                  }\nLAB_00033337:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(uVar10,pcVar6);\n                  bVar4 = true;\n                  if (iVar8 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(__s1);\n                  if (local_2c != (fill_type *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (fill_type *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar8 = yylex();\n              __s1_00 = yylval.fill;\n              if (iVar8 == 0x103) {\n                local_2c = yylval.fill;\n                iVar8 = yylex();\n                if ((iVar8 == 0x2c) && (iVar8 = yylex(), uVar3 = yylval.fill, iVar8 == 0x103)) {\n                  local_24 = yylval.fill;\n                  iVar8 = yylex();\n                  bVar4 = bVar2;\n                  if (iVar8 != 0x29) goto LAB_00033360;\n                  if (command_line.endian != ENDIAN_BIG) {\n                    if ((command_line.endian == ENDIAN_LITTLE) &&\n                       (uVar10 = uVar3, uVar3 == (fill_type *)0x0)) goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (__s1_00 == (fill_type *)0x0) goto LAB_000336a0;\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1_00,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(__s1);\n                free(__s1_00);\n              }\n              else {\n                free(__s1);\n              }\n            }\n          }" else (compound_statement "{\n            if (iVar8 != 300) {\n              if ((299 < iVar8) && (iVar8 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar8 = yylex();\n            if ((iVar8 == 0x28) && (iVar8 = yylex(), __s1 = yylval.fill, iVar8 == 0x103)) {\n              iVar8 = yylex();\n              uVar10 = __s1;\n              if (iVar8 != 0x2c) {\n                if (iVar8 != 0x29) {\n                  free(__s1);\n                  goto LAB_000332b8;\n                }\n                if (command_line.endian == ENDIAN_BIG) {\n                  local_24 = (fill_type *)0x0;\nLAB_000336a0:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (command_line.endian == ENDIAN_LITTLE) {\n                    local_2c = (fill_type *)0x0;\nLAB_00033646:\n                    local_24 = (fill_type *)0x0;\n                    uVar10 = __s1;\n                  }\n                  else {\n                    local_24 = (fill_type *)0x0;\n                    local_2c = (fill_type *)0x0;\n                  }\nLAB_00033337:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(uVar10,pcVar6);\n                  bVar4 = true;\n                  if (iVar8 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(__s1);\n                  if (local_2c != (fill_type *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (fill_type *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar8 = yylex();\n              __s1_00 = yylval.fill;\n              if (iVar8 == 0x103) {\n                local_2c = yylval.fill;\n                iVar8 = yylex();\n                if ((iVar8 == 0x2c) && (iVar8 = yylex(), uVar3 = yylval.fill, iVar8 == 0x103)) {\n                  local_24 = yylval.fill;\n                  iVar8 = yylex();\n                  bVar4 = bVar2;\n                  if (iVar8 != 0x29) goto LAB_00033360;\n                  if (command_line.endian != ENDIAN_BIG) {\n                    if ((command_line.endian == ENDIAN_LITTLE) &&\n                       (uVar10 = uVar3, uVar3 == (fill_type *)0x0)) goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (__s1_00 == (fill_type *)0x0) goto LAB_000336a0;\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1_00,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(__s1);\n                free(__s1_00);\n              }\n              else {\n                free(__s1);\n              }\n            }\n          }" { (if_statement "if (iVar8 != 300) {\n              if ((299 < iVar8) && (iVar8 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }" if (parenthesized_expression "(iVar8 != 300)" ( (binary_expression "iVar8 != 300" identifier != number_literal) )) (compound_statement "{\n              if ((299 < iVar8) && (iVar8 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }" { (if_statement "if ((299 < iVar8) && (iVar8 - 0x175U < 2)) goto LAB_0003351c;" if (parenthesized_expression "((299 < iVar8) && (iVar8 - 0x175U < 2))" ( (binary_expression "(299 < iVar8) && (iVar8 - 0x175U < 2)" (parenthesized_expression "(299 < iVar8)" ( (binary_expression "299 < iVar8" number_literal < identifier) )) && (parenthesized_expression "(iVar8 - 0x175U < 2)" ( (binary_expression "iVar8 - 0x175U < 2" (binary_expression "iVar8 - 0x175U" identifier - number_literal) < number_literal) ))) )) (goto_statement "goto LAB_0003351c;" goto statement_identifier ;)) (goto_statement "goto LAB_000332b8;" goto statement_identifier ;) })) (expression_statement "iVar8 = yylex();" (assignment_expression "iVar8 = yylex()" identifier = (call_expression "yylex()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar8 == 0x28) && (iVar8 = yylex(), __s1 = yylval.fill, iVar8 == 0x103)) {\n              iVar8 = yylex();\n              uVar10 = __s1;\n              if (iVar8 != 0x2c) {\n                if (iVar8 != 0x29) {\n                  free(__s1);\n                  goto LAB_000332b8;\n                }\n                if (command_line.endian == ENDIAN_BIG) {\n                  local_24 = (fill_type *)0x0;\nLAB_000336a0:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (command_line.endian == ENDIAN_LITTLE) {\n                    local_2c = (fill_type *)0x0;\nLAB_00033646:\n                    local_24 = (fill_type *)0x0;\n                    uVar10 = __s1;\n                  }\n                  else {\n                    local_24 = (fill_type *)0x0;\n                    local_2c = (fill_type *)0x0;\n                  }\nLAB_00033337:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(uVar10,pcVar6);\n                  bVar4 = true;\n                  if (iVar8 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(__s1);\n                  if (local_2c != (fill_type *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (fill_type *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar8 = yylex();\n              __s1_00 = yylval.fill;\n              if (iVar8 == 0x103) {\n                local_2c = yylval.fill;\n                iVar8 = yylex();\n                if ((iVar8 == 0x2c) && (iVar8 = yylex(), uVar3 = yylval.fill, iVar8 == 0x103)) {\n                  local_24 = yylval.fill;\n                  iVar8 = yylex();\n                  bVar4 = bVar2;\n                  if (iVar8 != 0x29) goto LAB_00033360;\n                  if (command_line.endian != ENDIAN_BIG) {\n                    if ((command_line.endian == ENDIAN_LITTLE) &&\n                       (uVar10 = uVar3, uVar3 == (fill_type *)0x0)) goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (__s1_00 == (fill_type *)0x0) goto LAB_000336a0;\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1_00,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(__s1);\n                free(__s1_00);\n              }\n              else {\n                free(__s1);\n              }\n            }" if (parenthesized_expression "((iVar8 == 0x28) && (iVar8 = yylex(), __s1 = yylval.fill, iVar8 == 0x103))" ( (binary_expression "(iVar8 == 0x28) && (iVar8 = yylex(), __s1 = yylval.fill, iVar8 == 0x103)" (parenthesized_expression "(iVar8 == 0x28)" ( (binary_expression "iVar8 == 0x28" identifier == number_literal) )) && (parenthesized_expression "(iVar8 = yylex(), __s1 = yylval.fill, iVar8 == 0x103)" ( (comma_expression "iVar8 = yylex(), __s1 = yylval.fill, iVar8 == 0x103" (assignment_expression "iVar8 = yylex()" identifier = (call_expression "yylex()" identifier (argument_list "()" ( )))) , (comma_expression "__s1 = yylval.fill, iVar8 == 0x103" (assignment_expression "__s1 = yylval.fill" identifier = (field_expression "yylval.fill" identifier . field_identifier)) , (binary_expression "iVar8 == 0x103" identifier == number_literal))) ))) )) (compound_statement "{\n              iVar8 = yylex();\n              uVar10 = __s1;\n              if (iVar8 != 0x2c) {\n                if (iVar8 != 0x29) {\n                  free(__s1);\n                  goto LAB_000332b8;\n                }\n                if (command_line.endian == ENDIAN_BIG) {\n                  local_24 = (fill_type *)0x0;\nLAB_000336a0:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (command_line.endian == ENDIAN_LITTLE) {\n                    local_2c = (fill_type *)0x0;\nLAB_00033646:\n                    local_24 = (fill_type *)0x0;\n                    uVar10 = __s1;\n                  }\n                  else {\n                    local_24 = (fill_type *)0x0;\n                    local_2c = (fill_type *)0x0;\n                  }\nLAB_00033337:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(uVar10,pcVar6);\n                  bVar4 = true;\n                  if (iVar8 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(__s1);\n                  if (local_2c != (fill_type *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (fill_type *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar8 = yylex();\n              __s1_00 = yylval.fill;\n              if (iVar8 == 0x103) {\n                local_2c = yylval.fill;\n                iVar8 = yylex();\n                if ((iVar8 == 0x2c) && (iVar8 = yylex(), uVar3 = yylval.fill, iVar8 == 0x103)) {\n                  local_24 = yylval.fill;\n                  iVar8 = yylex();\n                  bVar4 = bVar2;\n                  if (iVar8 != 0x29) goto LAB_00033360;\n                  if (command_line.endian != ENDIAN_BIG) {\n                    if ((command_line.endian == ENDIAN_LITTLE) &&\n                       (uVar10 = uVar3, uVar3 == (fill_type *)0x0)) goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (__s1_00 == (fill_type *)0x0) goto LAB_000336a0;\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1_00,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(__s1);\n                free(__s1_00);\n              }\n              else {\n                free(__s1);\n              }\n            }" { (expression_statement "iVar8 = yylex();" (assignment_expression "iVar8 = yylex()" identifier = (call_expression "yylex()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar10 = __s1;" (assignment_expression "uVar10 = __s1" identifier = identifier) ;) (if_statement "if (iVar8 != 0x2c) {\n                if (iVar8 != 0x29) {\n                  free(__s1);\n                  goto LAB_000332b8;\n                }\n                if (command_line.endian == ENDIAN_BIG) {\n                  local_24 = (fill_type *)0x0;\nLAB_000336a0:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (command_line.endian == ENDIAN_LITTLE) {\n                    local_2c = (fill_type *)0x0;\nLAB_00033646:\n                    local_24 = (fill_type *)0x0;\n                    uVar10 = __s1;\n                  }\n                  else {\n                    local_24 = (fill_type *)0x0;\n                    local_2c = (fill_type *)0x0;\n                  }\nLAB_00033337:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(uVar10,pcVar6);\n                  bVar4 = true;\n                  if (iVar8 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(__s1);\n                  if (local_2c != (fill_type *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (fill_type *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }" if (parenthesized_expression "(iVar8 != 0x2c)" ( (binary_expression "iVar8 != 0x2c" identifier != number_literal) )) (compound_statement "{\n                if (iVar8 != 0x29) {\n                  free(__s1);\n                  goto LAB_000332b8;\n                }\n                if (command_line.endian == ENDIAN_BIG) {\n                  local_24 = (fill_type *)0x0;\nLAB_000336a0:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (command_line.endian == ENDIAN_LITTLE) {\n                    local_2c = (fill_type *)0x0;\nLAB_00033646:\n                    local_24 = (fill_type *)0x0;\n                    uVar10 = __s1;\n                  }\n                  else {\n                    local_24 = (fill_type *)0x0;\n                    local_2c = (fill_type *)0x0;\n                  }\nLAB_00033337:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(uVar10,pcVar6);\n                  bVar4 = true;\n                  if (iVar8 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(__s1);\n                  if (local_2c != (fill_type *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (fill_type *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }" { (if_statement "if (iVar8 != 0x29) {\n                  free(__s1);\n                  goto LAB_000332b8;\n                }" if (parenthesized_expression "(iVar8 != 0x29)" ( (binary_expression "iVar8 != 0x29" identifier != number_literal) )) (compound_statement "{\n                  free(__s1);\n                  goto LAB_000332b8;\n                }" { (expression_statement "free(__s1);" (call_expression "free(__s1)" identifier (argument_list "(__s1)" ( identifier ))) ;) (goto_statement "goto LAB_000332b8;" goto statement_identifier ;) })) (if_statement "if (command_line.endian == ENDIAN_BIG) {\n                  local_24 = (fill_type *)0x0;\nLAB_000336a0:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (command_line.endian == ENDIAN_LITTLE) {\n                    local_2c = (fill_type *)0x0;\nLAB_00033646:\n                    local_24 = (fill_type *)0x0;\n                    uVar10 = __s1;\n                  }\n                  else {\n                    local_24 = (fill_type *)0x0;\n                    local_2c = (fill_type *)0x0;\n                  }\nLAB_00033337:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(uVar10,pcVar6);\n                  bVar4 = true;\n                  if (iVar8 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(__s1);\n                  if (local_2c != (fill_type *)0x0) goto LAB_00033373;\n                }" if (parenthesized_expression "(command_line.endian == ENDIAN_BIG)" ( (binary_expression "command_line.endian == ENDIAN_BIG" (field_expression "command_line.endian" identifier . field_identifier) == identifier) )) (compound_statement "{\n                  local_24 = (fill_type *)0x0;\nLAB_000336a0:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\n                }" { (expression_statement "local_24 = (fill_type *)0x0;" (assignment_expression "local_24 = (fill_type *)0x0" identifier = (cast_expression "(fill_type *)0x0" ( (type_descriptor "fill_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_000336a0:\n                  pcVar6 = lang_get_output_target();" statement_identifier : (expression_statement "pcVar6 = lang_get_output_target();" (assignment_expression "pcVar6 = lang_get_output_target()" identifier = (call_expression "lang_get_output_target()" identifier (argument_list "()" ( )))) ;)) (expression_statement "iVar8 = strcmp(__s1,pcVar6);" (assignment_expression "iVar8 = strcmp(__s1,pcVar6)" identifier = (call_expression "strcmp(__s1,pcVar6)" identifier (argument_list "(__s1,pcVar6)" ( identifier , identifier )))) ;) (if_statement "if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n                    free(__s1);\n                  }" { (expression_statement "free(__s1);" (call_expression "free(__s1)" identifier (argument_list "(__s1)" ( identifier ))) ;) }) (else_clause "else {\n                    free(__s1);\n                    bVar2 = true;\n                  }" else (compound_statement "{\n                    free(__s1);\n                    bVar2 = true;\n                  }" { (expression_statement "free(__s1);" (call_expression "free(__s1)" identifier (argument_list "(__s1)" ( identifier ))) ;) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) }))) }) (else_clause "else {\n                  if (command_line.endian == ENDIAN_LITTLE) {\n                    local_2c = (fill_type *)0x0;\nLAB_00033646:\n                    local_24 = (fill_type *)0x0;\n                    uVar10 = __s1;\n                  }\n                  else {\n                    local_24 = (fill_type *)0x0;\n                    local_2c = (fill_type *)0x0;\n                  }\nLAB_00033337:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(uVar10,pcVar6);\n                  bVar4 = true;\n                  if (iVar8 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(__s1);\n                  if (local_2c != (fill_type *)0x0) goto LAB_00033373;\n                }" else (compound_statement "{\n                  if (command_line.endian == ENDIAN_LITTLE) {\n                    local_2c = (fill_type *)0x0;\nLAB_00033646:\n                    local_24 = (fill_type *)0x0;\n                    uVar10 = __s1;\n                  }\n                  else {\n                    local_24 = (fill_type *)0x0;\n                    local_2c = (fill_type *)0x0;\n                  }\nLAB_00033337:\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(uVar10,pcVar6);\n                  bVar4 = true;\n                  if (iVar8 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(__s1);\n                  if (local_2c != (fill_type *)0x0) goto LAB_00033373;\n                }" { (if_statement "if (command_line.endian == ENDIAN_LITTLE) {\n                    local_2c = (fill_type *)0x0;\nLAB_00033646:\n                    local_24 = (fill_type *)0x0;\n                    uVar10 = __s1;\n                  }\n                  else {\n                    local_24 = (fill_type *)0x0;\n                    local_2c = (fill_type *)0x0;\n                  }" if (parenthesized_expression "(command_line.endian == ENDIAN_LITTLE)" ( (binary_expression "command_line.endian == ENDIAN_LITTLE" (field_expression "command_line.endian" identifier . field_identifier) == identifier) )) (compound_statement "{\n                    local_2c = (fill_type *)0x0;\nLAB_00033646:\n                    local_24 = (fill_type *)0x0;\n                    uVar10 = __s1;\n                  }" { (expression_statement "local_2c = (fill_type *)0x0;" (assignment_expression "local_2c = (fill_type *)0x0" identifier = (cast_expression "(fill_type *)0x0" ( (type_descriptor "fill_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00033646:\n                    local_24 = (fill_type *)0x0;" statement_identifier : (expression_statement "local_24 = (fill_type *)0x0;" (assignment_expression "local_24 = (fill_type *)0x0" identifier = (cast_expression "(fill_type *)0x0" ( (type_descriptor "fill_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "uVar10 = __s1;" (assignment_expression "uVar10 = __s1" identifier = identifier) ;) }) (else_clause "else {\n                    local_24 = (fill_type *)0x0;\n                    local_2c = (fill_type *)0x0;\n                  }" else (compound_statement "{\n                    local_24 = (fill_type *)0x0;\n                    local_2c = (fill_type *)0x0;\n                  }" { (expression_statement "local_24 = (fill_type *)0x0;" (assignment_expression "local_24 = (fill_type *)0x0" identifier = (cast_expression "(fill_type *)0x0" ( (type_descriptor "fill_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_2c = (fill_type *)0x0;" (assignment_expression "local_2c = (fill_type *)0x0" identifier = (cast_expression "(fill_type *)0x0" ( (type_descriptor "fill_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (labeled_statement "LAB_00033337:\n                  pcVar6 = lang_get_output_target();" statement_identifier : (expression_statement "pcVar6 = lang_get_output_target();" (assignment_expression "pcVar6 = lang_get_output_target()" identifier = (call_expression "lang_get_output_target()" identifier (argument_list "()" ( )))) ;)) (expression_statement "iVar8 = strcmp(uVar10,pcVar6);" (assignment_expression "iVar8 = strcmp(uVar10,pcVar6)" identifier = (call_expression "strcmp(uVar10,pcVar6)" identifier (argument_list "(uVar10,pcVar6)" ( identifier , identifier )))) ;) (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) (if_statement "if (iVar8 == 0) {\n                    bVar4 = bVar2;\n                  }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n                    bVar4 = bVar2;\n                  }" { (expression_statement "bVar4 = bVar2;" (assignment_expression "bVar4 = bVar2" identifier = identifier) ;) })) (labeled_statement "LAB_00033360:\n                  bVar2 = bVar4;" statement_identifier : (expression_statement "bVar2 = bVar4;" (assignment_expression "bVar2 = bVar4" identifier = identifier) ;)) (expression_statement "free(__s1);" (call_expression "free(__s1)" identifier (argument_list "(__s1)" ( identifier ))) ;) (if_statement "if (local_2c != (fill_type *)0x0) goto LAB_00033373;" if (parenthesized_expression "(local_2c != (fill_type *)0x0)" ( (binary_expression "local_2c != (fill_type *)0x0" identifier != (cast_expression "(fill_type *)0x0" ( (type_descriptor "fill_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00033373;" goto statement_identifier ;)) }))) (labeled_statement "LAB_00033382:\n                if (local_24 != (fill_type *)0x0) goto LAB_000332a7;" statement_identifier : (if_statement "if (local_24 != (fill_type *)0x0) goto LAB_000332a7;" if (parenthesized_expression "(local_24 != (fill_type *)0x0)" ( (binary_expression "local_24 != (fill_type *)0x0" identifier != (cast_expression "(fill_type *)0x0" ( (type_descriptor "fill_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000332a7;" goto statement_identifier ;))) (goto_statement "goto LAB_000332b8;" goto statement_identifier ;) })) (expression_statement "iVar8 = yylex();" (assignment_expression "iVar8 = yylex()" identifier = (call_expression "yylex()" identifier (argument_list "()" ( )))) ;) (expression_statement "__s1_00 = yylval.fill;" (assignment_expression "__s1_00 = yylval.fill" identifier = (field_expression "yylval.fill" identifier . field_identifier)) ;) (if_statement "if (iVar8 == 0x103) {\n                local_2c = yylval.fill;\n                iVar8 = yylex();\n                if ((iVar8 == 0x2c) && (iVar8 = yylex(), uVar3 = yylval.fill, iVar8 == 0x103)) {\n                  local_24 = yylval.fill;\n                  iVar8 = yylex();\n                  bVar4 = bVar2;\n                  if (iVar8 != 0x29) goto LAB_00033360;\n                  if (command_line.endian != ENDIAN_BIG) {\n                    if ((command_line.endian == ENDIAN_LITTLE) &&\n                       (uVar10 = uVar3, uVar3 == (fill_type *)0x0)) goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (__s1_00 == (fill_type *)0x0) goto LAB_000336a0;\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1_00,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(__s1);\n                free(__s1_00);\n              }\n              else {\n                free(__s1);\n              }" if (parenthesized_expression "(iVar8 == 0x103)" ( (binary_expression "iVar8 == 0x103" identifier == number_literal) )) (compound_statement "{\n                local_2c = yylval.fill;\n                iVar8 = yylex();\n                if ((iVar8 == 0x2c) && (iVar8 = yylex(), uVar3 = yylval.fill, iVar8 == 0x103)) {\n                  local_24 = yylval.fill;\n                  iVar8 = yylex();\n                  bVar4 = bVar2;\n                  if (iVar8 != 0x29) goto LAB_00033360;\n                  if (command_line.endian != ENDIAN_BIG) {\n                    if ((command_line.endian == ENDIAN_LITTLE) &&\n                       (uVar10 = uVar3, uVar3 == (fill_type *)0x0)) goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (__s1_00 == (fill_type *)0x0) goto LAB_000336a0;\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1_00,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(__s1);\n                free(__s1_00);\n              }" { (expression_statement "local_2c = yylval.fill;" (assignment_expression "local_2c = yylval.fill" identifier = (field_expression "yylval.fill" identifier . field_identifier)) ;) (expression_statement "iVar8 = yylex();" (assignment_expression "iVar8 = yylex()" identifier = (call_expression "yylex()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar8 == 0x2c) && (iVar8 = yylex(), uVar3 = yylval.fill, iVar8 == 0x103)) {\n                  local_24 = yylval.fill;\n                  iVar8 = yylex();\n                  bVar4 = bVar2;\n                  if (iVar8 != 0x29) goto LAB_00033360;\n                  if (command_line.endian != ENDIAN_BIG) {\n                    if ((command_line.endian == ENDIAN_LITTLE) &&\n                       (uVar10 = uVar3, uVar3 == (fill_type *)0x0)) goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (__s1_00 == (fill_type *)0x0) goto LAB_000336a0;\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1_00,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }" if (parenthesized_expression "((iVar8 == 0x2c) && (iVar8 = yylex(), uVar3 = yylval.fill, iVar8 == 0x103))" ( (binary_expression "(iVar8 == 0x2c) && (iVar8 = yylex(), uVar3 = yylval.fill, iVar8 == 0x103)" (parenthesized_expression "(iVar8 == 0x2c)" ( (binary_expression "iVar8 == 0x2c" identifier == number_literal) )) && (parenthesized_expression "(iVar8 = yylex(), uVar3 = yylval.fill, iVar8 == 0x103)" ( (comma_expression "iVar8 = yylex(), uVar3 = yylval.fill, iVar8 == 0x103" (assignment_expression "iVar8 = yylex()" identifier = (call_expression "yylex()" identifier (argument_list "()" ( )))) , (comma_expression "uVar3 = yylval.fill, iVar8 == 0x103" (assignment_expression "uVar3 = yylval.fill" identifier = (field_expression "yylval.fill" identifier . field_identifier)) , (binary_expression "iVar8 == 0x103" identifier == number_literal))) ))) )) (compound_statement "{\n                  local_24 = yylval.fill;\n                  iVar8 = yylex();\n                  bVar4 = bVar2;\n                  if (iVar8 != 0x29) goto LAB_00033360;\n                  if (command_line.endian != ENDIAN_BIG) {\n                    if ((command_line.endian == ENDIAN_LITTLE) &&\n                       (uVar10 = uVar3, uVar3 == (fill_type *)0x0)) goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (__s1_00 == (fill_type *)0x0) goto LAB_000336a0;\n                  pcVar6 = lang_get_output_target();\n                  iVar8 = strcmp(__s1_00,pcVar6);\n                  if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }" { (expression_statement "local_24 = yylval.fill;" (assignment_expression "local_24 = yylval.fill" identifier = (field_expression "yylval.fill" identifier . field_identifier)) ;) (expression_statement "iVar8 = yylex();" (assignment_expression "iVar8 = yylex()" identifier = (call_expression "yylex()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar4 = bVar2;" (assignment_expression "bVar4 = bVar2" identifier = identifier) ;) (if_statement "if (iVar8 != 0x29) goto LAB_00033360;" if (parenthesized_expression "(iVar8 != 0x29)" ( (binary_expression "iVar8 != 0x29" identifier != number_literal) )) (goto_statement "goto LAB_00033360;" goto statement_identifier ;)) (if_statement "if (command_line.endian != ENDIAN_BIG) {\n                    if ((command_line.endian == ENDIAN_LITTLE) &&\n                       (uVar10 = uVar3, uVar3 == (fill_type *)0x0)) goto LAB_00033646;\n                    goto LAB_00033337;\n                  }" if (parenthesized_expression "(command_line.endian != ENDIAN_BIG)" ( (binary_expression "command_line.endian != ENDIAN_BIG" (field_expression "command_line.endian" identifier . field_identifier) != identifier) )) (compound_statement "{\n                    if ((command_line.endian == ENDIAN_LITTLE) &&\n                       (uVar10 = uVar3, uVar3 == (fill_type *)0x0)) goto LAB_00033646;\n                    goto LAB_00033337;\n                  }" { (if_statement "if ((command_line.endian == ENDIAN_LITTLE) &&\n                       (uVar10 = uVar3, uVar3 == (fill_type *)0x0)) goto LAB_00033646;" if (parenthesized_expression "((command_line.endian == ENDIAN_LITTLE) &&\n                       (uVar10 = uVar3, uVar3 == (fill_type *)0x0))" ( (binary_expression "(command_line.endian == ENDIAN_LITTLE) &&\n                       (uVar10 = uVar3, uVar3 == (fill_type *)0x0)" (parenthesized_expression "(command_line.endian == ENDIAN_LITTLE)" ( (binary_expression "command_line.endian == ENDIAN_LITTLE" (field_expression "command_line.endian" identifier . field_identifier) == identifier) )) && (parenthesized_expression "(uVar10 = uVar3, uVar3 == (fill_type *)0x0)" ( (comma_expression "uVar10 = uVar3, uVar3 == (fill_type *)0x0" (assignment_expression "uVar10 = uVar3" identifier = identifier) , (binary_expression "uVar3 == (fill_type *)0x0" identifier == (cast_expression "(fill_type *)0x0" ( (type_descriptor "fill_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_00033646;" goto statement_identifier ;)) (goto_statement "goto LAB_00033337;" goto statement_identifier ;) })) (if_statement "if (__s1_00 == (fill_type *)0x0) goto LAB_000336a0;" if (parenthesized_expression "(__s1_00 == (fill_type *)0x0)" ( (binary_expression "__s1_00 == (fill_type *)0x0" identifier == (cast_expression "(fill_type *)0x0" ( (type_descriptor "fill_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000336a0;" goto statement_identifier ;)) (expression_statement "pcVar6 = lang_get_output_target();" (assignment_expression "pcVar6 = lang_get_output_target()" identifier = (call_expression "lang_get_output_target()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar8 = strcmp(__s1_00,pcVar6);" (assignment_expression "iVar8 = strcmp(__s1_00,pcVar6)" identifier = (call_expression "strcmp(__s1_00,pcVar6)" identifier (argument_list "(__s1_00,pcVar6)" ( identifier , identifier )))) ;) (if_statement "if (iVar8 == 0) {\n                    free(__s1);\n                  }\n                  else {\n                    free(__s1);\n                    bVar2 = true;\n                  }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n                    free(__s1);\n                  }" { (expression_statement "free(__s1);" (call_expression "free(__s1)" identifier (argument_list "(__s1)" ( identifier ))) ;) }) (else_clause "else {\n                    free(__s1);\n                    bVar2 = true;\n                  }" else (compound_statement "{\n                    free(__s1);\n                    bVar2 = true;\n                  }" { (expression_statement "free(__s1);" (call_expression "free(__s1)" identifier (argument_list "(__s1)" ( identifier ))) ;) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) }))) (labeled_statement "LAB_00033373:\n                  free(local_2c);" statement_identifier : (expression_statement "free(local_2c);" (call_expression "free(local_2c)" identifier (argument_list "(local_2c)" ( identifier ))) ;)) (goto_statement "goto LAB_00033382;" goto statement_identifier ;) })) (expression_statement "free(__s1);" (call_expression "free(__s1)" identifier (argument_list "(__s1)" ( identifier ))) ;) (expression_statement "free(__s1_00);" (call_expression "free(__s1_00)" identifier (argument_list "(__s1_00)" ( identifier ))) ;) }) (else_clause "else {\n                free(__s1);\n              }" else (compound_statement "{\n                free(__s1);\n              }" { (expression_statement "free(__s1);" (call_expression "free(__s1)" identifier (argument_list "(__s1)" ( identifier ))) ;) }))) })) }))) }) while (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) ;) (expression_statement "ldlex_popstate();" (call_expression "ldlex_popstate()" identifier (argument_list "()" ( ))) ;) (expression_statement "ldfile_assumed_script = 0;" (assignment_expression "ldfile_assumed_script = 0" identifier = number_literal) ;) (expression_statement "fclose((FILE *)yyin);" (call_expression "fclose((FILE *)yyin)" identifier (argument_list "((FILE *)yyin)" ( (cast_expression "(FILE *)yyin" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "yyin = (FILE *)0x0;" (assignment_expression "yyin = (FILE *)0x0" identifier = (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (bVar2) {\n          if (command_line.warn_search_mismatch != 0) {\n            pcVar6 = entry->local_sym_name;\n            pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                                       command_line.warn_search_mismatch);\n            einfo(pcVar9,attempt,pcVar6);\n          }\n          bfd_close(entry->the_bfd);\n          entry->the_bfd = (bfd *)0x0;\n          return 0;\n        }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n          if (command_line.warn_search_mismatch != 0) {\n            pcVar6 = entry->local_sym_name;\n            pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                                       command_line.warn_search_mismatch);\n            einfo(pcVar9,attempt,pcVar6);\n          }\n          bfd_close(entry->the_bfd);\n          entry->the_bfd = (bfd *)0x0;\n          return 0;\n        }" { (if_statement "if (command_line.warn_search_mismatch != 0) {\n            pcVar6 = entry->local_sym_name;\n            pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                                       command_line.warn_search_mismatch);\n            einfo(pcVar9,attempt,pcVar6);\n          }" if (parenthesized_expression "(command_line.warn_search_mismatch != 0)" ( (binary_expression "command_line.warn_search_mismatch != 0" (field_expression "command_line.warn_search_mismatch" identifier . field_identifier) != number_literal) )) (compound_statement "{\n            pcVar6 = entry->local_sym_name;\n            pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                                       command_line.warn_search_mismatch);\n            einfo(pcVar9,attempt,pcVar6);\n          }" { (expression_statement "pcVar6 = entry->local_sym_name;" (assignment_expression "pcVar6 = entry->local_sym_name" identifier = (field_expression "entry->local_sym_name" identifier -> field_identifier)) ;) (expression_statement "pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                                       command_line.warn_search_mismatch);" (assignment_expression "pcVar9 = (char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                                       command_line.warn_search_mismatch)" identifier = (cast_expression "(char *)dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                                       command_line.warn_search_mismatch)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                                       command_line.warn_search_mismatch)" identifier (argument_list "(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                                       command_line.warn_search_mismatch)" ( number_literal , (string_literal ""%P: skipping incompatible %s when searching for %s\n"" " string_content escape_sequence ") , number_literal , (field_expression "command_line.warn_search_mismatch" identifier . field_identifier) ))))) ;) (expression_statement "einfo(pcVar9,attempt,pcVar6);" (call_expression "einfo(pcVar9,attempt,pcVar6)" identifier (argument_list "(pcVar9,attempt,pcVar6)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "bfd_close(entry->the_bfd);" (call_expression "bfd_close(entry->the_bfd)" identifier (argument_list "(entry->the_bfd)" ( (field_expression "entry->the_bfd" identifier -> field_identifier) ))) ;) (expression_statement "entry->the_bfd = (bfd *)0x0;" (assignment_expression "entry->the_bfd = (bfd *)0x0" (field_expression "entry->the_bfd" identifier -> field_identifier) = (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (return_statement "return 0;" return number_literal ;) })) })) })) })) (labeled_statement "LAB_000331ca:\n  if ((((link_info._1_1_ & 2) != 0) && (no_more_claiming == 0)) &&\n     (iVar8 = bfd_check_format(entry->the_bfd,1), iVar8 != 0)) {\n    plugin_maybe_claim(entry);\n  }" statement_identifier : (if_statement "if ((((link_info._1_1_ & 2) != 0) && (no_more_claiming == 0)) &&\n     (iVar8 = bfd_check_format(entry->the_bfd,1), iVar8 != 0)) {\n    plugin_maybe_claim(entry);\n  }" if (parenthesized_expression "((((link_info._1_1_ & 2) != 0) && (no_more_claiming == 0)) &&\n     (iVar8 = bfd_check_format(entry->the_bfd,1), iVar8 != 0))" ( (binary_expression "(((link_info._1_1_ & 2) != 0) && (no_more_claiming == 0)) &&\n     (iVar8 = bfd_check_format(entry->the_bfd,1), iVar8 != 0)" (parenthesized_expression "(((link_info._1_1_ & 2) != 0) && (no_more_claiming == 0))" ( (binary_expression "((link_info._1_1_ & 2) != 0) && (no_more_claiming == 0)" (parenthesized_expression "((link_info._1_1_ & 2) != 0)" ( (binary_expression "(link_info._1_1_ & 2) != 0" (parenthesized_expression "(link_info._1_1_ & 2)" ( (binary_expression "link_info._1_1_ & 2" (field_expression "link_info._1_1_" identifier . field_identifier) & number_literal) )) != number_literal) )) && (parenthesized_expression "(no_more_claiming == 0)" ( (binary_expression "no_more_claiming == 0" identifier == number_literal) ))) )) && (parenthesized_expression "(iVar8 = bfd_check_format(entry->the_bfd,1), iVar8 != 0)" ( (comma_expression "iVar8 = bfd_check_format(entry->the_bfd,1), iVar8 != 0" (assignment_expression "iVar8 = bfd_check_format(entry->the_bfd,1)" identifier = (call_expression "bfd_check_format(entry->the_bfd,1)" identifier (argument_list "(entry->the_bfd,1)" ( (field_expression "entry->the_bfd" identifier -> field_identifier) , number_literal )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    plugin_maybe_claim(entry);\n  }" { (expression_statement "plugin_maybe_claim(entry);" (call_expression "plugin_maybe_claim(entry)" identifier (argument_list "(entry)" ( identifier ))) ;) }))) (return_statement "return 1;" return number_literal ;) })))
(translation_unit "undefined4 FUN_00033130(undefined4 param_1,int param_2)\n\n{\n  byte bVar1;\n  bool bVar2;\n  char *pcVar3;\n  bool bVar4;\n  int iVar5;\n  char *pcVar6;\n  undefined4 uVar7;\n  int iVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  char *pcVar11;\n  char *local_2c;\n  char *local_24;\n  \n  iVar5 = bfd_openr(param_1,*(undefined4 *)(param_2 + 0x20));\n  *(int *)(param_2 + 0x10) = iVar5;\n  if (DAT_00084d3c != 0) {\n    if (iVar5 == 0) {\n      pcVar6 = "attempt to open %s failed\n";\n    }\n    else {\n      pcVar6 = "attempt to open %s succeeded\n";\n    }\n    uVar7 = dcgettext(0,pcVar6,5);\n    FUN_00032b00(uVar7,param_1);\n    iVar5 = *(int *)(param_2 + 0x10);\n  }\n  if (iVar5 == 0) {\n    iVar5 = bfd_get_error();\n    if (iVar5 != 2) {\n      return 0;\n    }\n    uVar7 = *(undefined4 *)(param_2 + 0x20);\n    uVar10 = dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5);\n    FUN_00032b30(uVar10,uVar7);\n    return 0;\n  }\n  bVar1 = *(byte *)(iVar5 + 0x2c);\n  *(uint *)(iVar5 + 0x28) = *(uint *)(iVar5 + 0x28) | 0x100000;\n  *(byte *)(iVar5 + 0x2c) = bVar1 | 8;\n  if (*(char *)(param_2 + 0x25) < '\0') {\n    *(byte *)(iVar5 + 0x2c) = bVar1 | 0x48;\n  }\n  if ((*(byte *)(param_2 + 0x24) & 0x24) != 0x20) {\n    iVar5 = bfd_check_format(iVar5,2);\n    if (iVar5 == 0) {\n      iVar5 = *(int *)(param_2 + 0x10);\n    }\n    else {\n      iVar5 = bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0);\n    }\n    if (iVar5 != 0) {\n      iVar8 = bfd_check_format(iVar5,1);\n      if (iVar8 != 0) {\n        if (((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)) {\n          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          FUN_00032b30(uVar7,param_1);\n        }\n        else {\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }\n        bfd_close(*(undefined4 *)(param_2 + 0x10));\n        *(undefined4 *)(param_2 + 0x10) = 0;\n        return 0;\n      }\n      if (((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)) &&\n         ((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)))) {\n        FUN_00032eb0();\n        DAT_0008491c = 1;\n        DAT_00084b48 = 0;\n        FUN_0001b0a0();\n        iVar5 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }\n        } while (iVar5 != 0);\n        FUN_0001b0d0();\n        DAT_0008491c = 0;\n        fclose(DAT_000845ac);\n        DAT_000845ac = (FILE *)0x0;\n        if (bVar2) {\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n          bfd_close(*(undefined4 *)(param_2 + 0x10));\n          *(undefined4 *)(param_2 + 0x10) = 0;\n          return 0;\n        }\n      }\n    }\n  }\nLAB_000331ca:\n  if ((((DAT_00084bc1 & 2) != 0) && (DAT_00084980 == 0)) &&\n     (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),1), iVar5 != 0)) {\n    FUN_00036590(param_2);\n  }\n  return 1;\n}\n\n" (function_definition "undefined4 FUN_00033130(undefined4 param_1,int param_2)\n\n{\n  byte bVar1;\n  bool bVar2;\n  char *pcVar3;\n  bool bVar4;\n  int iVar5;\n  char *pcVar6;\n  undefined4 uVar7;\n  int iVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  char *pcVar11;\n  char *local_2c;\n  char *local_24;\n  \n  iVar5 = bfd_openr(param_1,*(undefined4 *)(param_2 + 0x20));\n  *(int *)(param_2 + 0x10) = iVar5;\n  if (DAT_00084d3c != 0) {\n    if (iVar5 == 0) {\n      pcVar6 = "attempt to open %s failed\n";\n    }\n    else {\n      pcVar6 = "attempt to open %s succeeded\n";\n    }\n    uVar7 = dcgettext(0,pcVar6,5);\n    FUN_00032b00(uVar7,param_1);\n    iVar5 = *(int *)(param_2 + 0x10);\n  }\n  if (iVar5 == 0) {\n    iVar5 = bfd_get_error();\n    if (iVar5 != 2) {\n      return 0;\n    }\n    uVar7 = *(undefined4 *)(param_2 + 0x20);\n    uVar10 = dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5);\n    FUN_00032b30(uVar10,uVar7);\n    return 0;\n  }\n  bVar1 = *(byte *)(iVar5 + 0x2c);\n  *(uint *)(iVar5 + 0x28) = *(uint *)(iVar5 + 0x28) | 0x100000;\n  *(byte *)(iVar5 + 0x2c) = bVar1 | 8;\n  if (*(char *)(param_2 + 0x25) < '\0') {\n    *(byte *)(iVar5 + 0x2c) = bVar1 | 0x48;\n  }\n  if ((*(byte *)(param_2 + 0x24) & 0x24) != 0x20) {\n    iVar5 = bfd_check_format(iVar5,2);\n    if (iVar5 == 0) {\n      iVar5 = *(int *)(param_2 + 0x10);\n    }\n    else {\n      iVar5 = bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0);\n    }\n    if (iVar5 != 0) {\n      iVar8 = bfd_check_format(iVar5,1);\n      if (iVar8 != 0) {\n        if (((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)) {\n          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          FUN_00032b30(uVar7,param_1);\n        }\n        else {\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }\n        bfd_close(*(undefined4 *)(param_2 + 0x10));\n        *(undefined4 *)(param_2 + 0x10) = 0;\n        return 0;\n      }\n      if (((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)) &&\n         ((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)))) {\n        FUN_00032eb0();\n        DAT_0008491c = 1;\n        DAT_00084b48 = 0;\n        FUN_0001b0a0();\n        iVar5 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }\n        } while (iVar5 != 0);\n        FUN_0001b0d0();\n        DAT_0008491c = 0;\n        fclose(DAT_000845ac);\n        DAT_000845ac = (FILE *)0x0;\n        if (bVar2) {\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n          bfd_close(*(undefined4 *)(param_2 + 0x10));\n          *(undefined4 *)(param_2 + 0x10) = 0;\n          return 0;\n        }\n      }\n    }\n  }\nLAB_000331ca:\n  if ((((DAT_00084bc1 & 2) != 0) && (DAT_00084980 == 0)) &&\n     (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),1), iVar5 != 0)) {\n    FUN_00036590(param_2);\n  }\n  return 1;\n}" type_identifier (function_declarator "FUN_00033130(undefined4 param_1,int param_2)" identifier (parameter_list "(undefined4 param_1,int param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  bool bVar2;\n  char *pcVar3;\n  bool bVar4;\n  int iVar5;\n  char *pcVar6;\n  undefined4 uVar7;\n  int iVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  char *pcVar11;\n  char *local_2c;\n  char *local_24;\n  \n  iVar5 = bfd_openr(param_1,*(undefined4 *)(param_2 + 0x20));\n  *(int *)(param_2 + 0x10) = iVar5;\n  if (DAT_00084d3c != 0) {\n    if (iVar5 == 0) {\n      pcVar6 = "attempt to open %s failed\n";\n    }\n    else {\n      pcVar6 = "attempt to open %s succeeded\n";\n    }\n    uVar7 = dcgettext(0,pcVar6,5);\n    FUN_00032b00(uVar7,param_1);\n    iVar5 = *(int *)(param_2 + 0x10);\n  }\n  if (iVar5 == 0) {\n    iVar5 = bfd_get_error();\n    if (iVar5 != 2) {\n      return 0;\n    }\n    uVar7 = *(undefined4 *)(param_2 + 0x20);\n    uVar10 = dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5);\n    FUN_00032b30(uVar10,uVar7);\n    return 0;\n  }\n  bVar1 = *(byte *)(iVar5 + 0x2c);\n  *(uint *)(iVar5 + 0x28) = *(uint *)(iVar5 + 0x28) | 0x100000;\n  *(byte *)(iVar5 + 0x2c) = bVar1 | 8;\n  if (*(char *)(param_2 + 0x25) < '\0') {\n    *(byte *)(iVar5 + 0x2c) = bVar1 | 0x48;\n  }\n  if ((*(byte *)(param_2 + 0x24) & 0x24) != 0x20) {\n    iVar5 = bfd_check_format(iVar5,2);\n    if (iVar5 == 0) {\n      iVar5 = *(int *)(param_2 + 0x10);\n    }\n    else {\n      iVar5 = bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0);\n    }\n    if (iVar5 != 0) {\n      iVar8 = bfd_check_format(iVar5,1);\n      if (iVar8 != 0) {\n        if (((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)) {\n          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          FUN_00032b30(uVar7,param_1);\n        }\n        else {\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }\n        bfd_close(*(undefined4 *)(param_2 + 0x10));\n        *(undefined4 *)(param_2 + 0x10) = 0;\n        return 0;\n      }\n      if (((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)) &&\n         ((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)))) {\n        FUN_00032eb0();\n        DAT_0008491c = 1;\n        DAT_00084b48 = 0;\n        FUN_0001b0a0();\n        iVar5 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }\n        } while (iVar5 != 0);\n        FUN_0001b0d0();\n        DAT_0008491c = 0;\n        fclose(DAT_000845ac);\n        DAT_000845ac = (FILE *)0x0;\n        if (bVar2) {\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n          bfd_close(*(undefined4 *)(param_2 + 0x10));\n          *(undefined4 *)(param_2 + 0x10) = 0;\n          return 0;\n        }\n      }\n    }\n  }\nLAB_000331ca:\n  if ((((DAT_00084bc1 & 2) != 0) && (DAT_00084980 == 0)) &&\n     (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),1), iVar5 != 0)) {\n    FUN_00036590(param_2);\n  }\n  return 1;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "char *local_2c;" primitive_type (pointer_declarator "*local_2c" * identifier) ;) (declaration "char *local_24;" primitive_type (pointer_declarator "*local_24" * identifier) ;) (expression_statement "iVar5 = bfd_openr(param_1,*(undefined4 *)(param_2 + 0x20));" (assignment_expression "iVar5 = bfd_openr(param_1,*(undefined4 *)(param_2 + 0x20))" identifier = (call_expression "bfd_openr(param_1,*(undefined4 *)(param_2 + 0x20))" identifier (argument_list "(param_1,*(undefined4 *)(param_2 + 0x20))" ( identifier , (pointer_expression "*(undefined4 *)(param_2 + 0x20)" * (cast_expression "(undefined4 *)(param_2 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) )))) )))) ;) (expression_statement "*(int *)(param_2 + 0x10) = iVar5;" (assignment_expression "*(int *)(param_2 + 0x10) = iVar5" (pointer_expression "*(int *)(param_2 + 0x10)" * (cast_expression "(int *)(param_2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) = identifier) ;) (if_statement "if (DAT_00084d3c != 0) {\n    if (iVar5 == 0) {\n      pcVar6 = "attempt to open %s failed\n";\n    }\n    else {\n      pcVar6 = "attempt to open %s succeeded\n";\n    }\n    uVar7 = dcgettext(0,pcVar6,5);\n    FUN_00032b00(uVar7,param_1);\n    iVar5 = *(int *)(param_2 + 0x10);\n  }" if (parenthesized_expression "(DAT_00084d3c != 0)" ( (binary_expression "DAT_00084d3c != 0" identifier != number_literal) )) (compound_statement "{\n    if (iVar5 == 0) {\n      pcVar6 = "attempt to open %s failed\n";\n    }\n    else {\n      pcVar6 = "attempt to open %s succeeded\n";\n    }\n    uVar7 = dcgettext(0,pcVar6,5);\n    FUN_00032b00(uVar7,param_1);\n    iVar5 = *(int *)(param_2 + 0x10);\n  }" { (if_statement "if (iVar5 == 0) {\n      pcVar6 = "attempt to open %s failed\n";\n    }\n    else {\n      pcVar6 = "attempt to open %s succeeded\n";\n    }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      pcVar6 = "attempt to open %s failed\n";\n    }" { (expression_statement "pcVar6 = "attempt to open %s failed\n";" (assignment_expression "pcVar6 = "attempt to open %s failed\n"" identifier = (string_literal ""attempt to open %s failed\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n      pcVar6 = "attempt to open %s succeeded\n";\n    }" else (compound_statement "{\n      pcVar6 = "attempt to open %s succeeded\n";\n    }" { (expression_statement "pcVar6 = "attempt to open %s succeeded\n";" (assignment_expression "pcVar6 = "attempt to open %s succeeded\n"" identifier = (string_literal ""attempt to open %s succeeded\n"" " string_content escape_sequence ")) ;) }))) (expression_statement "uVar7 = dcgettext(0,pcVar6,5);" (assignment_expression "uVar7 = dcgettext(0,pcVar6,5)" identifier = (call_expression "dcgettext(0,pcVar6,5)" identifier (argument_list "(0,pcVar6,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "FUN_00032b00(uVar7,param_1);" (call_expression "FUN_00032b00(uVar7,param_1)" identifier (argument_list "(uVar7,param_1)" ( identifier , identifier ))) ;) (expression_statement "iVar5 = *(int *)(param_2 + 0x10);" (assignment_expression "iVar5 = *(int *)(param_2 + 0x10)" identifier = (pointer_expression "*(int *)(param_2 + 0x10)" * (cast_expression "(int *)(param_2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) ))))) ;) })) (if_statement "if (iVar5 == 0) {\n    iVar5 = bfd_get_error();\n    if (iVar5 != 2) {\n      return 0;\n    }\n    uVar7 = *(undefined4 *)(param_2 + 0x20);\n    uVar10 = dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5);\n    FUN_00032b30(uVar10,uVar7);\n    return 0;\n  }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar5 = bfd_get_error();\n    if (iVar5 != 2) {\n      return 0;\n    }\n    uVar7 = *(undefined4 *)(param_2 + 0x20);\n    uVar10 = dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5);\n    FUN_00032b30(uVar10,uVar7);\n    return 0;\n  }" { (expression_statement "iVar5 = bfd_get_error();" (assignment_expression "iVar5 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar5 != 2) {\n      return 0;\n    }" if (parenthesized_expression "(iVar5 != 2)" ( (binary_expression "iVar5 != 2" identifier != number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar7 = *(undefined4 *)(param_2 + 0x20);" (assignment_expression "uVar7 = *(undefined4 *)(param_2 + 0x20)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 0x20)" * (cast_expression "(undefined4 *)(param_2 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5);" (assignment_expression "uVar10 = dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5)" identifier = (call_expression "dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5)" identifier (argument_list "(0,"%F%P: invalid BFD target `%s\'\n",5)" ( number_literal , (string_literal ""%F%P: invalid BFD target `%s\'\n"" " string_content escape_sequence escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00032b30(uVar10,uVar7);" (call_expression "FUN_00032b30(uVar10,uVar7)" identifier (argument_list "(uVar10,uVar7)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "bVar1 = *(byte *)(iVar5 + 0x2c);" (assignment_expression "bVar1 = *(byte *)(iVar5 + 0x2c)" identifier = (pointer_expression "*(byte *)(iVar5 + 0x2c)" * (cast_expression "(byte *)(iVar5 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar5 + 0x28) = *(uint *)(iVar5 + 0x28) | 0x100000;" (assignment_expression "*(uint *)(iVar5 + 0x28) = *(uint *)(iVar5 + 0x28) | 0x100000" (pointer_expression "*(uint *)(iVar5 + 0x28)" * (cast_expression "(uint *)(iVar5 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x28)" ( (binary_expression "iVar5 + 0x28" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar5 + 0x28) | 0x100000" (pointer_expression "*(uint *)(iVar5 + 0x28)" * (cast_expression "(uint *)(iVar5 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x28)" ( (binary_expression "iVar5 + 0x28" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "*(byte *)(iVar5 + 0x2c) = bVar1 | 8;" (assignment_expression "*(byte *)(iVar5 + 0x2c) = bVar1 | 8" (pointer_expression "*(byte *)(iVar5 + 0x2c)" * (cast_expression "(byte *)(iVar5 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) )))) = (binary_expression "bVar1 | 8" identifier | number_literal)) ;) (if_statement "if (*(char *)(param_2 + 0x25) < '\0') {\n    *(byte *)(iVar5 + 0x2c) = bVar1 | 0x48;\n  }" if (parenthesized_expression "(*(char *)(param_2 + 0x25) < '\0')" ( (binary_expression "*(char *)(param_2 + 0x25) < '\0'" (pointer_expression "*(char *)(param_2 + 0x25)" * (cast_expression "(char *)(param_2 + 0x25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x25)" ( (binary_expression "param_2 + 0x25" identifier + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    *(byte *)(iVar5 + 0x2c) = bVar1 | 0x48;\n  }" { (expression_statement "*(byte *)(iVar5 + 0x2c) = bVar1 | 0x48;" (assignment_expression "*(byte *)(iVar5 + 0x2c) = bVar1 | 0x48" (pointer_expression "*(byte *)(iVar5 + 0x2c)" * (cast_expression "(byte *)(iVar5 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) )))) = (binary_expression "bVar1 | 0x48" identifier | number_literal)) ;) })) (if_statement "if ((*(byte *)(param_2 + 0x24) & 0x24) != 0x20) {\n    iVar5 = bfd_check_format(iVar5,2);\n    if (iVar5 == 0) {\n      iVar5 = *(int *)(param_2 + 0x10);\n    }\n    else {\n      iVar5 = bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0);\n    }\n    if (iVar5 != 0) {\n      iVar8 = bfd_check_format(iVar5,1);\n      if (iVar8 != 0) {\n        if (((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)) {\n          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          FUN_00032b30(uVar7,param_1);\n        }\n        else {\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }\n        bfd_close(*(undefined4 *)(param_2 + 0x10));\n        *(undefined4 *)(param_2 + 0x10) = 0;\n        return 0;\n      }\n      if (((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)) &&\n         ((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)))) {\n        FUN_00032eb0();\n        DAT_0008491c = 1;\n        DAT_00084b48 = 0;\n        FUN_0001b0a0();\n        iVar5 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }\n        } while (iVar5 != 0);\n        FUN_0001b0d0();\n        DAT_0008491c = 0;\n        fclose(DAT_000845ac);\n        DAT_000845ac = (FILE *)0x0;\n        if (bVar2) {\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n          bfd_close(*(undefined4 *)(param_2 + 0x10));\n          *(undefined4 *)(param_2 + 0x10) = 0;\n          return 0;\n        }\n      }\n    }\n  }" if (parenthesized_expression "((*(byte *)(param_2 + 0x24) & 0x24) != 0x20)" ( (binary_expression "(*(byte *)(param_2 + 0x24) & 0x24) != 0x20" (parenthesized_expression "(*(byte *)(param_2 + 0x24) & 0x24)" ( (binary_expression "*(byte *)(param_2 + 0x24) & 0x24" (pointer_expression "*(byte *)(param_2 + 0x24)" * (cast_expression "(byte *)(param_2 + 0x24)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x24)" ( (binary_expression "param_2 + 0x24" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n    iVar5 = bfd_check_format(iVar5,2);\n    if (iVar5 == 0) {\n      iVar5 = *(int *)(param_2 + 0x10);\n    }\n    else {\n      iVar5 = bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0);\n    }\n    if (iVar5 != 0) {\n      iVar8 = bfd_check_format(iVar5,1);\n      if (iVar8 != 0) {\n        if (((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)) {\n          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          FUN_00032b30(uVar7,param_1);\n        }\n        else {\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }\n        bfd_close(*(undefined4 *)(param_2 + 0x10));\n        *(undefined4 *)(param_2 + 0x10) = 0;\n        return 0;\n      }\n      if (((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)) &&\n         ((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)))) {\n        FUN_00032eb0();\n        DAT_0008491c = 1;\n        DAT_00084b48 = 0;\n        FUN_0001b0a0();\n        iVar5 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }\n        } while (iVar5 != 0);\n        FUN_0001b0d0();\n        DAT_0008491c = 0;\n        fclose(DAT_000845ac);\n        DAT_000845ac = (FILE *)0x0;\n        if (bVar2) {\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n          bfd_close(*(undefined4 *)(param_2 + 0x10));\n          *(undefined4 *)(param_2 + 0x10) = 0;\n          return 0;\n        }\n      }\n    }\n  }" { (expression_statement "iVar5 = bfd_check_format(iVar5,2);" (assignment_expression "iVar5 = bfd_check_format(iVar5,2)" identifier = (call_expression "bfd_check_format(iVar5,2)" identifier (argument_list "(iVar5,2)" ( identifier , number_literal )))) ;) (if_statement "if (iVar5 == 0) {\n      iVar5 = *(int *)(param_2 + 0x10);\n    }\n    else {\n      iVar5 = bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0);\n    }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar5 = *(int *)(param_2 + 0x10);\n    }" { (expression_statement "iVar5 = *(int *)(param_2 + 0x10);" (assignment_expression "iVar5 = *(int *)(param_2 + 0x10)" identifier = (pointer_expression "*(int *)(param_2 + 0x10)" * (cast_expression "(int *)(param_2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      iVar5 = bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0);\n    }" else (compound_statement "{\n      iVar5 = bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0);\n    }" { (expression_statement "iVar5 = bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0);" (assignment_expression "iVar5 = bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0)" identifier = (call_expression "bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0)" identifier (argument_list "(*(undefined4 *)(param_2 + 0x10),0)" ( (pointer_expression "*(undefined4 *)(param_2 + 0x10)" * (cast_expression "(undefined4 *)(param_2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) , number_literal )))) ;) }))) (if_statement "if (iVar5 != 0) {\n      iVar8 = bfd_check_format(iVar5,1);\n      if (iVar8 != 0) {\n        if (((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)) {\n          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          FUN_00032b30(uVar7,param_1);\n        }\n        else {\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }\n        bfd_close(*(undefined4 *)(param_2 + 0x10));\n        *(undefined4 *)(param_2 + 0x10) = 0;\n        return 0;\n      }\n      if (((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)) &&\n         ((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)))) {\n        FUN_00032eb0();\n        DAT_0008491c = 1;\n        DAT_00084b48 = 0;\n        FUN_0001b0a0();\n        iVar5 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }\n        } while (iVar5 != 0);\n        FUN_0001b0d0();\n        DAT_0008491c = 0;\n        fclose(DAT_000845ac);\n        DAT_000845ac = (FILE *)0x0;\n        if (bVar2) {\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n          bfd_close(*(undefined4 *)(param_2 + 0x10));\n          *(undefined4 *)(param_2 + 0x10) = 0;\n          return 0;\n        }\n      }\n    }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar8 = bfd_check_format(iVar5,1);\n      if (iVar8 != 0) {\n        if (((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)) {\n          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          FUN_00032b30(uVar7,param_1);\n        }\n        else {\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }\n        bfd_close(*(undefined4 *)(param_2 + 0x10));\n        *(undefined4 *)(param_2 + 0x10) = 0;\n        return 0;\n      }\n      if (((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)) &&\n         ((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)))) {\n        FUN_00032eb0();\n        DAT_0008491c = 1;\n        DAT_00084b48 = 0;\n        FUN_0001b0a0();\n        iVar5 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }\n        } while (iVar5 != 0);\n        FUN_0001b0d0();\n        DAT_0008491c = 0;\n        fclose(DAT_000845ac);\n        DAT_000845ac = (FILE *)0x0;\n        if (bVar2) {\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n          bfd_close(*(undefined4 *)(param_2 + 0x10));\n          *(undefined4 *)(param_2 + 0x10) = 0;\n          return 0;\n        }\n      }\n    }" { (expression_statement "iVar8 = bfd_check_format(iVar5,1);" (assignment_expression "iVar8 = bfd_check_format(iVar5,1)" identifier = (call_expression "bfd_check_format(iVar5,1)" identifier (argument_list "(iVar5,1)" ( identifier , number_literal )))) ;) (if_statement "if (iVar8 != 0) {\n        if (((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)) {\n          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          FUN_00032b30(uVar7,param_1);\n        }\n        else {\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }\n        bfd_close(*(undefined4 *)(param_2 + 0x10));\n        *(undefined4 *)(param_2 + 0x10) = 0;\n        return 0;\n      }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n        if (((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)) {\n          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          FUN_00032b30(uVar7,param_1);\n        }\n        else {\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }\n        bfd_close(*(undefined4 *)(param_2 + 0x10));\n        *(undefined4 *)(param_2 + 0x10) = 0;\n        return 0;\n      }" { (if_statement "if (((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)) {\n          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          FUN_00032b30(uVar7,param_1);\n        }\n        else {\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }" if (parenthesized_expression "(((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0))" ( (binary_expression "((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)" (parenthesized_expression "((*(byte *)(param_2 + 0x24) & 0x20) == 0)" ( (binary_expression "(*(byte *)(param_2 + 0x24) & 0x20) == 0" (parenthesized_expression "(*(byte *)(param_2 + 0x24) & 0x20)" ( (binary_expression "*(byte *)(param_2 + 0x24) & 0x20" (pointer_expression "*(byte *)(param_2 + 0x24)" * (cast_expression "(byte *)(param_2 + 0x24)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x24)" ( (binary_expression "param_2 + 0x24" identifier + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)" ( (binary_expression "(*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0" (parenthesized_expression "(*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8)" ( (binary_expression "*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8" (pointer_expression "*(byte *)(*(int *)(param_2 + 0x10) + 0x29)" * (cast_expression "(byte *)(*(int *)(param_2 + 0x10) + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x10) + 0x29)" ( (binary_expression "*(int *)(param_2 + 0x10) + 0x29" (pointer_expression "*(int *)(param_2 + 0x10)" * (cast_expression "(int *)(param_2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          FUN_00032b30(uVar7,param_1);\n        }" { (expression_statement "uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);" (assignment_expression "uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5)" identifier = (call_expression "dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5)" identifier (argument_list "(0,"%F%P: attempted static link of dynamic object `%s\'\n",5)" ( number_literal , (string_literal ""%F%P: attempted static link of dynamic object `%s\'\n"" " string_content escape_sequence escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00032b30(uVar7,param_1);" (call_expression "FUN_00032b30(uVar7,param_1)" identifier (argument_list "(uVar7,param_1)" ( identifier , identifier ))) ;) }) (else_clause "else {\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }" else (compound_statement "{\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }" { (if_statement "if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;" if (parenthesized_expression "((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))" ( (binary_expression "(((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0)))" (parenthesized_expression "(((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0))" ( (binary_expression "((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)" (parenthesized_expression "((*(byte *)(param_2 + 0x24) & 4) == 0)" ( (binary_expression "(*(byte *)(param_2 + 0x24) & 4) == 0" (parenthesized_expression "(*(byte *)(param_2 + 0x24) & 4)" ( (binary_expression "*(byte *)(param_2 + 0x24) & 4" (pointer_expression "*(byte *)(param_2 + 0x24)" * (cast_expression "(byte *)(param_2 + 0x24)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x24)" ( (binary_expression "param_2 + 0x24" identifier + number_literal) )))) & number_literal) )) == number_literal) )) || (parenthesized_expression "(iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)" ( (comma_expression "iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0" (assignment_expression "iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c)" identifier = (call_expression "bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c)" identifier (argument_list "(iVar5,DAT_00084bf4,DAT_00084c7c)" ( identifier , identifier , identifier )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "(((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0)))" ( (parenthesized_expression "((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))" ( (binary_expression "(*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0)" (parenthesized_expression "(*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4))" ( (binary_expression "*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)" (binary_expression "*(int *)(*(int *)(iVar5 + 4) + 4) == 4" (pointer_expression "*(int *)(*(int *)(iVar5 + 4) + 4)" * (cast_expression "(int *)(*(int *)(iVar5 + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + 4) + 4)" ( (binary_expression "*(int *)(iVar5 + 4) + 4" (pointer_expression "*(int *)(iVar5 + 4)" * (cast_expression "(int *)(iVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) )))) + number_literal) )))) == number_literal) && (parenthesized_expression "(*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)" ( (binary_expression "*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4" (pointer_expression "*(int *)(*(int *)(DAT_00084bf4 + 4) + 4)" * (cast_expression "(int *)(*(int *)(DAT_00084bf4 + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_00084bf4 + 4) + 4)" ( (binary_expression "*(int *)(DAT_00084bf4 + 4) + 4" (pointer_expression "*(int *)(DAT_00084bf4 + 4)" * (cast_expression "(int *)(DAT_00084bf4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00084bf4 + 4)" ( (binary_expression "DAT_00084bf4 + 4" identifier + number_literal) )))) + number_literal) )))) == number_literal) ))) )) && (parenthesized_expression "(iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0)" ( (comma_expression "iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0" (assignment_expression "iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2)" identifier = (call_expression "bfd_check_format(*(undefined4 *)(param_2 + 0x10),2)" identifier (argument_list "(*(undefined4 *)(param_2 + 0x10),2)" ( (pointer_expression "*(undefined4 *)(param_2 + 0x10)" * (cast_expression "(undefined4 *)(param_2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) , number_literal )))) , (binary_expression "iVar5 != 0" identifier != number_literal)) ))) )) ))) )) (goto_statement "goto LAB_000331ca;" goto statement_identifier ;)) (if_statement "if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }" if (parenthesized_expression "(DAT_00084c74 != 0)" ( (binary_expression "DAT_00084c74 != 0" identifier != number_literal) )) (compound_statement "{\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }" { (expression_statement "uVar7 = *(undefined4 *)(param_2 + 0xc);" (assignment_expression "uVar7 = *(undefined4 *)(param_2 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 0xc)" * (cast_expression "(undefined4 *)(param_2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);" (assignment_expression "uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5)" identifier = (call_expression "dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5)" identifier (argument_list "(0,"%P: skipping incompatible %s when searching for %s\n",5)" ( number_literal , (string_literal ""%P: skipping incompatible %s when searching for %s\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00032b30(uVar10,param_1,uVar7);" (call_expression "FUN_00032b30(uVar10,param_1,uVar7)" identifier (argument_list "(uVar10,param_1,uVar7)" ( identifier , identifier , identifier ))) ;) })) }))) (expression_statement "bfd_close(*(undefined4 *)(param_2 + 0x10));" (call_expression "bfd_close(*(undefined4 *)(param_2 + 0x10))" identifier (argument_list "(*(undefined4 *)(param_2 + 0x10))" ( (pointer_expression "*(undefined4 *)(param_2 + 0x10)" * (cast_expression "(undefined4 *)(param_2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(param_2 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(param_2 + 0x10) = 0" (pointer_expression "*(undefined4 *)(param_2 + 0x10)" * (cast_expression "(undefined4 *)(param_2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)) &&\n         ((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)))) {\n        FUN_00032eb0();\n        DAT_0008491c = 1;\n        DAT_00084b48 = 0;\n        FUN_0001b0a0();\n        iVar5 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }\n        } while (iVar5 != 0);\n        FUN_0001b0d0();\n        DAT_0008491c = 0;\n        fclose(DAT_000845ac);\n        DAT_000845ac = (FILE *)0x0;\n        if (bVar2) {\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n          bfd_close(*(undefined4 *)(param_2 + 0x10));\n          *(undefined4 *)(param_2 + 0x10) = 0;\n          return 0;\n        }\n      }" if (parenthesized_expression "(((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)) &&\n         ((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0))))" ( (binary_expression "((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)) &&\n         ((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)))" (parenthesized_expression "((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0))" ( (binary_expression "(*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)" (parenthesized_expression "(*(int *)(param_2 + 0x10) == iVar5)" ( (binary_expression "*(int *)(param_2 + 0x10) == iVar5" (pointer_expression "*(int *)(param_2 + 0x10)" * (cast_expression "(int *)(param_2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) == identifier) )) && (parenthesized_expression "((*(byte *)(param_2 + 0x24) & 4) != 0)" ( (binary_expression "(*(byte *)(param_2 + 0x24) & 4) != 0" (parenthesized_expression "(*(byte *)(param_2 + 0x24) & 4)" ( (binary_expression "*(byte *)(param_2 + 0x24) & 4" (pointer_expression "*(byte *)(param_2 + 0x24)" * (cast_expression "(byte *)(param_2 + 0x24)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x24)" ( (binary_expression "param_2 + 0x24" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)))" ( (parenthesized_expression "(iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0))" ( (comma_expression "iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)" (assignment_expression "iVar5 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) , (binary_expression "iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)" (binary_expression "iVar5 == 0xc" identifier == number_literal) && (parenthesized_expression "(iVar5 = FUN_000315b0(param_2), iVar5 == 0)" ( (comma_expression "iVar5 = FUN_000315b0(param_2), iVar5 == 0" (assignment_expression "iVar5 = FUN_000315b0(param_2)" identifier = (call_expression "FUN_000315b0(param_2)" identifier (argument_list "(param_2)" ( identifier )))) , (binary_expression "iVar5 == 0" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n        FUN_00032eb0();\n        DAT_0008491c = 1;\n        DAT_00084b48 = 0;\n        FUN_0001b0a0();\n        iVar5 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }\n        } while (iVar5 != 0);\n        FUN_0001b0d0();\n        DAT_0008491c = 0;\n        fclose(DAT_000845ac);\n        DAT_000845ac = (FILE *)0x0;\n        if (bVar2) {\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n          bfd_close(*(undefined4 *)(param_2 + 0x10));\n          *(undefined4 *)(param_2 + 0x10) = 0;\n          return 0;\n        }\n      }" { (expression_statement "FUN_00032eb0();" (call_expression "FUN_00032eb0()" identifier (argument_list "()" ( ))) ;) (expression_statement "DAT_0008491c = 1;" (assignment_expression "DAT_0008491c = 1" identifier = number_literal) ;) (expression_statement "DAT_00084b48 = 0;" (assignment_expression "DAT_00084b48 = 0" identifier = number_literal) ;) (expression_statement "FUN_0001b0a0();" (call_expression "FUN_0001b0a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar5 = 0x16f;" (assignment_expression "iVar5 = 0x16f" identifier = number_literal) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (do_statement "do {\n          if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }\n        } while (iVar5 != 0);" do (compound_statement "{\n          if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }\n        }" { (if_statement "if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }" if (parenthesized_expression "(iVar5 < 0x105)" ( (binary_expression "iVar5 < 0x105" identifier < number_literal) )) (compound_statement "{\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }" { (if_statement "if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }" if (parenthesized_expression "(iVar5 < 0x103)" ( (binary_expression "iVar5 < 0x103" identifier < number_literal) )) (compound_statement "{\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }" { (if_statement "if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;" if (parenthesized_expression "((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))" ( (binary_expression "(iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0)" (parenthesized_expression "(iVar5 != 0x102)" ( (binary_expression "iVar5 != 0x102" identifier != number_literal) )) || (parenthesized_expression "(local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0)" ( (comma_expression "local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0" (assignment_expression "local_24 = DAT_00084b3c" identifier = identifier) , (binary_expression "DAT_00084b3c == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_000332b8;" goto statement_identifier ;)) (labeled_statement "LAB_000332a7:\n              free(local_24);" statement_identifier : (expression_statement "free(local_24);" (call_expression "free(local_24)" identifier (argument_list "(local_24)" ( identifier ))) ;)) }) (else_clause "else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }" else (compound_statement "{\nLAB_0003351c:\n              free(DAT_00084b34);\n            }" { (labeled_statement "LAB_0003351c:\n              free(DAT_00084b34);" statement_identifier : (expression_statement "free(DAT_00084b34);" (call_expression "free(DAT_00084b34)" identifier (argument_list "(DAT_00084b34)" ( identifier ))) ;)) }))) (labeled_statement "LAB_000332b8:\n            iVar5 = FUN_00018f90();" statement_identifier : (expression_statement "iVar5 = FUN_00018f90();" (assignment_expression "iVar5 = FUN_00018f90()" identifier = (call_expression "FUN_00018f90()" identifier (argument_list "()" ( )))) ;)) }) (else_clause "else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }" else (compound_statement "{\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }" { (if_statement "if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }" if (parenthesized_expression "(iVar5 != 300)" ( (binary_expression "iVar5 != 300" identifier != number_literal) )) (compound_statement "{\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }" { (if_statement "if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;" if (parenthesized_expression "((299 < iVar5) && (iVar5 - 0x175U < 2))" ( (binary_expression "(299 < iVar5) && (iVar5 - 0x175U < 2)" (parenthesized_expression "(299 < iVar5)" ( (binary_expression "299 < iVar5" number_literal < identifier) )) && (parenthesized_expression "(iVar5 - 0x175U < 2)" ( (binary_expression "iVar5 - 0x175U < 2" (binary_expression "iVar5 - 0x175U" identifier - number_literal) < number_literal) ))) )) (goto_statement "goto LAB_0003351c;" goto statement_identifier ;)) (goto_statement "goto LAB_000332b8;" goto statement_identifier ;) })) (expression_statement "iVar5 = FUN_00018f90();" (assignment_expression "iVar5 = FUN_00018f90()" identifier = (call_expression "FUN_00018f90()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }" if (parenthesized_expression "((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))" ( (binary_expression "(iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103)" (parenthesized_expression "(iVar5 == 0x28)" ( (binary_expression "iVar5 == 0x28" identifier == number_literal) )) && (parenthesized_expression "(iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103)" ( (comma_expression "iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103" (assignment_expression "iVar5 = FUN_00018f90()" identifier = (call_expression "FUN_00018f90()" identifier (argument_list "()" ( )))) , (comma_expression "pcVar6 = DAT_00084b34, iVar5 == 0x103" (assignment_expression "pcVar6 = DAT_00084b34" identifier = identifier) , (binary_expression "iVar5 == 0x103" identifier == number_literal))) ))) )) (compound_statement "{\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }" { (expression_statement "iVar5 = FUN_00018f90();" (assignment_expression "iVar5 = FUN_00018f90()" identifier = (call_expression "FUN_00018f90()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar11 = pcVar6;" (assignment_expression "pcVar11 = pcVar6" identifier = identifier) ;) (if_statement "if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }" if (parenthesized_expression "(iVar5 != 0x2c)" ( (binary_expression "iVar5 != 0x2c" identifier != number_literal) )) (compound_statement "{\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }" { (if_statement "if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }" if (parenthesized_expression "(iVar5 != 0x29)" ( (binary_expression "iVar5 != 0x29" identifier != number_literal) )) (compound_statement "{\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }" { (expression_statement "free(pcVar6);" (call_expression "free(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier ))) ;) (goto_statement "goto LAB_000332b8;" goto statement_identifier ;) })) (if_statement "if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }" if (parenthesized_expression "(DAT_00084c90 == 1)" ( (binary_expression "DAT_00084c90 == 1" identifier == number_literal) )) (compound_statement "{\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }" { (expression_statement "local_24 = (char *)0x0;" (assignment_expression "local_24 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();" statement_identifier : (expression_statement "pcVar11 = (char *)FUN_00024a30();" (assignment_expression "pcVar11 = (char *)FUN_00024a30()" identifier = (cast_expression "(char *)FUN_00024a30()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024a30()" identifier (argument_list "()" ( ))))) ;)) (expression_statement "iVar5 = strcmp(pcVar6,pcVar11);" (assignment_expression "iVar5 = strcmp(pcVar6,pcVar11)" identifier = (call_expression "strcmp(pcVar6,pcVar11)" identifier (argument_list "(pcVar6,pcVar11)" ( identifier , identifier )))) ;) (if_statement "if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n                    free(pcVar6);\n                  }" { (expression_statement "free(pcVar6);" (call_expression "free(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier ))) ;) }) (else_clause "else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }" else (compound_statement "{\n                    free(pcVar6);\n                    bVar2 = true;\n                  }" { (expression_statement "free(pcVar6);" (call_expression "free(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier ))) ;) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) }))) }) (else_clause "else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }" else (compound_statement "{\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }" { (if_statement "if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }" if (parenthesized_expression "(DAT_00084c90 == 2)" ( (binary_expression "DAT_00084c90 == 2" identifier == number_literal) )) (compound_statement "{\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }" { (expression_statement "local_2c = (char *)0x0;" (assignment_expression "local_2c = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00033646:\n                    local_24 = (char *)0x0;" statement_identifier : (expression_statement "local_24 = (char *)0x0;" (assignment_expression "local_24 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "pcVar11 = pcVar6;" (assignment_expression "pcVar11 = pcVar6" identifier = identifier) ;) }) (else_clause "else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }" else (compound_statement "{\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }" { (expression_statement "local_24 = (char *)0x0;" (assignment_expression "local_24 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_2c = (char *)0x0;" (assignment_expression "local_2c = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (labeled_statement "LAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();" statement_identifier : (expression_statement "pcVar9 = (char *)FUN_00024a30();" (assignment_expression "pcVar9 = (char *)FUN_00024a30()" identifier = (cast_expression "(char *)FUN_00024a30()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024a30()" identifier (argument_list "()" ( ))))) ;)) (expression_statement "iVar5 = strcmp(pcVar11,pcVar9);" (assignment_expression "iVar5 = strcmp(pcVar11,pcVar9)" identifier = (call_expression "strcmp(pcVar11,pcVar9)" identifier (argument_list "(pcVar11,pcVar9)" ( identifier , identifier )))) ;) (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) (if_statement "if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n                    bVar4 = bVar2;\n                  }" { (expression_statement "bVar4 = bVar2;" (assignment_expression "bVar4 = bVar2" identifier = identifier) ;) })) (labeled_statement "LAB_00033360:\n                  bVar2 = bVar4;" statement_identifier : (expression_statement "bVar2 = bVar4;" (assignment_expression "bVar2 = bVar4" identifier = identifier) ;)) (expression_statement "free(pcVar6);" (call_expression "free(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier ))) ;) (if_statement "if (local_2c != (char *)0x0) goto LAB_00033373;" if (parenthesized_expression "(local_2c != (char *)0x0)" ( (binary_expression "local_2c != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00033373;" goto statement_identifier ;)) }))) (labeled_statement "LAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;" statement_identifier : (if_statement "if (local_24 != (char *)0x0) goto LAB_000332a7;" if (parenthesized_expression "(local_24 != (char *)0x0)" ( (binary_expression "local_24 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000332a7;" goto statement_identifier ;))) (goto_statement "goto LAB_000332b8;" goto statement_identifier ;) })) (expression_statement "iVar5 = FUN_00018f90();" (assignment_expression "iVar5 = FUN_00018f90()" identifier = (call_expression "FUN_00018f90()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar9 = DAT_00084b34;" (assignment_expression "pcVar9 = DAT_00084b34" identifier = identifier) ;) (if_statement "if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }" if (parenthesized_expression "(iVar5 == 0x103)" ( (binary_expression "iVar5 == 0x103" identifier == number_literal) )) (compound_statement "{\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }" { (expression_statement "local_2c = DAT_00084b34;" (assignment_expression "local_2c = DAT_00084b34" identifier = identifier) ;) (expression_statement "iVar5 = FUN_00018f90();" (assignment_expression "iVar5 = FUN_00018f90()" identifier = (call_expression "FUN_00018f90()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }" if (parenthesized_expression "((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103))" ( (binary_expression "(iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)" (parenthesized_expression "(iVar5 == 0x2c)" ( (binary_expression "iVar5 == 0x2c" identifier == number_literal) )) && (parenthesized_expression "(iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)" ( (comma_expression "iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103" (assignment_expression "iVar5 = FUN_00018f90()" identifier = (call_expression "FUN_00018f90()" identifier (argument_list "()" ( )))) , (comma_expression "pcVar3 = DAT_00084b34, iVar5 == 0x103" (assignment_expression "pcVar3 = DAT_00084b34" identifier = identifier) , (binary_expression "iVar5 == 0x103" identifier == number_literal))) ))) )) (compound_statement "{\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }" { (expression_statement "local_24 = DAT_00084b34;" (assignment_expression "local_24 = DAT_00084b34" identifier = identifier) ;) (expression_statement "iVar5 = FUN_00018f90();" (assignment_expression "iVar5 = FUN_00018f90()" identifier = (call_expression "FUN_00018f90()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar4 = bVar2;" (assignment_expression "bVar4 = bVar2" identifier = identifier) ;) (if_statement "if (iVar5 != 0x29) goto LAB_00033360;" if (parenthesized_expression "(iVar5 != 0x29)" ( (binary_expression "iVar5 != 0x29" identifier != number_literal) )) (goto_statement "goto LAB_00033360;" goto statement_identifier ;)) (if_statement "if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }" if (parenthesized_expression "(DAT_00084c90 != 1)" ( (binary_expression "DAT_00084c90 != 1" identifier != number_literal) )) (compound_statement "{\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }" { (if_statement "if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;" if (parenthesized_expression "((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))" ( (binary_expression "(DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0)" (parenthesized_expression "(DAT_00084c90 == 2)" ( (binary_expression "DAT_00084c90 == 2" identifier == number_literal) )) && (parenthesized_expression "(pcVar11 = pcVar3, pcVar3 == (char *)0x0)" ( (comma_expression "pcVar11 = pcVar3, pcVar3 == (char *)0x0" (assignment_expression "pcVar11 = pcVar3" identifier = identifier) , (binary_expression "pcVar3 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_00033646;" goto statement_identifier ;)) (goto_statement "goto LAB_00033337;" goto statement_identifier ;) })) (if_statement "if (pcVar9 == (char *)0x0) goto LAB_000336a0;" if (parenthesized_expression "(pcVar9 == (char *)0x0)" ( (binary_expression "pcVar9 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000336a0;" goto statement_identifier ;)) (expression_statement "pcVar11 = (char *)FUN_00024a30();" (assignment_expression "pcVar11 = (char *)FUN_00024a30()" identifier = (cast_expression "(char *)FUN_00024a30()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024a30()" identifier (argument_list "()" ( ))))) ;) (expression_statement "iVar5 = strcmp(pcVar9,pcVar11);" (assignment_expression "iVar5 = strcmp(pcVar9,pcVar11)" identifier = (call_expression "strcmp(pcVar9,pcVar11)" identifier (argument_list "(pcVar9,pcVar11)" ( identifier , identifier )))) ;) (if_statement "if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n                    free(pcVar6);\n                  }" { (expression_statement "free(pcVar6);" (call_expression "free(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier ))) ;) }) (else_clause "else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }" else (compound_statement "{\n                    free(pcVar6);\n                    bVar2 = true;\n                  }" { (expression_statement "free(pcVar6);" (call_expression "free(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier ))) ;) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) }))) (labeled_statement "LAB_00033373:\n                  free(local_2c);" statement_identifier : (expression_statement "free(local_2c);" (call_expression "free(local_2c)" identifier (argument_list "(local_2c)" ( identifier ))) ;)) (goto_statement "goto LAB_00033382;" goto statement_identifier ;) })) (expression_statement "free(pcVar6);" (call_expression "free(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier ))) ;) (expression_statement "free(pcVar9);" (call_expression "free(pcVar9)" identifier (argument_list "(pcVar9)" ( identifier ))) ;) }) (else_clause "else {\n                free(pcVar6);\n              }" else (compound_statement "{\n                free(pcVar6);\n              }" { (expression_statement "free(pcVar6);" (call_expression "free(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier ))) ;) }))) })) }))) }) while (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) ;) (expression_statement "FUN_0001b0d0();" (call_expression "FUN_0001b0d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "DAT_0008491c = 0;" (assignment_expression "DAT_0008491c = 0" identifier = number_literal) ;) (expression_statement "fclose(DAT_000845ac);" (call_expression "fclose(DAT_000845ac)" identifier (argument_list "(DAT_000845ac)" ( identifier ))) ;) (expression_statement "DAT_000845ac = (FILE *)0x0;" (assignment_expression "DAT_000845ac = (FILE *)0x0" identifier = (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (bVar2) {\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n          bfd_close(*(undefined4 *)(param_2 + 0x10));\n          *(undefined4 *)(param_2 + 0x10) = 0;\n          return 0;\n        }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n          bfd_close(*(undefined4 *)(param_2 + 0x10));\n          *(undefined4 *)(param_2 + 0x10) = 0;\n          return 0;\n        }" { (if_statement "if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }" if (parenthesized_expression "(DAT_00084c74 != 0)" ( (binary_expression "DAT_00084c74 != 0" identifier != number_literal) )) (compound_statement "{\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }" { (expression_statement "uVar7 = *(undefined4 *)(param_2 + 0xc);" (assignment_expression "uVar7 = *(undefined4 *)(param_2 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 0xc)" * (cast_expression "(undefined4 *)(param_2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);" (assignment_expression "uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74)" identifier = (call_expression "dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74)" identifier (argument_list "(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74)" ( number_literal , (string_literal ""%P: skipping incompatible %s when searching for %s\n"" " string_content escape_sequence ") , number_literal , identifier )))) ;) (expression_statement "FUN_00032b30(uVar10,param_1,uVar7);" (call_expression "FUN_00032b30(uVar10,param_1,uVar7)" identifier (argument_list "(uVar10,param_1,uVar7)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "bfd_close(*(undefined4 *)(param_2 + 0x10));" (call_expression "bfd_close(*(undefined4 *)(param_2 + 0x10))" identifier (argument_list "(*(undefined4 *)(param_2 + 0x10))" ( (pointer_expression "*(undefined4 *)(param_2 + 0x10)" * (cast_expression "(undefined4 *)(param_2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(param_2 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(param_2 + 0x10) = 0" (pointer_expression "*(undefined4 *)(param_2 + 0x10)" * (cast_expression "(undefined4 *)(param_2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) })) })) })) (labeled_statement "LAB_000331ca:\n  if ((((DAT_00084bc1 & 2) != 0) && (DAT_00084980 == 0)) &&\n     (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),1), iVar5 != 0)) {\n    FUN_00036590(param_2);\n  }" statement_identifier : (if_statement "if ((((DAT_00084bc1 & 2) != 0) && (DAT_00084980 == 0)) &&\n     (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),1), iVar5 != 0)) {\n    FUN_00036590(param_2);\n  }" if (parenthesized_expression "((((DAT_00084bc1 & 2) != 0) && (DAT_00084980 == 0)) &&\n     (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),1), iVar5 != 0))" ( (binary_expression "(((DAT_00084bc1 & 2) != 0) && (DAT_00084980 == 0)) &&\n     (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),1), iVar5 != 0)" (parenthesized_expression "(((DAT_00084bc1 & 2) != 0) && (DAT_00084980 == 0))" ( (binary_expression "((DAT_00084bc1 & 2) != 0) && (DAT_00084980 == 0)" (parenthesized_expression "((DAT_00084bc1 & 2) != 0)" ( (binary_expression "(DAT_00084bc1 & 2) != 0" (parenthesized_expression "(DAT_00084bc1 & 2)" ( (binary_expression "DAT_00084bc1 & 2" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(DAT_00084980 == 0)" ( (binary_expression "DAT_00084980 == 0" identifier == number_literal) ))) )) && (parenthesized_expression "(iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),1), iVar5 != 0)" ( (comma_expression "iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),1), iVar5 != 0" (assignment_expression "iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),1)" identifier = (call_expression "bfd_check_format(*(undefined4 *)(param_2 + 0x10),1)" identifier (argument_list "(*(undefined4 *)(param_2 + 0x10),1)" ( (pointer_expression "*(undefined4 *)(param_2 + 0x10)" * (cast_expression "(undefined4 *)(param_2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) , number_literal )))) , (binary_expression "iVar5 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    FUN_00036590(param_2);\n  }" { (expression_statement "FUN_00036590(param_2);" (call_expression "FUN_00036590(param_2)" identifier (argument_list "(param_2)" ( identifier ))) ;) }))) (return_statement "return 1;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) }))) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT | LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT | LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (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 (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT )))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (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 { (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 (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) , (binary_expression IDENT != LIT)) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == LIT) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == LIT) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT )))) , (binary_expression IDENT != LIT)) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) })) }))) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) )) && (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 ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) )))) )) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) && (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) ))) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) }))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }))) })) }))) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (return_statement return LIT ;) })) })) })) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }))) (return_statement return LIT ;) })))
(function_definition "undefined4 FUN_00033130(undefined4 param_1,int param_2)\n\n{\n  byte bVar1;\n  bool bVar2;\n  char *pcVar3;\n  bool bVar4;\n  int iVar5;\n  char *pcVar6;\n  undefined4 uVar7;\n  int iVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  char *pcVar11;\n  char *local_2c;\n  char *local_24;\n  \n  iVar5 = bfd_openr(param_1,*(undefined4 *)(param_2 + 0x20));\n  *(int *)(param_2 + 0x10) = iVar5;\n  if (DAT_00084d3c != 0) {\n    if (iVar5 == 0) {\n      pcVar6 = "attempt to open %s failed\n";\n    }\n    else {\n      pcVar6 = "attempt to open %s succeeded\n";\n    }\n    uVar7 = dcgettext(0,pcVar6,5);\n    FUN_00032b00(uVar7,param_1);\n    iVar5 = *(int *)(param_2 + 0x10);\n  }\n  if (iVar5 == 0) {\n    iVar5 = bfd_get_error();\n    if (iVar5 != 2) {\n      return 0;\n    }\n    uVar7 = *(undefined4 *)(param_2 + 0x20);\n    uVar10 = dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5);\n    FUN_00032b30(uVar10,uVar7);\n    return 0;\n  }\n  bVar1 = *(byte *)(iVar5 + 0x2c);\n  *(uint *)(iVar5 + 0x28) = *(uint *)(iVar5 + 0x28) | 0x100000;\n  *(byte *)(iVar5 + 0x2c) = bVar1 | 8;\n  if (*(char *)(param_2 + 0x25) < '\0') {\n    *(byte *)(iVar5 + 0x2c) = bVar1 | 0x48;\n  }\n  if ((*(byte *)(param_2 + 0x24) & 0x24) != 0x20) {\n    iVar5 = bfd_check_format(iVar5,2);\n    if (iVar5 == 0) {\n      iVar5 = *(int *)(param_2 + 0x10);\n    }\n    else {\n      iVar5 = bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0);\n    }\n    if (iVar5 != 0) {\n      iVar8 = bfd_check_format(iVar5,1);\n      if (iVar8 != 0) {\n        if (((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)) {\n          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          FUN_00032b30(uVar7,param_1);\n        }\n        else {\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }\n        bfd_close(*(undefined4 *)(param_2 + 0x10));\n        *(undefined4 *)(param_2 + 0x10) = 0;\n        return 0;\n      }\n      if (((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)) &&\n         ((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)))) {\n        FUN_00032eb0();\n        DAT_0008491c = 1;\n        DAT_00084b48 = 0;\n        FUN_0001b0a0();\n        iVar5 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }\n        } while (iVar5 != 0);\n        FUN_0001b0d0();\n        DAT_0008491c = 0;\n        fclose(DAT_000845ac);\n        DAT_000845ac = (FILE *)0x0;\n        if (bVar2) {\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n          bfd_close(*(undefined4 *)(param_2 + 0x10));\n          *(undefined4 *)(param_2 + 0x10) = 0;\n          return 0;\n        }\n      }\n    }\n  }\nLAB_000331ca:\n  if ((((DAT_00084bc1 & 2) != 0) && (DAT_00084980 == 0)) &&\n     (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),1), iVar5 != 0)) {\n    FUN_00036590(param_2);\n  }\n  return 1;\n}" (type_identifier "undefined4") (function_declarator "FUN_00033130(undefined4 param_1,int param_2)" (identifier "FUN_00033130") (parameter_list "(undefined4 param_1,int param_2)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")"))) (compound_statement "{\n  byte bVar1;\n  bool bVar2;\n  char *pcVar3;\n  bool bVar4;\n  int iVar5;\n  char *pcVar6;\n  undefined4 uVar7;\n  int iVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  char *pcVar11;\n  char *local_2c;\n  char *local_24;\n  \n  iVar5 = bfd_openr(param_1,*(undefined4 *)(param_2 + 0x20));\n  *(int *)(param_2 + 0x10) = iVar5;\n  if (DAT_00084d3c != 0) {\n    if (iVar5 == 0) {\n      pcVar6 = "attempt to open %s failed\n";\n    }\n    else {\n      pcVar6 = "attempt to open %s succeeded\n";\n    }\n    uVar7 = dcgettext(0,pcVar6,5);\n    FUN_00032b00(uVar7,param_1);\n    iVar5 = *(int *)(param_2 + 0x10);\n  }\n  if (iVar5 == 0) {\n    iVar5 = bfd_get_error();\n    if (iVar5 != 2) {\n      return 0;\n    }\n    uVar7 = *(undefined4 *)(param_2 + 0x20);\n    uVar10 = dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5);\n    FUN_00032b30(uVar10,uVar7);\n    return 0;\n  }\n  bVar1 = *(byte *)(iVar5 + 0x2c);\n  *(uint *)(iVar5 + 0x28) = *(uint *)(iVar5 + 0x28) | 0x100000;\n  *(byte *)(iVar5 + 0x2c) = bVar1 | 8;\n  if (*(char *)(param_2 + 0x25) < '\0') {\n    *(byte *)(iVar5 + 0x2c) = bVar1 | 0x48;\n  }\n  if ((*(byte *)(param_2 + 0x24) & 0x24) != 0x20) {\n    iVar5 = bfd_check_format(iVar5,2);\n    if (iVar5 == 0) {\n      iVar5 = *(int *)(param_2 + 0x10);\n    }\n    else {\n      iVar5 = bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0);\n    }\n    if (iVar5 != 0) {\n      iVar8 = bfd_check_format(iVar5,1);\n      if (iVar8 != 0) {\n        if (((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)) {\n          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          FUN_00032b30(uVar7,param_1);\n        }\n        else {\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }\n        bfd_close(*(undefined4 *)(param_2 + 0x10));\n        *(undefined4 *)(param_2 + 0x10) = 0;\n        return 0;\n      }\n      if (((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)) &&\n         ((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)))) {\n        FUN_00032eb0();\n        DAT_0008491c = 1;\n        DAT_00084b48 = 0;\n        FUN_0001b0a0();\n        iVar5 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }\n        } while (iVar5 != 0);\n        FUN_0001b0d0();\n        DAT_0008491c = 0;\n        fclose(DAT_000845ac);\n        DAT_000845ac = (FILE *)0x0;\n        if (bVar2) {\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n          bfd_close(*(undefined4 *)(param_2 + 0x10));\n          *(undefined4 *)(param_2 + 0x10) = 0;\n          return 0;\n        }\n      }\n    }\n  }\nLAB_000331ca:\n  if ((((DAT_00084bc1 & 2) != 0) && (DAT_00084980 == 0)) &&\n     (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),1), iVar5 != 0)) {\n    FUN_00036590(param_2);\n  }\n  return 1;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "bool bVar2;" (primitive_type "bool") (identifier "bVar2") (; ";")) (declaration "char *pcVar3;" (primitive_type "char") (pointer_declarator "*pcVar3" (* "*") (identifier "pcVar3")) (; ";")) (declaration "bool bVar4;" (primitive_type "bool") (identifier "bVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "char *pcVar6;" (primitive_type "char") (pointer_declarator "*pcVar6" (* "*") (identifier "pcVar6")) (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "char *pcVar9;" (primitive_type "char") (pointer_declarator "*pcVar9" (* "*") (identifier "pcVar9")) (; ";")) (declaration "undefined4 uVar10;" (type_identifier "undefined4") (identifier "uVar10") (; ";")) (declaration "char *pcVar11;" (primitive_type "char") (pointer_declarator "*pcVar11" (* "*") (identifier "pcVar11")) (; ";")) (declaration "char *local_2c;" (primitive_type "char") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c")) (; ";")) (declaration "char *local_24;" (primitive_type "char") (pointer_declarator "*local_24" (* "*") (identifier "local_24")) (; ";")) (expression_statement "iVar5 = bfd_openr(param_1,*(undefined4 *)(param_2 + 0x20));" (assignment_expression "iVar5 = bfd_openr(param_1,*(undefined4 *)(param_2 + 0x20))" (identifier "iVar5") (= "=") (call_expression "bfd_openr(param_1,*(undefined4 *)(param_2 + 0x20))" (identifier "bfd_openr") (argument_list "(param_1,*(undefined4 *)(param_2 + 0x20))" (( "(") (identifier "param_1") (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0x20)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x20)" (( "(") (binary_expression "param_2 + 0x20" (identifier "param_2") (+ "+") (number_literal "0x20")) () ")")))) () ")")))) (; ";")) (expression_statement "*(int *)(param_2 + 0x10) = iVar5;" (assignment_expression "*(int *)(param_2 + 0x10) = iVar5" (pointer_expression "*(int *)(param_2 + 0x10)" (* "*") (cast_expression "(int *)(param_2 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x10)" (( "(") (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "iVar5")) (; ";")) (if_statement "if (DAT_00084d3c != 0) {\n    if (iVar5 == 0) {\n      pcVar6 = "attempt to open %s failed\n";\n    }\n    else {\n      pcVar6 = "attempt to open %s succeeded\n";\n    }\n    uVar7 = dcgettext(0,pcVar6,5);\n    FUN_00032b00(uVar7,param_1);\n    iVar5 = *(int *)(param_2 + 0x10);\n  }" (if "if") (parenthesized_expression "(DAT_00084d3c != 0)" (( "(") (binary_expression "DAT_00084d3c != 0" (identifier "DAT_00084d3c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (iVar5 == 0) {\n      pcVar6 = "attempt to open %s failed\n";\n    }\n    else {\n      pcVar6 = "attempt to open %s succeeded\n";\n    }\n    uVar7 = dcgettext(0,pcVar6,5);\n    FUN_00032b00(uVar7,param_1);\n    iVar5 = *(int *)(param_2 + 0x10);\n  }" ({ "{") (if_statement "if (iVar5 == 0) {\n      pcVar6 = "attempt to open %s failed\n";\n    }\n    else {\n      pcVar6 = "attempt to open %s succeeded\n";\n    }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      pcVar6 = "attempt to open %s failed\n";\n    }" ({ "{") (expression_statement "pcVar6 = "attempt to open %s failed\n";" (assignment_expression "pcVar6 = "attempt to open %s failed\n"" (identifier "pcVar6") (= "=") (string_literal ""attempt to open %s failed\n"" (" """) (string_content "attempt to open %s failed") (escape_sequence "\n") (" """))) (; ";")) (} "}")) (else_clause "else {\n      pcVar6 = "attempt to open %s succeeded\n";\n    }" (else "else") (compound_statement "{\n      pcVar6 = "attempt to open %s succeeded\n";\n    }" ({ "{") (expression_statement "pcVar6 = "attempt to open %s succeeded\n";" (assignment_expression "pcVar6 = "attempt to open %s succeeded\n"" (identifier "pcVar6") (= "=") (string_literal ""attempt to open %s succeeded\n"" (" """) (string_content "attempt to open %s succeeded") (escape_sequence "\n") (" """))) (; ";")) (} "}")))) (expression_statement "uVar7 = dcgettext(0,pcVar6,5);" (assignment_expression "uVar7 = dcgettext(0,pcVar6,5)" (identifier "uVar7") (= "=") (call_expression "dcgettext(0,pcVar6,5)" (identifier "dcgettext") (argument_list "(0,pcVar6,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar6") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00032b00(uVar7,param_1);" (call_expression "FUN_00032b00(uVar7,param_1)" (identifier "FUN_00032b00") (argument_list "(uVar7,param_1)" (( "(") (identifier "uVar7") (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "iVar5 = *(int *)(param_2 + 0x10);" (assignment_expression "iVar5 = *(int *)(param_2 + 0x10)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(param_2 + 0x10)" (* "*") (cast_expression "(int *)(param_2 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x10)" (( "(") (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}"))) (if_statement "if (iVar5 == 0) {\n    iVar5 = bfd_get_error();\n    if (iVar5 != 2) {\n      return 0;\n    }\n    uVar7 = *(undefined4 *)(param_2 + 0x20);\n    uVar10 = dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5);\n    FUN_00032b30(uVar10,uVar7);\n    return 0;\n  }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar5 = bfd_get_error();\n    if (iVar5 != 2) {\n      return 0;\n    }\n    uVar7 = *(undefined4 *)(param_2 + 0x20);\n    uVar10 = dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5);\n    FUN_00032b30(uVar10,uVar7);\n    return 0;\n  }" ({ "{") (expression_statement "iVar5 = bfd_get_error();" (assignment_expression "iVar5 = bfd_get_error()" (identifier "iVar5") (= "=") (call_expression "bfd_get_error()" (identifier "bfd_get_error") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar5 != 2) {\n      return 0;\n    }" (if "if") (parenthesized_expression "(iVar5 != 2)" (( "(") (binary_expression "iVar5 != 2" (identifier "iVar5") (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n      return 0;\n    }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "uVar7 = *(undefined4 *)(param_2 + 0x20);" (assignment_expression "uVar7 = *(undefined4 *)(param_2 + 0x20)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)(param_2 + 0x20)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x20)" (( "(") (binary_expression "param_2 + 0x20" (identifier "param_2") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "uVar10 = dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5);" (assignment_expression "uVar10 = dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5)" (identifier "dcgettext") (argument_list "(0,"%F%P: invalid BFD target `%s\'\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%F%P: invalid BFD target `%s\'\n"" (" """) (string_content "%F%P: invalid BFD target `%s") (escape_sequence "\'") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00032b30(uVar10,uVar7);" (call_expression "FUN_00032b30(uVar10,uVar7)" (identifier "FUN_00032b30") (argument_list "(uVar10,uVar7)" (( "(") (identifier "uVar10") (, ",") (identifier "uVar7") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "bVar1 = *(byte *)(iVar5 + 0x2c);" (assignment_expression "bVar1 = *(byte *)(iVar5 + 0x2c)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)(iVar5 + 0x2c)" (* "*") (cast_expression "(byte *)(iVar5 + 0x2c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x2c)" (( "(") (binary_expression "iVar5 + 0x2c" (identifier "iVar5") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "*(uint *)(iVar5 + 0x28) = *(uint *)(iVar5 + 0x28) | 0x100000;" (assignment_expression "*(uint *)(iVar5 + 0x28) = *(uint *)(iVar5 + 0x28) | 0x100000" (pointer_expression "*(uint *)(iVar5 + 0x28)" (* "*") (cast_expression "(uint *)(iVar5 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x28)" (( "(") (binary_expression "iVar5 + 0x28" (identifier "iVar5") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar5 + 0x28) | 0x100000" (pointer_expression "*(uint *)(iVar5 + 0x28)" (* "*") (cast_expression "(uint *)(iVar5 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x28)" (( "(") (binary_expression "iVar5 + 0x28" (identifier "iVar5") (+ "+") (number_literal "0x28")) () ")")))) (| "|") (number_literal "0x100000"))) (; ";")) (expression_statement "*(byte *)(iVar5 + 0x2c) = bVar1 | 8;" (assignment_expression "*(byte *)(iVar5 + 0x2c) = bVar1 | 8" (pointer_expression "*(byte *)(iVar5 + 0x2c)" (* "*") (cast_expression "(byte *)(iVar5 + 0x2c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x2c)" (( "(") (binary_expression "iVar5 + 0x2c" (identifier "iVar5") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (binary_expression "bVar1 | 8" (identifier "bVar1") (| "|") (number_literal "8"))) (; ";")) (if_statement "if (*(char *)(param_2 + 0x25) < '\0') {\n    *(byte *)(iVar5 + 0x2c) = bVar1 | 0x48;\n  }" (if "if") (parenthesized_expression "(*(char *)(param_2 + 0x25) < '\0')" (( "(") (binary_expression "*(char *)(param_2 + 0x25) < '\0'" (pointer_expression "*(char *)(param_2 + 0x25)" (* "*") (cast_expression "(char *)(param_2 + 0x25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x25)" (( "(") (binary_expression "param_2 + 0x25" (identifier "param_2") (+ "+") (number_literal "0x25")) () ")")))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    *(byte *)(iVar5 + 0x2c) = bVar1 | 0x48;\n  }" ({ "{") (expression_statement "*(byte *)(iVar5 + 0x2c) = bVar1 | 0x48;" (assignment_expression "*(byte *)(iVar5 + 0x2c) = bVar1 | 0x48" (pointer_expression "*(byte *)(iVar5 + 0x2c)" (* "*") (cast_expression "(byte *)(iVar5 + 0x2c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x2c)" (( "(") (binary_expression "iVar5 + 0x2c" (identifier "iVar5") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (binary_expression "bVar1 | 0x48" (identifier "bVar1") (| "|") (number_literal "0x48"))) (; ";")) (} "}"))) (if_statement "if ((*(byte *)(param_2 + 0x24) & 0x24) != 0x20) {\n    iVar5 = bfd_check_format(iVar5,2);\n    if (iVar5 == 0) {\n      iVar5 = *(int *)(param_2 + 0x10);\n    }\n    else {\n      iVar5 = bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0);\n    }\n    if (iVar5 != 0) {\n      iVar8 = bfd_check_format(iVar5,1);\n      if (iVar8 != 0) {\n        if (((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)) {\n          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          FUN_00032b30(uVar7,param_1);\n        }\n        else {\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }\n        bfd_close(*(undefined4 *)(param_2 + 0x10));\n        *(undefined4 *)(param_2 + 0x10) = 0;\n        return 0;\n      }\n      if (((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)) &&\n         ((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)))) {\n        FUN_00032eb0();\n        DAT_0008491c = 1;\n        DAT_00084b48 = 0;\n        FUN_0001b0a0();\n        iVar5 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }\n        } while (iVar5 != 0);\n        FUN_0001b0d0();\n        DAT_0008491c = 0;\n        fclose(DAT_000845ac);\n        DAT_000845ac = (FILE *)0x0;\n        if (bVar2) {\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n          bfd_close(*(undefined4 *)(param_2 + 0x10));\n          *(undefined4 *)(param_2 + 0x10) = 0;\n          return 0;\n        }\n      }\n    }\n  }" (if "if") (parenthesized_expression "((*(byte *)(param_2 + 0x24) & 0x24) != 0x20)" (( "(") (binary_expression "(*(byte *)(param_2 + 0x24) & 0x24) != 0x20" (parenthesized_expression "(*(byte *)(param_2 + 0x24) & 0x24)" (( "(") (binary_expression "*(byte *)(param_2 + 0x24) & 0x24" (pointer_expression "*(byte *)(param_2 + 0x24)" (* "*") (cast_expression "(byte *)(param_2 + 0x24)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x24)" (( "(") (binary_expression "param_2 + 0x24" (identifier "param_2") (+ "+") (number_literal "0x24")) () ")")))) (& "&") (number_literal "0x24")) () ")")) (!= "!=") (number_literal "0x20")) () ")")) (compound_statement "{\n    iVar5 = bfd_check_format(iVar5,2);\n    if (iVar5 == 0) {\n      iVar5 = *(int *)(param_2 + 0x10);\n    }\n    else {\n      iVar5 = bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0);\n    }\n    if (iVar5 != 0) {\n      iVar8 = bfd_check_format(iVar5,1);\n      if (iVar8 != 0) {\n        if (((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)) {\n          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          FUN_00032b30(uVar7,param_1);\n        }\n        else {\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }\n        bfd_close(*(undefined4 *)(param_2 + 0x10));\n        *(undefined4 *)(param_2 + 0x10) = 0;\n        return 0;\n      }\n      if (((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)) &&\n         ((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)))) {\n        FUN_00032eb0();\n        DAT_0008491c = 1;\n        DAT_00084b48 = 0;\n        FUN_0001b0a0();\n        iVar5 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }\n        } while (iVar5 != 0);\n        FUN_0001b0d0();\n        DAT_0008491c = 0;\n        fclose(DAT_000845ac);\n        DAT_000845ac = (FILE *)0x0;\n        if (bVar2) {\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n          bfd_close(*(undefined4 *)(param_2 + 0x10));\n          *(undefined4 *)(param_2 + 0x10) = 0;\n          return 0;\n        }\n      }\n    }\n  }" ({ "{") (expression_statement "iVar5 = bfd_check_format(iVar5,2);" (assignment_expression "iVar5 = bfd_check_format(iVar5,2)" (identifier "iVar5") (= "=") (call_expression "bfd_check_format(iVar5,2)" (identifier "bfd_check_format") (argument_list "(iVar5,2)" (( "(") (identifier "iVar5") (, ",") (number_literal "2") () ")")))) (; ";")) (if_statement "if (iVar5 == 0) {\n      iVar5 = *(int *)(param_2 + 0x10);\n    }\n    else {\n      iVar5 = bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0);\n    }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar5 = *(int *)(param_2 + 0x10);\n    }" ({ "{") (expression_statement "iVar5 = *(int *)(param_2 + 0x10);" (assignment_expression "iVar5 = *(int *)(param_2 + 0x10)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(param_2 + 0x10)" (* "*") (cast_expression "(int *)(param_2 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x10)" (( "(") (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      iVar5 = bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0);\n    }" (else "else") (compound_statement "{\n      iVar5 = bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0);\n    }" ({ "{") (expression_statement "iVar5 = bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0);" (assignment_expression "iVar5 = bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0)" (identifier "iVar5") (= "=") (call_expression "bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0)" (identifier "bfd_openr_next_archived_file") (argument_list "(*(undefined4 *)(param_2 + 0x10),0)" (( "(") (pointer_expression "*(undefined4 *)(param_2 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x10)" (( "(") (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (number_literal "0") () ")")))) (; ";")) (} "}")))) (if_statement "if (iVar5 != 0) {\n      iVar8 = bfd_check_format(iVar5,1);\n      if (iVar8 != 0) {\n        if (((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)) {\n          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          FUN_00032b30(uVar7,param_1);\n        }\n        else {\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }\n        bfd_close(*(undefined4 *)(param_2 + 0x10));\n        *(undefined4 *)(param_2 + 0x10) = 0;\n        return 0;\n      }\n      if (((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)) &&\n         ((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)))) {\n        FUN_00032eb0();\n        DAT_0008491c = 1;\n        DAT_00084b48 = 0;\n        FUN_0001b0a0();\n        iVar5 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }\n        } while (iVar5 != 0);\n        FUN_0001b0d0();\n        DAT_0008491c = 0;\n        fclose(DAT_000845ac);\n        DAT_000845ac = (FILE *)0x0;\n        if (bVar2) {\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n          bfd_close(*(undefined4 *)(param_2 + 0x10));\n          *(undefined4 *)(param_2 + 0x10) = 0;\n          return 0;\n        }\n      }\n    }" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar8 = bfd_check_format(iVar5,1);\n      if (iVar8 != 0) {\n        if (((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)) {\n          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          FUN_00032b30(uVar7,param_1);\n        }\n        else {\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }\n        bfd_close(*(undefined4 *)(param_2 + 0x10));\n        *(undefined4 *)(param_2 + 0x10) = 0;\n        return 0;\n      }\n      if (((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)) &&\n         ((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)))) {\n        FUN_00032eb0();\n        DAT_0008491c = 1;\n        DAT_00084b48 = 0;\n        FUN_0001b0a0();\n        iVar5 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }\n        } while (iVar5 != 0);\n        FUN_0001b0d0();\n        DAT_0008491c = 0;\n        fclose(DAT_000845ac);\n        DAT_000845ac = (FILE *)0x0;\n        if (bVar2) {\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n          bfd_close(*(undefined4 *)(param_2 + 0x10));\n          *(undefined4 *)(param_2 + 0x10) = 0;\n          return 0;\n        }\n      }\n    }" ({ "{") (expression_statement "iVar8 = bfd_check_format(iVar5,1);" (assignment_expression "iVar8 = bfd_check_format(iVar5,1)" (identifier "iVar8") (= "=") (call_expression "bfd_check_format(iVar5,1)" (identifier "bfd_check_format") (argument_list "(iVar5,1)" (( "(") (identifier "iVar5") (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if (iVar8 != 0) {\n        if (((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)) {\n          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          FUN_00032b30(uVar7,param_1);\n        }\n        else {\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }\n        bfd_close(*(undefined4 *)(param_2 + 0x10));\n        *(undefined4 *)(param_2 + 0x10) = 0;\n        return 0;\n      }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if (((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)) {\n          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          FUN_00032b30(uVar7,param_1);\n        }\n        else {\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }\n        bfd_close(*(undefined4 *)(param_2 + 0x10));\n        *(undefined4 *)(param_2 + 0x10) = 0;\n        return 0;\n      }" ({ "{") (if_statement "if (((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)) {\n          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          FUN_00032b30(uVar7,param_1);\n        }\n        else {\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }" (if "if") (parenthesized_expression "(((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0))" (( "(") (binary_expression "((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&\n           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)" (parenthesized_expression "((*(byte *)(param_2 + 0x24) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)(param_2 + 0x24) & 0x20) == 0" (parenthesized_expression "(*(byte *)(param_2 + 0x24) & 0x20)" (( "(") (binary_expression "*(byte *)(param_2 + 0x24) & 0x20" (pointer_expression "*(byte *)(param_2 + 0x24)" (* "*") (cast_expression "(byte *)(param_2 + 0x24)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x24)" (( "(") (binary_expression "param_2 + 0x24" (identifier "param_2") (+ "+") (number_literal "0x24")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)" (( "(") (binary_expression "(*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0" (parenthesized_expression "(*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8)" (( "(") (binary_expression "*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8" (pointer_expression "*(byte *)(*(int *)(param_2 + 0x10) + 0x29)" (* "*") (cast_expression "(byte *)(*(int *)(param_2 + 0x10) + 0x29)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_2 + 0x10) + 0x29)" (( "(") (binary_expression "*(int *)(param_2 + 0x10) + 0x29" (pointer_expression "*(int *)(param_2 + 0x10)" (* "*") (cast_expression "(int *)(param_2 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x10)" (( "(") (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x29")) () ")")))) (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);\n          FUN_00032b30(uVar7,param_1);\n        }" ({ "{") (expression_statement "uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);" (assignment_expression "uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5)" (identifier "uVar7") (= "=") (call_expression "dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5)" (identifier "dcgettext") (argument_list "(0,"%F%P: attempted static link of dynamic object `%s\'\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%F%P: attempted static link of dynamic object `%s\'\n"" (" """) (string_content "%F%P: attempted static link of dynamic object `%s") (escape_sequence "\'") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00032b30(uVar7,param_1);" (call_expression "FUN_00032b30(uVar7,param_1)" (identifier "FUN_00032b30") (argument_list "(uVar7,param_1)" (( "(") (identifier "uVar7") (, ",") (identifier "param_1") () ")"))) (; ";")) (} "}")) (else_clause "else {\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }" (else "else") (compound_statement "{\n          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n        }" ({ "{") (if_statement "if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))\n          goto LAB_000331ca;" (if "if") (parenthesized_expression "((((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))" (( "(") (binary_expression "(((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||\n             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0)))" (parenthesized_expression "(((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0))" (( "(") (binary_expression "((*(byte *)(param_2 + 0x24) & 4) == 0) ||\n              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)" (parenthesized_expression "((*(byte *)(param_2 + 0x24) & 4) == 0)" (( "(") (binary_expression "(*(byte *)(param_2 + 0x24) & 4) == 0" (parenthesized_expression "(*(byte *)(param_2 + 0x24) & 4)" (( "(") (binary_expression "*(byte *)(param_2 + 0x24) & 4" (pointer_expression "*(byte *)(param_2 + 0x24)" (* "*") (cast_expression "(byte *)(param_2 + 0x24)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x24)" (( "(") (binary_expression "param_2 + 0x24" (identifier "param_2") (+ "+") (number_literal "0x24")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)" (( "(") (comma_expression "iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0" (assignment_expression "iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c)" (identifier "iVar8") (= "=") (call_expression "bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c)" (identifier "bfd_arch_get_compatible") (argument_list "(iVar5,DAT_00084bf4,DAT_00084c7c)" (( "(") (identifier "iVar5") (, ",") (identifier "DAT_00084bf4") (, ",") (identifier "DAT_00084c7c") () ")")))) (, ",") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0)))" (( "(") (parenthesized_expression "((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))" (( "(") (binary_expression "(*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&\n              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0)" (parenthesized_expression "(*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4))" (( "(") (binary_expression "*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&\n               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)" (binary_expression "*(int *)(*(int *)(iVar5 + 4) + 4) == 4" (pointer_expression "*(int *)(*(int *)(iVar5 + 4) + 4)" (* "*") (cast_expression "(int *)(*(int *)(iVar5 + 4) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar5 + 4) + 4)" (( "(") (binary_expression "*(int *)(iVar5 + 4) + 4" (pointer_expression "*(int *)(iVar5 + 4)" (* "*") (cast_expression "(int *)(iVar5 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 4)" (( "(") (binary_expression "iVar5 + 4" (identifier "iVar5") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "4")) (&& "&&") (parenthesized_expression "(*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)" (( "(") (binary_expression "*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4" (pointer_expression "*(int *)(*(int *)(DAT_00084bf4 + 4) + 4)" (* "*") (cast_expression "(int *)(*(int *)(DAT_00084bf4 + 4) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(DAT_00084bf4 + 4) + 4)" (( "(") (binary_expression "*(int *)(DAT_00084bf4 + 4) + 4" (pointer_expression "*(int *)(DAT_00084bf4 + 4)" (* "*") (cast_expression "(int *)(DAT_00084bf4 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00084bf4 + 4)" (( "(") (binary_expression "DAT_00084bf4 + 4" (identifier "DAT_00084bf4") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "4")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0)" (( "(") (comma_expression "iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0" (assignment_expression "iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2)" (identifier "iVar5") (= "=") (call_expression "bfd_check_format(*(undefined4 *)(param_2 + 0x10),2)" (identifier "bfd_check_format") (argument_list "(*(undefined4 *)(param_2 + 0x10),2)" (( "(") (pointer_expression "*(undefined4 *)(param_2 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x10)" (( "(") (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (number_literal "2") () ")")))) (, ",") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0"))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_000331ca;" (goto "goto") (statement_identifier "LAB_000331ca") (; ";"))) (if_statement "if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }" (if "if") (parenthesized_expression "(DAT_00084c74 != 0)" (( "(") (binary_expression "DAT_00084c74 != 0" (identifier "DAT_00084c74") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }" ({ "{") (expression_statement "uVar7 = *(undefined4 *)(param_2 + 0xc);" (assignment_expression "uVar7 = *(undefined4 *)(param_2 + 0xc)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)(param_2 + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xc)" (( "(") (binary_expression "param_2 + 0xc" (identifier "param_2") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);" (assignment_expression "uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5)" (identifier "dcgettext") (argument_list "(0,"%P: skipping incompatible %s when searching for %s\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%P: skipping incompatible %s when searching for %s\n"" (" """) (string_content "%P: skipping incompatible %s when searching for %s") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00032b30(uVar10,param_1,uVar7);" (call_expression "FUN_00032b30(uVar10,param_1,uVar7)" (identifier "FUN_00032b30") (argument_list "(uVar10,param_1,uVar7)" (( "(") (identifier "uVar10") (, ",") (identifier "param_1") (, ",") (identifier "uVar7") () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "bfd_close(*(undefined4 *)(param_2 + 0x10));" (call_expression "bfd_close(*(undefined4 *)(param_2 + 0x10))" (identifier "bfd_close") (argument_list "(*(undefined4 *)(param_2 + 0x10))" (( "(") (pointer_expression "*(undefined4 *)(param_2 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x10)" (( "(") (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(param_2 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(param_2 + 0x10) = 0" (pointer_expression "*(undefined4 *)(param_2 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x10)" (( "(") (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (if_statement "if (((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)) &&\n         ((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)))) {\n        FUN_00032eb0();\n        DAT_0008491c = 1;\n        DAT_00084b48 = 0;\n        FUN_0001b0a0();\n        iVar5 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }\n        } while (iVar5 != 0);\n        FUN_0001b0d0();\n        DAT_0008491c = 0;\n        fclose(DAT_000845ac);\n        DAT_000845ac = (FILE *)0x0;\n        if (bVar2) {\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n          bfd_close(*(undefined4 *)(param_2 + 0x10));\n          *(undefined4 *)(param_2 + 0x10) = 0;\n          return 0;\n        }\n      }" (if "if") (parenthesized_expression "(((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)) &&\n         ((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0))))" (( "(") (binary_expression "((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)) &&\n         ((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)))" (parenthesized_expression "((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0))" (( "(") (binary_expression "(*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)" (parenthesized_expression "(*(int *)(param_2 + 0x10) == iVar5)" (( "(") (binary_expression "*(int *)(param_2 + 0x10) == iVar5" (pointer_expression "*(int *)(param_2 + 0x10)" (* "*") (cast_expression "(int *)(param_2 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x10)" (( "(") (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (identifier "iVar5")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(param_2 + 0x24) & 4) != 0)" (( "(") (binary_expression "(*(byte *)(param_2 + 0x24) & 4) != 0" (parenthesized_expression "(*(byte *)(param_2 + 0x24) & 4)" (( "(") (binary_expression "*(byte *)(param_2 + 0x24) & 4" (pointer_expression "*(byte *)(param_2 + 0x24)" (* "*") (cast_expression "(byte *)(param_2 + 0x24)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x24)" (( "(") (binary_expression "param_2 + 0x24" (identifier "param_2") (+ "+") (number_literal "0x24")) () ")")))) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)))" (( "(") (parenthesized_expression "(iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0))" (( "(") (comma_expression "iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)" (assignment_expression "iVar5 = bfd_get_error()" (identifier "iVar5") (= "=") (call_expression "bfd_get_error()" (identifier "bfd_get_error") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)" (binary_expression "iVar5 == 0xc" (identifier "iVar5") (== "==") (number_literal "0xc")) (&& "&&") (parenthesized_expression "(iVar5 = FUN_000315b0(param_2), iVar5 == 0)" (( "(") (comma_expression "iVar5 = FUN_000315b0(param_2), iVar5 == 0" (assignment_expression "iVar5 = FUN_000315b0(param_2)" (identifier "iVar5") (= "=") (call_expression "FUN_000315b0(param_2)" (identifier "FUN_000315b0") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (, ",") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n        FUN_00032eb0();\n        DAT_0008491c = 1;\n        DAT_00084b48 = 0;\n        FUN_0001b0a0();\n        iVar5 = 0x16f;\n        bVar2 = false;\n        do {\n          if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }\n        } while (iVar5 != 0);\n        FUN_0001b0d0();\n        DAT_0008491c = 0;\n        fclose(DAT_000845ac);\n        DAT_000845ac = (FILE *)0x0;\n        if (bVar2) {\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n          bfd_close(*(undefined4 *)(param_2 + 0x10));\n          *(undefined4 *)(param_2 + 0x10) = 0;\n          return 0;\n        }\n      }" ({ "{") (expression_statement "FUN_00032eb0();" (call_expression "FUN_00032eb0()" (identifier "FUN_00032eb0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "DAT_0008491c = 1;" (assignment_expression "DAT_0008491c = 1" (identifier "DAT_0008491c") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_00084b48 = 0;" (assignment_expression "DAT_00084b48 = 0" (identifier "DAT_00084b48") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0001b0a0();" (call_expression "FUN_0001b0a0()" (identifier "FUN_0001b0a0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar5 = 0x16f;" (assignment_expression "iVar5 = 0x16f" (identifier "iVar5") (= "=") (number_literal "0x16f")) (; ";")) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" (identifier "bVar2") (= "=") (false "false")) (; ";")) (do_statement "do {\n          if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }\n        } while (iVar5 != 0);" (do "do") (compound_statement "{\n          if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }\n        }" ({ "{") (if_statement "if (iVar5 < 0x105) {\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }\n          else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }" (if "if") (parenthesized_expression "(iVar5 < 0x105)" (( "(") (binary_expression "iVar5 < 0x105" (identifier "iVar5") (< "<") (number_literal "0x105")) () ")")) (compound_statement "{\n            if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }\nLAB_000332b8:\n            iVar5 = FUN_00018f90();\n          }" ({ "{") (if_statement "if (iVar5 < 0x103) {\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }\n            else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }" (if "if") (parenthesized_expression "(iVar5 < 0x103)" (( "(") (binary_expression "iVar5 < 0x103" (identifier "iVar5") (< "<") (number_literal "0x103")) () ")")) (compound_statement "{\n              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;\nLAB_000332a7:\n              free(local_24);\n            }" ({ "{") (if_statement "if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))\n              goto LAB_000332b8;" (if "if") (parenthesized_expression "((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))" (( "(") (binary_expression "(iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0)" (parenthesized_expression "(iVar5 != 0x102)" (( "(") (binary_expression "iVar5 != 0x102" (identifier "iVar5") (!= "!=") (number_literal "0x102")) () ")")) (|| "||") (parenthesized_expression "(local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0)" (( "(") (comma_expression "local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0" (assignment_expression "local_24 = DAT_00084b3c" (identifier "local_24") (= "=") (identifier "DAT_00084b3c")) (, ",") (binary_expression "DAT_00084b3c == (char *)0x0" (identifier "DAT_00084b3c") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (goto_statement "goto LAB_000332b8;" (goto "goto") (statement_identifier "LAB_000332b8") (; ";"))) (labeled_statement "LAB_000332a7:\n              free(local_24);" (statement_identifier "LAB_000332a7") (: ":") (expression_statement "free(local_24);" (call_expression "free(local_24)" (identifier "free") (argument_list "(local_24)" (( "(") (identifier "local_24") () ")"))) (; ";"))) (} "}")) (else_clause "else {\nLAB_0003351c:\n              free(DAT_00084b34);\n            }" (else "else") (compound_statement "{\nLAB_0003351c:\n              free(DAT_00084b34);\n            }" ({ "{") (labeled_statement "LAB_0003351c:\n              free(DAT_00084b34);" (statement_identifier "LAB_0003351c") (: ":") (expression_statement "free(DAT_00084b34);" (call_expression "free(DAT_00084b34)" (identifier "free") (argument_list "(DAT_00084b34)" (( "(") (identifier "DAT_00084b34") () ")"))) (; ";"))) (} "}")))) (labeled_statement "LAB_000332b8:\n            iVar5 = FUN_00018f90();" (statement_identifier "LAB_000332b8") (: ":") (expression_statement "iVar5 = FUN_00018f90();" (assignment_expression "iVar5 = FUN_00018f90()" (identifier "iVar5") (= "=") (call_expression "FUN_00018f90()" (identifier "FUN_00018f90") (argument_list "()" (( "(") () ")")))) (; ";"))) (} "}")) (else_clause "else {\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }" (else "else") (compound_statement "{\n            if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }\n            iVar5 = FUN_00018f90();\n            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }\n          }" ({ "{") (if_statement "if (iVar5 != 300) {\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }" (if "if") (parenthesized_expression "(iVar5 != 300)" (( "(") (binary_expression "iVar5 != 300" (identifier "iVar5") (!= "!=") (number_literal "300")) () ")")) (compound_statement "{\n              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;\n              goto LAB_000332b8;\n            }" ({ "{") (if_statement "if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;" (if "if") (parenthesized_expression "((299 < iVar5) && (iVar5 - 0x175U < 2))" (( "(") (binary_expression "(299 < iVar5) && (iVar5 - 0x175U < 2)" (parenthesized_expression "(299 < iVar5)" (( "(") (binary_expression "299 < iVar5" (number_literal "299") (< "<") (identifier "iVar5")) () ")")) (&& "&&") (parenthesized_expression "(iVar5 - 0x175U < 2)" (( "(") (binary_expression "iVar5 - 0x175U < 2" (binary_expression "iVar5 - 0x175U" (identifier "iVar5") (- "-") (number_literal "0x175U")) (< "<") (number_literal "2")) () ")"))) () ")")) (goto_statement "goto LAB_0003351c;" (goto "goto") (statement_identifier "LAB_0003351c") (; ";"))) (goto_statement "goto LAB_000332b8;" (goto "goto") (statement_identifier "LAB_000332b8") (; ";")) (} "}"))) (expression_statement "iVar5 = FUN_00018f90();" (assignment_expression "iVar5 = FUN_00018f90()" (identifier "iVar5") (= "=") (call_expression "FUN_00018f90()" (identifier "FUN_00018f90") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))\n            {\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }" (if "if") (parenthesized_expression "((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))" (( "(") (binary_expression "(iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103)" (parenthesized_expression "(iVar5 == 0x28)" (( "(") (binary_expression "iVar5 == 0x28" (identifier "iVar5") (== "==") (number_literal "0x28")) () ")")) (&& "&&") (parenthesized_expression "(iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103)" (( "(") (comma_expression "iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103" (assignment_expression "iVar5 = FUN_00018f90()" (identifier "iVar5") (= "=") (call_expression "FUN_00018f90()" (identifier "FUN_00018f90") (argument_list "()" (( "(") () ")")))) (, ",") (comma_expression "pcVar6 = DAT_00084b34, iVar5 == 0x103" (assignment_expression "pcVar6 = DAT_00084b34" (identifier "pcVar6") (= "=") (identifier "DAT_00084b34")) (, ",") (binary_expression "iVar5 == 0x103" (identifier "iVar5") (== "==") (number_literal "0x103")))) () ")"))) () ")")) (compound_statement "{\n              iVar5 = FUN_00018f90();\n              pcVar11 = pcVar6;\n              if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }\n              iVar5 = FUN_00018f90();\n              pcVar9 = DAT_00084b34;\n              if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }\n            }" ({ "{") (expression_statement "iVar5 = FUN_00018f90();" (assignment_expression "iVar5 = FUN_00018f90()" (identifier "iVar5") (= "=") (call_expression "FUN_00018f90()" (identifier "FUN_00018f90") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pcVar11 = pcVar6;" (assignment_expression "pcVar11 = pcVar6" (identifier "pcVar11") (= "=") (identifier "pcVar6")) (; ";")) (if_statement "if (iVar5 != 0x2c) {\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }" (if "if") (parenthesized_expression "(iVar5 != 0x2c)" (( "(") (binary_expression "iVar5 != 0x2c" (identifier "iVar5") (!= "!=") (number_literal "0x2c")) () ")")) (compound_statement "{\n                if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }\n                if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }\nLAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;\n                goto LAB_000332b8;\n              }" ({ "{") (if_statement "if (iVar5 != 0x29) {\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }" (if "if") (parenthesized_expression "(iVar5 != 0x29)" (( "(") (binary_expression "iVar5 != 0x29" (identifier "iVar5") (!= "!=") (number_literal "0x29")) () ")")) (compound_statement "{\n                  free(pcVar6);\n                  goto LAB_000332b8;\n                }" ({ "{") (expression_statement "free(pcVar6);" (call_expression "free(pcVar6)" (identifier "free") (argument_list "(pcVar6)" (( "(") (identifier "pcVar6") () ")"))) (; ";")) (goto_statement "goto LAB_000332b8;" (goto "goto") (statement_identifier "LAB_000332b8") (; ";")) (} "}"))) (if_statement "if (DAT_00084c90 == 1) {\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }\n                else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }" (if "if") (parenthesized_expression "(DAT_00084c90 == 1)" (( "(") (binary_expression "DAT_00084c90 == 1" (identifier "DAT_00084c90") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n                  local_24 = (char *)0x0;\nLAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar6,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\n                }" ({ "{") (expression_statement "local_24 = (char *)0x0;" (assignment_expression "local_24 = (char *)0x0" (identifier "local_24") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_000336a0:\n                  pcVar11 = (char *)FUN_00024a30();" (statement_identifier "LAB_000336a0") (: ":") (expression_statement "pcVar11 = (char *)FUN_00024a30();" (assignment_expression "pcVar11 = (char *)FUN_00024a30()" (identifier "pcVar11") (= "=") (cast_expression "(char *)FUN_00024a30()" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00024a30()" (identifier "FUN_00024a30") (argument_list "()" (( "(") () ")"))))) (; ";"))) (expression_statement "iVar5 = strcmp(pcVar6,pcVar11);" (assignment_expression "iVar5 = strcmp(pcVar6,pcVar11)" (identifier "iVar5") (= "=") (call_expression "strcmp(pcVar6,pcVar11)" (identifier "strcmp") (argument_list "(pcVar6,pcVar11)" (( "(") (identifier "pcVar6") (, ",") (identifier "pcVar11") () ")")))) (; ";")) (if_statement "if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    free(pcVar6);\n                  }" ({ "{") (expression_statement "free(pcVar6);" (call_expression "free(pcVar6)" (identifier "free") (argument_list "(pcVar6)" (( "(") (identifier "pcVar6") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }" (else "else") (compound_statement "{\n                    free(pcVar6);\n                    bVar2 = true;\n                  }" ({ "{") (expression_statement "free(pcVar6);" (call_expression "free(pcVar6)" (identifier "free") (argument_list "(pcVar6)" (( "(") (identifier "pcVar6") () ")"))) (; ";")) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" (identifier "bVar2") (= "=") (true "true")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }" (else "else") (compound_statement "{\n                  if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }\nLAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar11,pcVar9);\n                  bVar4 = true;\n                  if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }\nLAB_00033360:\n                  bVar2 = bVar4;\n                  free(pcVar6);\n                  if (local_2c != (char *)0x0) goto LAB_00033373;\n                }" ({ "{") (if_statement "if (DAT_00084c90 == 2) {\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }\n                  else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }" (if "if") (parenthesized_expression "(DAT_00084c90 == 2)" (( "(") (binary_expression "DAT_00084c90 == 2" (identifier "DAT_00084c90") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n                    local_2c = (char *)0x0;\nLAB_00033646:\n                    local_24 = (char *)0x0;\n                    pcVar11 = pcVar6;\n                  }" ({ "{") (expression_statement "local_2c = (char *)0x0;" (assignment_expression "local_2c = (char *)0x0" (identifier "local_2c") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_00033646:\n                    local_24 = (char *)0x0;" (statement_identifier "LAB_00033646") (: ":") (expression_statement "local_24 = (char *)0x0;" (assignment_expression "local_24 = (char *)0x0" (identifier "local_24") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "pcVar11 = pcVar6;" (assignment_expression "pcVar11 = pcVar6" (identifier "pcVar11") (= "=") (identifier "pcVar6")) (; ";")) (} "}")) (else_clause "else {\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }" (else "else") (compound_statement "{\n                    local_24 = (char *)0x0;\n                    local_2c = (char *)0x0;\n                  }" ({ "{") (expression_statement "local_24 = (char *)0x0;" (assignment_expression "local_24 = (char *)0x0" (identifier "local_24") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_2c = (char *)0x0;" (assignment_expression "local_2c = (char *)0x0" (identifier "local_2c") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (labeled_statement "LAB_00033337:\n                  pcVar9 = (char *)FUN_00024a30();" (statement_identifier "LAB_00033337") (: ":") (expression_statement "pcVar9 = (char *)FUN_00024a30();" (assignment_expression "pcVar9 = (char *)FUN_00024a30()" (identifier "pcVar9") (= "=") (cast_expression "(char *)FUN_00024a30()" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00024a30()" (identifier "FUN_00024a30") (argument_list "()" (( "(") () ")"))))) (; ";"))) (expression_statement "iVar5 = strcmp(pcVar11,pcVar9);" (assignment_expression "iVar5 = strcmp(pcVar11,pcVar9)" (identifier "iVar5") (= "=") (call_expression "strcmp(pcVar11,pcVar9)" (identifier "strcmp") (argument_list "(pcVar11,pcVar9)" (( "(") (identifier "pcVar11") (, ",") (identifier "pcVar9") () ")")))) (; ";")) (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" (identifier "bVar4") (= "=") (true "true")) (; ";")) (if_statement "if (iVar5 == 0) {\n                    bVar4 = bVar2;\n                  }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    bVar4 = bVar2;\n                  }" ({ "{") (expression_statement "bVar4 = bVar2;" (assignment_expression "bVar4 = bVar2" (identifier "bVar4") (= "=") (identifier "bVar2")) (; ";")) (} "}"))) (labeled_statement "LAB_00033360:\n                  bVar2 = bVar4;" (statement_identifier "LAB_00033360") (: ":") (expression_statement "bVar2 = bVar4;" (assignment_expression "bVar2 = bVar4" (identifier "bVar2") (= "=") (identifier "bVar4")) (; ";"))) (expression_statement "free(pcVar6);" (call_expression "free(pcVar6)" (identifier "free") (argument_list "(pcVar6)" (( "(") (identifier "pcVar6") () ")"))) (; ";")) (if_statement "if (local_2c != (char *)0x0) goto LAB_00033373;" (if "if") (parenthesized_expression "(local_2c != (char *)0x0)" (( "(") (binary_expression "local_2c != (char *)0x0" (identifier "local_2c") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00033373;" (goto "goto") (statement_identifier "LAB_00033373") (; ";"))) (} "}")))) (labeled_statement "LAB_00033382:\n                if (local_24 != (char *)0x0) goto LAB_000332a7;" (statement_identifier "LAB_00033382") (: ":") (if_statement "if (local_24 != (char *)0x0) goto LAB_000332a7;" (if "if") (parenthesized_expression "(local_24 != (char *)0x0)" (( "(") (binary_expression "local_24 != (char *)0x0" (identifier "local_24") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000332a7;" (goto "goto") (statement_identifier "LAB_000332a7") (; ";")))) (goto_statement "goto LAB_000332b8;" (goto "goto") (statement_identifier "LAB_000332b8") (; ";")) (} "}"))) (expression_statement "iVar5 = FUN_00018f90();" (assignment_expression "iVar5 = FUN_00018f90()" (identifier "iVar5") (= "=") (call_expression "FUN_00018f90()" (identifier "FUN_00018f90") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pcVar9 = DAT_00084b34;" (assignment_expression "pcVar9 = DAT_00084b34" (identifier "pcVar9") (= "=") (identifier "DAT_00084b34")) (; ";")) (if_statement "if (iVar5 == 0x103) {\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }\n              else {\n                free(pcVar6);\n              }" (if "if") (parenthesized_expression "(iVar5 == 0x103)" (( "(") (binary_expression "iVar5 == 0x103" (identifier "iVar5") (== "==") (number_literal "0x103")) () ")")) (compound_statement "{\n                local_2c = DAT_00084b34;\n                iVar5 = FUN_00018f90();\n                if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }\n                free(pcVar6);\n                free(pcVar9);\n              }" ({ "{") (expression_statement "local_2c = DAT_00084b34;" (assignment_expression "local_2c = DAT_00084b34" (identifier "local_2c") (= "=") (identifier "DAT_00084b34")) (; ";")) (expression_statement "iVar5 = FUN_00018f90();" (assignment_expression "iVar5 = FUN_00018f90()" (identifier "iVar5") (= "=") (call_expression "FUN_00018f90()" (identifier "FUN_00018f90") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }" (if "if") (parenthesized_expression "((iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103))" (( "(") (binary_expression "(iVar5 == 0x2c) &&\n                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)" (parenthesized_expression "(iVar5 == 0x2c)" (( "(") (binary_expression "iVar5 == 0x2c" (identifier "iVar5") (== "==") (number_literal "0x2c")) () ")")) (&& "&&") (parenthesized_expression "(iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)" (( "(") (comma_expression "iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103" (assignment_expression "iVar5 = FUN_00018f90()" (identifier "iVar5") (= "=") (call_expression "FUN_00018f90()" (identifier "FUN_00018f90") (argument_list "()" (( "(") () ")")))) (, ",") (comma_expression "pcVar3 = DAT_00084b34, iVar5 == 0x103" (assignment_expression "pcVar3 = DAT_00084b34" (identifier "pcVar3") (= "=") (identifier "DAT_00084b34")) (, ",") (binary_expression "iVar5 == 0x103" (identifier "iVar5") (== "==") (number_literal "0x103")))) () ")"))) () ")")) (compound_statement "{\n                  local_24 = DAT_00084b34;\n                  iVar5 = FUN_00018f90();\n                  bVar4 = bVar2;\n                  if (iVar5 != 0x29) goto LAB_00033360;\n                  if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }\n                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;\n                  pcVar11 = (char *)FUN_00024a30();\n                  iVar5 = strcmp(pcVar9,pcVar11);\n                  if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }\nLAB_00033373:\n                  free(local_2c);\n                  goto LAB_00033382;\n                }" ({ "{") (expression_statement "local_24 = DAT_00084b34;" (assignment_expression "local_24 = DAT_00084b34" (identifier "local_24") (= "=") (identifier "DAT_00084b34")) (; ";")) (expression_statement "iVar5 = FUN_00018f90();" (assignment_expression "iVar5 = FUN_00018f90()" (identifier "iVar5") (= "=") (call_expression "FUN_00018f90()" (identifier "FUN_00018f90") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "bVar4 = bVar2;" (assignment_expression "bVar4 = bVar2" (identifier "bVar4") (= "=") (identifier "bVar2")) (; ";")) (if_statement "if (iVar5 != 0x29) goto LAB_00033360;" (if "if") (parenthesized_expression "(iVar5 != 0x29)" (( "(") (binary_expression "iVar5 != 0x29" (identifier "iVar5") (!= "!=") (number_literal "0x29")) () ")")) (goto_statement "goto LAB_00033360;" (goto "goto") (statement_identifier "LAB_00033360") (; ";"))) (if_statement "if (DAT_00084c90 != 1) {\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }" (if "if") (parenthesized_expression "(DAT_00084c90 != 1)" (( "(") (binary_expression "DAT_00084c90 != 1" (identifier "DAT_00084c90") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;\n                    goto LAB_00033337;\n                  }" ({ "{") (if_statement "if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))\n                    goto LAB_00033646;" (if "if") (parenthesized_expression "((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))" (( "(") (binary_expression "(DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0)" (parenthesized_expression "(DAT_00084c90 == 2)" (( "(") (binary_expression "DAT_00084c90 == 2" (identifier "DAT_00084c90") (== "==") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "(pcVar11 = pcVar3, pcVar3 == (char *)0x0)" (( "(") (comma_expression "pcVar11 = pcVar3, pcVar3 == (char *)0x0" (assignment_expression "pcVar11 = pcVar3" (identifier "pcVar11") (= "=") (identifier "pcVar3")) (, ",") (binary_expression "pcVar3 == (char *)0x0" (identifier "pcVar3") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (goto_statement "goto LAB_00033646;" (goto "goto") (statement_identifier "LAB_00033646") (; ";"))) (goto_statement "goto LAB_00033337;" (goto "goto") (statement_identifier "LAB_00033337") (; ";")) (} "}"))) (if_statement "if (pcVar9 == (char *)0x0) goto LAB_000336a0;" (if "if") (parenthesized_expression "(pcVar9 == (char *)0x0)" (( "(") (binary_expression "pcVar9 == (char *)0x0" (identifier "pcVar9") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000336a0;" (goto "goto") (statement_identifier "LAB_000336a0") (; ";"))) (expression_statement "pcVar11 = (char *)FUN_00024a30();" (assignment_expression "pcVar11 = (char *)FUN_00024a30()" (identifier "pcVar11") (= "=") (cast_expression "(char *)FUN_00024a30()" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00024a30()" (identifier "FUN_00024a30") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "iVar5 = strcmp(pcVar9,pcVar11);" (assignment_expression "iVar5 = strcmp(pcVar9,pcVar11)" (identifier "iVar5") (= "=") (call_expression "strcmp(pcVar9,pcVar11)" (identifier "strcmp") (argument_list "(pcVar9,pcVar11)" (( "(") (identifier "pcVar9") (, ",") (identifier "pcVar11") () ")")))) (; ";")) (if_statement "if (iVar5 == 0) {\n                    free(pcVar6);\n                  }\n                  else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    free(pcVar6);\n                  }" ({ "{") (expression_statement "free(pcVar6);" (call_expression "free(pcVar6)" (identifier "free") (argument_list "(pcVar6)" (( "(") (identifier "pcVar6") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                    free(pcVar6);\n                    bVar2 = true;\n                  }" (else "else") (compound_statement "{\n                    free(pcVar6);\n                    bVar2 = true;\n                  }" ({ "{") (expression_statement "free(pcVar6);" (call_expression "free(pcVar6)" (identifier "free") (argument_list "(pcVar6)" (( "(") (identifier "pcVar6") () ")"))) (; ";")) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" (identifier "bVar2") (= "=") (true "true")) (; ";")) (} "}")))) (labeled_statement "LAB_00033373:\n                  free(local_2c);" (statement_identifier "LAB_00033373") (: ":") (expression_statement "free(local_2c);" (call_expression "free(local_2c)" (identifier "free") (argument_list "(local_2c)" (( "(") (identifier "local_2c") () ")"))) (; ";"))) (goto_statement "goto LAB_00033382;" (goto "goto") (statement_identifier "LAB_00033382") (; ";")) (} "}"))) (expression_statement "free(pcVar6);" (call_expression "free(pcVar6)" (identifier "free") (argument_list "(pcVar6)" (( "(") (identifier "pcVar6") () ")"))) (; ";")) (expression_statement "free(pcVar9);" (call_expression "free(pcVar9)" (identifier "free") (argument_list "(pcVar9)" (( "(") (identifier "pcVar9") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                free(pcVar6);\n              }" (else "else") (compound_statement "{\n                free(pcVar6);\n              }" ({ "{") (expression_statement "free(pcVar6);" (call_expression "free(pcVar6)" (identifier "free") (argument_list "(pcVar6)" (( "(") (identifier "pcVar6") () ")"))) (; ";")) (} "}")))) (} "}"))) (} "}")))) (} "}")) (while "while") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "FUN_0001b0d0();" (call_expression "FUN_0001b0d0()" (identifier "FUN_0001b0d0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "DAT_0008491c = 0;" (assignment_expression "DAT_0008491c = 0" (identifier "DAT_0008491c") (= "=") (number_literal "0")) (; ";")) (expression_statement "fclose(DAT_000845ac);" (call_expression "fclose(DAT_000845ac)" (identifier "fclose") (argument_list "(DAT_000845ac)" (( "(") (identifier "DAT_000845ac") () ")"))) (; ";")) (expression_statement "DAT_000845ac = (FILE *)0x0;" (assignment_expression "DAT_000845ac = (FILE *)0x0" (identifier "DAT_000845ac") (= "=") (cast_expression "(FILE *)0x0" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (bVar2) {\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n          bfd_close(*(undefined4 *)(param_2 + 0x10));\n          *(undefined4 *)(param_2 + 0x10) = 0;\n          return 0;\n        }" (if "if") (parenthesized_expression "(bVar2)" (( "(") (identifier "bVar2") () ")")) (compound_statement "{\n          if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }\n          bfd_close(*(undefined4 *)(param_2 + 0x10));\n          *(undefined4 *)(param_2 + 0x10) = 0;\n          return 0;\n        }" ({ "{") (if_statement "if (DAT_00084c74 != 0) {\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }" (if "if") (parenthesized_expression "(DAT_00084c74 != 0)" (( "(") (binary_expression "DAT_00084c74 != 0" (identifier "DAT_00084c74") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar7 = *(undefined4 *)(param_2 + 0xc);\n            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);\n            FUN_00032b30(uVar10,param_1,uVar7);\n          }" ({ "{") (expression_statement "uVar7 = *(undefined4 *)(param_2 + 0xc);" (assignment_expression "uVar7 = *(undefined4 *)(param_2 + 0xc)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)(param_2 + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xc)" (( "(") (binary_expression "param_2 + 0xc" (identifier "param_2") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74);" (assignment_expression "uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74)" (identifier "uVar10") (= "=") (call_expression "dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74)" (identifier "dcgettext") (argument_list "(0,"%P: skipping incompatible %s when searching for %s\n",5,\n                               DAT_00084c74)" (( "(") (number_literal "0") (, ",") (string_literal ""%P: skipping incompatible %s when searching for %s\n"" (" """) (string_content "%P: skipping incompatible %s when searching for %s") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") (, ",") (identifier "DAT_00084c74") () ")")))) (; ";")) (expression_statement "FUN_00032b30(uVar10,param_1,uVar7);" (call_expression "FUN_00032b30(uVar10,param_1,uVar7)" (identifier "FUN_00032b30") (argument_list "(uVar10,param_1,uVar7)" (( "(") (identifier "uVar10") (, ",") (identifier "param_1") (, ",") (identifier "uVar7") () ")"))) (; ";")) (} "}"))) (expression_statement "bfd_close(*(undefined4 *)(param_2 + 0x10));" (call_expression "bfd_close(*(undefined4 *)(param_2 + 0x10))" (identifier "bfd_close") (argument_list "(*(undefined4 *)(param_2 + 0x10))" (( "(") (pointer_expression "*(undefined4 *)(param_2 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x10)" (( "(") (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(param_2 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(param_2 + 0x10) = 0" (pointer_expression "*(undefined4 *)(param_2 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x10)" (( "(") (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (labeled_statement "LAB_000331ca:\n  if ((((DAT_00084bc1 & 2) != 0) && (DAT_00084980 == 0)) &&\n     (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),1), iVar5 != 0)) {\n    FUN_00036590(param_2);\n  }" (statement_identifier "LAB_000331ca") (: ":") (if_statement "if ((((DAT_00084bc1 & 2) != 0) && (DAT_00084980 == 0)) &&\n     (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),1), iVar5 != 0)) {\n    FUN_00036590(param_2);\n  }" (if "if") (parenthesized_expression "((((DAT_00084bc1 & 2) != 0) && (DAT_00084980 == 0)) &&\n     (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),1), iVar5 != 0))" (( "(") (binary_expression "(((DAT_00084bc1 & 2) != 0) && (DAT_00084980 == 0)) &&\n     (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),1), iVar5 != 0)" (parenthesized_expression "(((DAT_00084bc1 & 2) != 0) && (DAT_00084980 == 0))" (( "(") (binary_expression "((DAT_00084bc1 & 2) != 0) && (DAT_00084980 == 0)" (parenthesized_expression "((DAT_00084bc1 & 2) != 0)" (( "(") (binary_expression "(DAT_00084bc1 & 2) != 0" (parenthesized_expression "(DAT_00084bc1 & 2)" (( "(") (binary_expression "DAT_00084bc1 & 2" (identifier "DAT_00084bc1") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(DAT_00084980 == 0)" (( "(") (binary_expression "DAT_00084980 == 0" (identifier "DAT_00084980") (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),1), iVar5 != 0)" (( "(") (comma_expression "iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),1), iVar5 != 0" (assignment_expression "iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),1)" (identifier "iVar5") (= "=") (call_expression "bfd_check_format(*(undefined4 *)(param_2 + 0x10),1)" (identifier "bfd_check_format") (argument_list "(*(undefined4 *)(param_2 + 0x10),1)" (( "(") (pointer_expression "*(undefined4 *)(param_2 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x10)" (( "(") (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (number_literal "1") () ")")))) (, ",") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    FUN_00036590(param_2);\n  }" ({ "{") (expression_statement "FUN_00036590(param_2);" (call_expression "FUN_00036590(param_2)" (identifier "FUN_00036590") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")"))) (; ";")) (} "}")))) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}")))

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

type_1 function_1(char *attempt,type_2 *entry)

{
  type_3 var_9;
  bool bVar2;
  type_4 __s1;
  type_4 var_28;
  type_4 var_27;
  bool bVar4;
  type_5 *var_3;
  char *pcVar6;
  type_1 var_16;
  int var_7;
  char *pcVar9;
  type_4 uVar10;
  type_6 *var_25;
  type_6 *var_26;
  
  var_3 = (type_5 *)var_1(attempt,entry->target);
  entry->the_bfd = var_3;
  if (var_2 != 0) {
    if (var_3 == (type_5 *)0x0) {
      pcVar6 = "attempt to open %s failed\n";
    }
    else {
      pcVar6 = "attempt to open %s succeeded\n";
    }
    pcVar6 = (char *)var_4(0,pcVar6,5);
    var_5(pcVar6,attempt);
    var_3 = entry->the_bfd;
  }
  if (var_3 == (type_5 *)0x0) {
    var_7 = var_6();
    if (var_7 != 2) {
      return 0;
    }
    pcVar6 = entry->target;
    pcVar9 = (char *)var_4(0,"%F%P: invalid BFD target `%s\'\n",5);
    var_8(pcVar9,pcVar6);
    return 0;
  }
  var_9 = var_3->field_0x2c;
  *(type_7 *)&var_3->field_0x28 = *(type_7 *)&var_3->field_0x28 | 0x100000;
  var_3->field_0x2c = var_9 | 8;
  if ((char)(entry->flags).field_0x1 < '\0') {
    var_3->field_0x2c = var_9 | 0x48;
  }
  if (((type_8)entry->flags & 0x24) != 0x20) {
    var_7 = var_10(var_3,2);
    if (var_7 == 0) {
      var_3 = entry->the_bfd;
    }
    else {
      var_3 = (type_5 *)var_11(entry->the_bfd,0);
    }
    if (var_3 != (type_5 *)0x0) {
      var_7 = var_10(var_3,1);
      if (var_7 != 0) {
        if ((((type_8)entry->flags & 0x20) == 0) && ((entry->the_bfd->field_0x29 & 8) != 0)) {
          pcVar6 = (char *)var_4(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);
          var_8(pcVar6,attempt);
        }
        else {
          if (((((type_8)entry->flags & 4) == 0) ||
              (var_7 = var_12
                                 (var_3,link_info.output_bfd,command_line.accept_unknown_input_arch
                                 ), var_7 != 0)) ||
             (((var_3->xvec->flavour == var_13 &&
               ((link_info.output_bfd)->xvec->flavour == var_13)) &&
              (var_7 = var_10(entry->the_bfd,2), var_7 != 0)))) goto LAB_000331ca;
          if (command_line.warn_search_mismatch != 0) {
            pcVar6 = entry->local_sym_name;
            pcVar9 = (char *)var_4(0,"%P: skipping incompatible %s when searching for %s\n",5);
            var_8(pcVar9,attempt,pcVar6);
          }
        }
        var_14(entry->the_bfd);
        entry->the_bfd = (type_5 *)0x0;
        return 0;
      }
      if (((entry->the_bfd == var_3) && (((type_8)entry->flags & 4) != 0)) &&
         ((var_7 = var_6(), var_7 == 0xc &&
          (var_16 = var_15(entry), var_16 == 0)))) {
        var_17(attempt,0);
        ldfile_assumed_script = 1;
        parser_input = input_selected;
        var_18();
        var_7 = 0x16f;
        bVar2 = false;
        do {
          if (var_7 < 0x105) {
            if (var_7 < 0x103) {
              if ((var_7 != 0x102) || (var_26 = yylval._8_4_, yylval.bigint.str == (char *)0x0))
              goto LAB_000332b8;
LAB_000332a7:
              var_19(var_26);
            }
            else {
LAB_0003351c:
              var_19(yylval.fill);
            }
LAB_000332b8:
            var_7 = var_20();
          }
          else {
            if (var_7 != 300) {
              if ((299 < var_7) && (var_7 - 0x175U < 2)) goto LAB_0003351c;
              goto LAB_000332b8;
            }
            var_7 = var_20();
            if ((var_7 == 0x28) && (var_7 = var_20(), __s1 = yylval.fill, var_7 == 0x103)) {
              var_7 = var_20();
              uVar10 = __s1;
              if (var_7 != 0x2c) {
                if (var_7 != 0x29) {
                  var_19(__s1);
                  goto LAB_000332b8;
                }
                if (command_line.endian == var_21) {
                  var_26 = (type_6 *)0x0;
LAB_000336a0:
                  pcVar6 = var_22();
                  var_7 = var_23(__s1,pcVar6);
                  if (var_7 == 0) {
                    var_19(__s1);
                  }
                  else {
                    var_19(__s1);
                    bVar2 = true;
                  }
                }
                else {
                  if (command_line.endian == var_24) {
                    var_25 = (type_6 *)0x0;
LAB_00033646:
                    var_26 = (type_6 *)0x0;
                    uVar10 = __s1;
                  }
                  else {
                    var_26 = (type_6 *)0x0;
                    var_25 = (type_6 *)0x0;
                  }
LAB_00033337:
                  pcVar6 = var_22();
                  var_7 = var_23(uVar10,pcVar6);
                  bVar4 = true;
                  if (var_7 == 0) {
                    bVar4 = bVar2;
                  }
LAB_00033360:
                  bVar2 = bVar4;
                  var_19(__s1);
                  if (var_25 != (type_6 *)0x0) goto LAB_00033373;
                }
LAB_00033382:
                if (var_26 != (type_6 *)0x0) goto LAB_000332a7;
                goto LAB_000332b8;
              }
              var_7 = var_20();
              var_28 = yylval.fill;
              if (var_7 == 0x103) {
                var_25 = yylval.fill;
                var_7 = var_20();
                if ((var_7 == 0x2c) && (var_7 = var_20(), var_27 = yylval.fill, var_7 == 0x103)) {
                  var_26 = yylval.fill;
                  var_7 = var_20();
                  bVar4 = bVar2;
                  if (var_7 != 0x29) goto LAB_00033360;
                  if (command_line.endian != var_21) {
                    if ((command_line.endian == var_24) &&
                       (uVar10 = var_27, var_27 == (type_6 *)0x0)) goto LAB_00033646;
                    goto LAB_00033337;
                  }
                  if (var_28 == (type_6 *)0x0) goto LAB_000336a0;
                  pcVar6 = var_22();
                  var_7 = var_23(var_28,pcVar6);
                  if (var_7 == 0) {
                    var_19(__s1);
                  }
                  else {
                    var_19(__s1);
                    bVar2 = true;
                  }
LAB_00033373:
                  var_19(var_25);
                  goto LAB_00033382;
                }
                var_19(__s1);
                var_19(var_28);
              }
              else {
                var_19(__s1);
              }
            }
          }
        } while (var_7 != 0);
        var_29();
        ldfile_assumed_script = 0;
        var_30((type_9 *)yyin);
        yyin = (type_9 *)0x0;
        if (bVar2) {
          if (command_line.warn_search_mismatch != 0) {
            pcVar6 = entry->local_sym_name;
            pcVar9 = (char *)var_4(0,"%P: skipping incompatible %s when searching for %s\n",5,
                                       command_line.warn_search_mismatch);
            var_8(pcVar9,attempt,pcVar6);
          }
          var_14(entry->the_bfd);
          entry->the_bfd = (type_5 *)0x0;
          return 0;
        }
      }
    }
  }
LAB_000331ca:
  if ((((link_info._1_1_ & 2) != 0) && (var_31 == 0)) &&
     (var_7 = var_10(entry->the_bfd,1), var_7 != 0)) {
    var_32(entry);
  }
  return 1;
}


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

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

undefined4 MASKED(undefined4 param_1,int param_2)

{
  byte bVar1;
  bool bVar2;
  char *pcVar3;
  bool bVar4;
  int iVar5;
  char *pcVar6;
  undefined4 uVar7;
  int iVar8;
  char *pcVar9;
  undefined4 uVar10;
  char *pcVar11;
  char *local_2c;
  char *local_24;
  
  iVar5 = bfd_openr(param_1,*(undefined4 *)(param_2 + 0x20));
  *(int *)(param_2 + 0x10) = iVar5;
  if (DAT_00084d3c != 0) {
    if (iVar5 == 0) {
      pcVar6 = "attempt to open %s failed\n";
    }
    else {
      pcVar6 = "attempt to open %s succeeded\n";
    }
    uVar7 = dcgettext(0,pcVar6,5);
    FUN_00032b00(uVar7,param_1);
    iVar5 = *(int *)(param_2 + 0x10);
  }
  if (iVar5 == 0) {
    iVar5 = bfd_get_error();
    if (iVar5 != 2) {
      return 0;
    }
    uVar7 = *(undefined4 *)(param_2 + 0x20);
    uVar10 = dcgettext(0,"%F%P: invalid BFD target `%s\'\n",5);
    FUN_00032b30(uVar10,uVar7);
    return 0;
  }
  bVar1 = *(byte *)(iVar5 + 0x2c);
  *(uint *)(iVar5 + 0x28) = *(uint *)(iVar5 + 0x28) | 0x100000;
  *(byte *)(iVar5 + 0x2c) = bVar1 | 8;
  if (*(char *)(param_2 + 0x25) < '\0') {
    *(byte *)(iVar5 + 0x2c) = bVar1 | 0x48;
  }
  if ((*(byte *)(param_2 + 0x24) & 0x24) != 0x20) {
    iVar5 = bfd_check_format(iVar5,2);
    if (iVar5 == 0) {
      iVar5 = *(int *)(param_2 + 0x10);
    }
    else {
      iVar5 = bfd_openr_next_archived_file(*(undefined4 *)(param_2 + 0x10),0);
    }
    if (iVar5 != 0) {
      iVar8 = bfd_check_format(iVar5,1);
      if (iVar8 != 0) {
        if (((*(byte *)(param_2 + 0x24) & 0x20) == 0) &&
           ((*(byte *)(*(int *)(param_2 + 0x10) + 0x29) & 8) != 0)) {
          uVar7 = dcgettext(0,"%F%P: attempted static link of dynamic object `%s\'\n",5);
          FUN_00032b30(uVar7,param_1);
        }
        else {
          if ((((*(byte *)(param_2 + 0x24) & 4) == 0) ||
              (iVar8 = bfd_arch_get_compatible(iVar5,DAT_00084bf4,DAT_00084c7c), iVar8 != 0)) ||
             (((*(int *)(*(int *)(iVar5 + 4) + 4) == 4 &&
               (*(int *)(*(int *)(DAT_00084bf4 + 4) + 4) == 4)) &&
              (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),2), iVar5 != 0))))
          goto LAB_000331ca;
          if (DAT_00084c74 != 0) {
            uVar7 = *(undefined4 *)(param_2 + 0xc);
            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5);
            FUN_00032b30(uVar10,param_1,uVar7);
          }
        }
        bfd_close(*(undefined4 *)(param_2 + 0x10));
        *(undefined4 *)(param_2 + 0x10) = 0;
        return 0;
      }
      if (((*(int *)(param_2 + 0x10) == iVar5) && ((*(byte *)(param_2 + 0x24) & 4) != 0)) &&
         ((iVar5 = bfd_get_error(), iVar5 == 0xc && (iVar5 = FUN_000315b0(param_2), iVar5 == 0)))) {
        FUN_00032eb0();
        DAT_0008491c = 1;
        DAT_00084b48 = 0;
        FUN_0001b0a0();
        iVar5 = 0x16f;
        bVar2 = false;
        do {
          if (iVar5 < 0x105) {
            if (iVar5 < 0x103) {
              if ((iVar5 != 0x102) || (local_24 = DAT_00084b3c, DAT_00084b3c == (char *)0x0))
              goto LAB_000332b8;
LAB_000332a7:
              free(local_24);
            }
            else {
LAB_0003351c:
              free(DAT_00084b34);
            }
LAB_000332b8:
            iVar5 = FUN_00018f90();
          }
          else {
            if (iVar5 != 300) {
              if ((299 < iVar5) && (iVar5 - 0x175U < 2)) goto LAB_0003351c;
              goto LAB_000332b8;
            }
            iVar5 = FUN_00018f90();
            if ((iVar5 == 0x28) && (iVar5 = FUN_00018f90(), pcVar6 = DAT_00084b34, iVar5 == 0x103))
            {
              iVar5 = FUN_00018f90();
              pcVar11 = pcVar6;
              if (iVar5 != 0x2c) {
                if (iVar5 != 0x29) {
                  free(pcVar6);
                  goto LAB_000332b8;
                }
                if (DAT_00084c90 == 1) {
                  local_24 = (char *)0x0;
LAB_000336a0:
                  pcVar11 = (char *)FUN_00024a30();
                  iVar5 = strcmp(pcVar6,pcVar11);
                  if (iVar5 == 0) {
                    free(pcVar6);
                  }
                  else {
                    free(pcVar6);
                    bVar2 = true;
                  }
                }
                else {
                  if (DAT_00084c90 == 2) {
                    local_2c = (char *)0x0;
LAB_00033646:
                    local_24 = (char *)0x0;
                    pcVar11 = pcVar6;
                  }
                  else {
                    local_24 = (char *)0x0;
                    local_2c = (char *)0x0;
                  }
LAB_00033337:
                  pcVar9 = (char *)FUN_00024a30();
                  iVar5 = strcmp(pcVar11,pcVar9);
                  bVar4 = true;
                  if (iVar5 == 0) {
                    bVar4 = bVar2;
                  }
LAB_00033360:
                  bVar2 = bVar4;
                  free(pcVar6);
                  if (local_2c != (char *)0x0) goto LAB_00033373;
                }
LAB_00033382:
                if (local_24 != (char *)0x0) goto LAB_000332a7;
                goto LAB_000332b8;
              }
              iVar5 = FUN_00018f90();
              pcVar9 = DAT_00084b34;
              if (iVar5 == 0x103) {
                local_2c = DAT_00084b34;
                iVar5 = FUN_00018f90();
                if ((iVar5 == 0x2c) &&
                   (iVar5 = FUN_00018f90(), pcVar3 = DAT_00084b34, iVar5 == 0x103)) {
                  local_24 = DAT_00084b34;
                  iVar5 = FUN_00018f90();
                  bVar4 = bVar2;
                  if (iVar5 != 0x29) goto LAB_00033360;
                  if (DAT_00084c90 != 1) {
                    if ((DAT_00084c90 == 2) && (pcVar11 = pcVar3, pcVar3 == (char *)0x0))
                    goto LAB_00033646;
                    goto LAB_00033337;
                  }
                  if (pcVar9 == (char *)0x0) goto LAB_000336a0;
                  pcVar11 = (char *)FUN_00024a30();
                  iVar5 = strcmp(pcVar9,pcVar11);
                  if (iVar5 == 0) {
                    free(pcVar6);
                  }
                  else {
                    free(pcVar6);
                    bVar2 = true;
                  }
LAB_00033373:
                  free(local_2c);
                  goto LAB_00033382;
                }
                free(pcVar6);
                free(pcVar9);
              }
              else {
                free(pcVar6);
              }
            }
          }
        } while (iVar5 != 0);
        FUN_0001b0d0();
        DAT_0008491c = 0;
        fclose(DAT_000845ac);
        DAT_000845ac = (FILE *)0x0;
        if (bVar2) {
          if (DAT_00084c74 != 0) {
            uVar7 = *(undefined4 *)(param_2 + 0xc);
            uVar10 = dcgettext(0,"%P: skipping incompatible %s when searching for %s\n",5,
                               DAT_00084c74);
            FUN_00032b30(uVar10,param_1,uVar7);
          }
          bfd_close(*(undefined4 *)(param_2 + 0x10));
          *(undefined4 *)(param_2 + 0x10) = 0;
          return 0;
        }
      }
    }
  }
LAB_000331ca:
  if ((((DAT_00084bc1 & 2) != 0) && (DAT_00084980 == 0)) &&
     (iVar5 = bfd_check_format(*(undefined4 *)(param_2 + 0x10),1), iVar5 != 0)) {
    FUN_00036590(param_2);
  }
  return 1;
}

