
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: Target *
   do_recognize(Target_selector_nacl<(anonymous_namespace)::Target_selector_mips<32,_true>,_(anonymous_namespace)::Target_mips_nacl<32,_true>_>
   * this, Input_file * file, off_t offset, int machine, int osabi, int abiversion) */

Target * __thiscall
gold::
Target_selector_nacl<(anonymous_namespace)::Target_selector_mips<32,_true>,_(anonymous_namespace)::Target_mips_nacl<32,_true>_>
::do_recognize(Target_selector_nacl<(anonymous_namespace)::Target_selector_mips<32,_true>,_(anonymous_namespace)::Target_mips_nacl<32,_true>_>
               *this,Input_file *file,off_t offset,int machine,int osabi,int abiversion)

{
  uint uVar1;
  uint uVar2;
  Elf_Word EVar3;
  int iVar4;
  int *piVar5;
  Target *pTVar6;
  uchar *puVar7;
  char *pcVar8;
  ulong uVar9;
  uint uVar10;
  ushort uVar11;
  Location LVar12;
  Ef_ehdr local_60;
  Sniff_file file_1;
  Elf_file<64,_true,_gold::Sniff_file> elf_file;
  
  if (file != (Input_file *)0x0) {
    iVar4 = (this->super_Target_selector_mips<32,_true>).super_Target_selector.size_;
    file_1.offset_ = offset;
    if ((this->super_Target_selector_mips<32,_true>).super_Target_selector.is_big_endian_ == false)
    {
      if (iVar4 == 0x20) {
        file_1.file_ = &file->file_;
        puVar7 = File_read::get_view(file_1.file_,offset,0,0x34,true,false);
        elf_file.shoff_ = (off_t)*(uint *)(puVar7 + 0x20);
        elf_file.shnum_ = (uint)*(ushort *)(puVar7 + 0x30);
        elf_file.large_shndx_offset_ = 0;
        elf_file.shstrndx_ = (uint)*(ushort *)(puVar7 + 0x32);
        uVar11 = *(ushort *)(puVar7 + 0x28);
        elf_file.file_ = &file_1;
        if (uVar11 != 0x34) {
          pcVar8 = (char *)gettext("bad e_ehsize (%d != %d)");
          Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x34);
        }
        uVar11 = *(ushort *)(puVar7 + 0x2e);
        if (uVar11 != 0x28) {
          pcVar8 = (char *)gettext("bad e_shentsize (%d != %d)");
          Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x28);
        }
        uVar10 = 1;
        elfcpp::Elf_file<32,_false,_gold::Sniff_file>::initialize_shnum
                  ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file);
        uVar2 = elf_file.shnum_;
        if (1 < elf_file.shnum_) {
          do {
            EVar3 = elfcpp::Elf_file<32,_false,_gold::Sniff_file>::section_type
                              ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10);
            if (EVar3 == 7) {
              LVar12 = elfcpp::Elf_file<32,_false,_gold::Sniff_file>::section_contents
                                 ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10);
              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=
                     LVar12.size_) &&
                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_
                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))
                  && ((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1)) &&
                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&
                  (((char)piVar5[4] == '\0' &&
                   (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,
                                   (ulong)(uint)piVar5[1]), iVar4 == 0)))))) goto LAB_002a49fc;
            }
            uVar10 = uVar10 + 1;
          } while (uVar2 != uVar10);
        }
      }
      else {
        if (iVar4 != 0x40) {
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/nacl.h",0xbd,"recognize_nacl_file");
        }
        file_1.file_ = &file->file_;
        uVar10 = 1;
        local_60.p_ = (Ehdr_data<64> *)File_read::get_view(file_1.file_,offset,0,0x40,true,false);
        elfcpp::Elf_file<64,_false,_gold::Sniff_file>::construct
                  ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,&file_1,(Ef_ehdr *)&local_60);
        elfcpp::Elf_file<64,_false,_gold::Sniff_file>::initialize_shnum
                  ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file);
        uVar2 = elf_file.shnum_;
        if (1 < elf_file.shnum_) {
          do {
            EVar3 = elfcpp::Elf_file<64,_false,_gold::Sniff_file>::section_type
                              ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10);
            if (EVar3 == 7) {
              LVar12 = elfcpp::Elf_file<64,_false,_gold::Sniff_file>::section_contents
                                 ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10);
              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=
                     LVar12.size_) &&
                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_
                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))
                  && (((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1 &&
                      (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))
                      ))) &&
                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,
                                 (ulong)(uint)piVar5[1]), iVar4 == 0)) goto LAB_002a49fc;
            }
            uVar10 = uVar10 + 1;
          } while (uVar2 != uVar10);
        }
      }
    }
    else if (iVar4 == 0x20) {
      file_1.file_ = &file->file_;
      puVar7 = File_read::get_view(file_1.file_,offset,0,0x34,true,false);
      uVar2 = *(uint *)(puVar7 + 0x20);
      elf_file.shoff_ =
           (off_t)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);
      elf_file.shnum_ =
           (uint)(ushort)(*(ushort *)(puVar7 + 0x30) << 8 | *(ushort *)(puVar7 + 0x30) >> 8);
      elf_file.large_shndx_offset_ = 0;
      elf_file.shstrndx_ =
           (uint)(ushort)(*(ushort *)(puVar7 + 0x32) << 8 | *(ushort *)(puVar7 + 0x32) >> 8);
      uVar11 = *(ushort *)(puVar7 + 0x28) << 8 | *(ushort *)(puVar7 + 0x28) >> 8;
      elf_file.file_ = &file_1;
      if (uVar11 != 0x34) {
        pcVar8 = (char *)gettext("bad e_ehsize (%d != %d)");
        Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x34);
      }
      uVar11 = *(ushort *)(puVar7 + 0x2e) << 8 | *(ushort *)(puVar7 + 0x2e) >> 8;
      if (uVar11 != 0x28) {
        pcVar8 = (char *)gettext("bad e_shentsize (%d != %d)");
        Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x28);
      }
      uVar10 = 1;
      elfcpp::Elf_file<32,_true,_gold::Sniff_file>::initialize_shnum
                ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file);
      uVar2 = elf_file.shnum_;
      if (1 < elf_file.shnum_) {
        do {
          EVar3 = elfcpp::Elf_file<32,_true,_gold::Sniff_file>::section_type
                            ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10);
          if (EVar3 == 7) {
            LVar12 = elfcpp::Elf_file<32,_true,_gold::Sniff_file>::section_contents
                               ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10);
            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=
                 LVar12.size_) &&
               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,
                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))
            {
              uVar1 = piVar5[1];
              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |
                             uVar1 << 0x18);
              if ((((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&
                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&
                  ((char)piVar5[4] == '\0')) &&
                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),
                 iVar4 == 0)) goto LAB_002a49fc;
            }
          }
          uVar10 = uVar10 + 1;
        } while (uVar2 != uVar10);
      }
    }
    else {
      if (iVar4 != 0x40) {
                    /* WARNING: Subroutine does not return */
        do_gold_unreachable("../../gold/nacl.h",0xaf,"recognize_nacl_file");
      }
      file_1.file_ = &file->file_;
      uVar10 = 1;
      local_60.p_ = (Ehdr_data<64> *)File_read::get_view(file_1.file_,offset,0,0x40,true,false);
      elfcpp::Elf_file<64,_true,_gold::Sniff_file>::construct(&elf_file,&file_1,&local_60);
      elfcpp::Elf_file<64,_true,_gold::Sniff_file>::initialize_shnum(&elf_file);
      uVar2 = elf_file.shnum_;
      if (1 < elf_file.shnum_) {
        do {
          EVar3 = elfcpp::Elf_file<64,_true,_gold::Sniff_file>::section_type(&elf_file,uVar10);
          if (EVar3 == 7) {
            LVar12 = elfcpp::Elf_file<64,_true,_gold::Sniff_file>::section_contents
                               (&elf_file,uVar10);
            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=
                 LVar12.size_) &&
               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,
                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))
            {
              uVar1 = piVar5[1];
              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |
                             uVar1 << 0x18);
              if ((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&
                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&
                   ((char)piVar5[4] == '\0')) &&
                  (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),
                  iVar4 == 0)))) {
LAB_002a49fc:
                this->is_nacl_ = true;
                pTVar6 = Target_selector::instantiate_target((Target_selector *)this);
                return pTVar6;
              }
            }
          }
          uVar10 = uVar10 + 1;
        } while (uVar2 != uVar10);
      }
    }
  }
  this->is_nacl_ = false;
  pTVar6 = Target_selector::instantiate_target((Target_selector *)this);
  return pTVar6;
}



void FUN_002a4760(long param_1,long param_2,long param_3)

{
  short sVar1;
  uint uVar2;
  uint uVar3;
  int iVar4;
  int *piVar5;
  long lVar6;
  undefined8 uVar7;
  ulong uVar8;
  uint uVar9;
  ushort uVar10;
  undefined1 auVar11 [16];
  undefined8 local_60;
  long local_58;
  long local_50;
  long *local_48;
  ulong local_40;
  uint local_38;
  uint local_34;
  undefined4 local_30;
  
  if (param_2 != 0) {
    iVar4 = *(int *)(param_1 + 0xc);
    local_50 = param_3;
    if (*(char *)(param_1 + 0x10) == '\0') {
      if (iVar4 == 0x20) {
        local_58 = param_2 + 0x28;
        lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);
        local_40 = (ulong)*(uint *)(lVar6 + 0x20);
        local_38 = (uint)*(ushort *)(lVar6 + 0x30);
        local_30 = 0;
        local_34 = (uint)*(ushort *)(lVar6 + 0x32);
        sVar1 = *(short *)(lVar6 + 0x28);
        local_48 = &local_58;
        if (sVar1 != 0x34) {
          uVar7 = gettext("bad e_ehsize (%d != %d)");
          FUN_003926c0(&local_58,uVar7,sVar1,0x34);
        }
        sVar1 = *(short *)(lVar6 + 0x2e);
        if (sVar1 != 0x28) {
          uVar7 = gettext("bad e_shentsize (%d != %d)");
          FUN_003926c0(&local_58,uVar7,sVar1,0x28);
        }
        uVar9 = 1;
        FUN_001a8070(&local_48);
        uVar3 = local_38;
        if (1 < local_38) {
          do {
            iVar4 = FUN_001c29e0(&local_48,uVar9);
            if (iVar4 == 7) {
              auVar11 = FUN_001c2a70(&local_48,uVar9);
              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)
                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,
                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&
                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&
                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&
                  (((char)piVar5[4] == '\0' &&
                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),
                   iVar4 == 0)))))) goto LAB_002a49fc;
            }
            uVar9 = uVar9 + 1;
          } while (uVar3 != uVar9);
        }
      }
      else {
        if (iVar4 != 0x40) {
                    /* WARNING: Subroutine does not return */
          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");
        }
        local_58 = param_2 + 0x28;
        uVar9 = 1;
        local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);
        FUN_001c2b00(&local_48,&local_58,&local_60);
        FUN_001a8200(&local_48);
        uVar3 = local_38;
        if (1 < local_38) {
          do {
            iVar4 = FUN_001c2ba0(&local_48,uVar9);
            if (iVar4 == 7) {
              auVar11 = FUN_001c2c30(&local_48,uVar9);
              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)
                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,
                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&
                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&
                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))
                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),
                    iVar4 == 0)) goto LAB_002a49fc;
            }
            uVar9 = uVar9 + 1;
          } while (uVar3 != uVar9);
        }
      }
    }
    else if (iVar4 == 0x20) {
      local_58 = param_2 + 0x28;
      lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);
      uVar3 = *(uint *)(lVar6 + 0x20);
      local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |
                        uVar3 << 0x18);
      local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8);
      local_30 = 0;
      local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8);
      uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8;
      local_48 = &local_58;
      if (uVar10 != 0x34) {
        uVar7 = gettext("bad e_ehsize (%d != %d)");
        FUN_003926c0(&local_58,uVar7,uVar10,0x34);
      }
      uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8;
      if (uVar10 != 0x28) {
        uVar7 = gettext("bad e_shentsize (%d != %d)");
        FUN_003926c0(&local_58,uVar7,uVar10,0x28);
      }
      uVar9 = 1;
      FUN_001a7d30(&local_48);
      uVar3 = local_38;
      if (1 < local_38) {
        do {
          iVar4 = FUN_001c26c0(&local_48,uVar9);
          if (iVar4 == 7) {
            auVar11 = FUN_001c2750(&local_48,uVar9);
            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&
               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),
               *piVar5 == 0x5000000)) {
              uVar2 = piVar5[1];
              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |
                             uVar2 << 0x18);
              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&
                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&
                  ((char)piVar5[4] == '\0')) &&
                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))
              goto LAB_002a49fc;
            }
          }
          uVar9 = uVar9 + 1;
        } while (uVar3 != uVar9);
      }
    }
    else {
      if (iVar4 != 0x40) {
                    /* WARNING: Subroutine does not return */
        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");
      }
      local_58 = param_2 + 0x28;
      uVar9 = 1;
      local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);
      FUN_001c27f0(&local_48,&local_58,&local_60);
      FUN_001a7ed0(&local_48);
      uVar3 = local_38;
      if (1 < local_38) {
        do {
          iVar4 = FUN_001c28b0(&local_48,uVar9);
          if (iVar4 == 7) {
            auVar11 = FUN_001c2940(&local_48,uVar9);
            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&
               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),
               *piVar5 == 0x5000000)) {
              uVar2 = piVar5[1];
              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |
                             uVar2 << 0x18);
              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&
                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&
                   ((char)piVar5[4] == '\0')) &&
                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {
LAB_002a49fc:
                *(undefined1 *)(param_1 + 0x58) = 1;
                FUN_0045b0a0(param_1);
                return;
              }
            }
          }
          uVar9 = uVar9 + 1;
        } while (uVar3 != uVar9);
      }
    }
  }
  *(undefined1 *)(param_1 + 0x58) = 0;
  FUN_0045b0a0(param_1);
  return;
}


PUSH R13
PUSH R12
PUSH RBP
MOV RBP,RDI
PUSH RBX
SUB RSP,0x48
TEST RSI,RSI
JZ 0x002a48c0
CMP byte ptr [RDI + 0x10],0x0
MOV RAX,RDX
MOV EDX,dword ptr [RDI + 0xc]
JZ 0x002a48e0
CMP EDX,0x20
JZ 0x002a4a18
CMP EDX,0x40
JNZ 0x002a4d9f
LEA RDI,[RSI + 0x28]
XOR R9D,R9D
MOV R8D,0x1
XOR EDX,EDX
MOV ECX,0x40
MOV RSI,RAX
LEA RBX,[RSP + 0x20]
MOV qword ptr [RSP + 0x10],RDI
MOV qword ptr [RSP + 0x18],RAX
MOV R12D,0x1
CALL 0x0034d600
LEA RDX,[RSP + 0x8]
LEA RSI,[RSP + 0x10]
MOV RDI,RBX
MOV qword ptr [RSP + 0x8],RAX
CALL 0x001c27f0
MOV RDI,RBX
CALL 0x001a7ed0
MOV R13D,dword ptr [RSP + 0x30]
CMP R13D,0x1
JA 0x002a480d
JMP 0x002a48c0
ADD R12D,0x1
CMP R13D,R12D
JZ 0x002a48c0
MOV ESI,R12D
MOV RDI,RBX
CALL 0x001c28b0
CMP EAX,0x7
JNZ 0x002a4800
MOV RDI,RBX
MOV ESI,R12D
CALL 0x001c2940
MOV RCX,qword ptr [RBP + 0x68]
LEA RDI,[RCX + 0x4]
AND RDI,-0x4
ADD RDI,0x14
CMP RDX,RDI
JC 0x002a4800
ADD RAX,qword ptr [RSP + 0x18]
MOV RDI,qword ptr [RSP + 0x10]
XOR R9D,R9D
MOV RCX,RDX
MOV RSI,RAX
XOR EDX,EDX
MOV R8D,0x1
CALL 0x0034d600
CMP dword ptr [RAX],0x5000000
JNZ 0x002a4800
MOV EDX,dword ptr [RAX + 0x4]
MOV RCX,qword ptr [RBP + 0x68]
BSWAP EDX
ADD RCX,0x1
MOV EDX,EDX
CMP RDX,RCX
JNZ 0x002a4800
CMP dword ptr [RAX + 0x8],0x1000000
JNZ 0x002a4800
CMP dword ptr [RAX + 0xc],0x6c43614e
JNZ 0x002a4800
CMP byte ptr [RAX + 0x10],0x0
JNZ 0x002a4800
MOV RSI,qword ptr [RBP + 0x60]
LEA RDI,[RAX + 0x14]
CALL 0x00177840
TEST EAX,EAX
JNZ 0x002a4800
JMP 0x002a49fc
MOV byte ptr [RBP + 0x58],0x0
MOV RDI,RBP
CALL 0x0045b0a0
ADD RSP,0x48
POP RBX
POP RBP
POP R12
POP R13
RET
CMP EDX,0x20
JZ 0x002a4b90
CMP EDX,0x40
JNZ 0x002a4d87
LEA RDI,[RSI + 0x28]
XOR R9D,R9D
MOV R8D,0x1
XOR EDX,EDX
MOV ECX,0x40
MOV RSI,RAX
LEA RBX,[RSP + 0x20]
MOV qword ptr [RSP + 0x10],RDI
MOV qword ptr [RSP + 0x18],RAX
MOV R12D,0x1
CALL 0x0034d600
LEA RDX,[RSP + 0x8]
LEA RSI,[RSP + 0x10]
MOV RDI,RBX
MOV qword ptr [RSP + 0x8],RAX
CALL 0x001c2b00
MOV RDI,RBX
CALL 0x001a8200
MOV R13D,dword ptr [RSP + 0x30]
CMP R13D,0x1
JA 0x002a4965
JMP 0x002a48c0
ADD R12D,0x1
CMP R13D,R12D
JZ 0x002a48c0
MOV ESI,R12D
MOV RDI,RBX
CALL 0x001c2ba0
CMP EAX,0x7
JNZ 0x002a4958
MOV RDI,RBX
MOV ESI,R12D
CALL 0x001c2c30
MOV RCX,qword ptr [RBP + 0x68]
LEA RDI,[RCX + 0x4]
AND RDI,-0x4
ADD RDI,0x14
CMP RDX,RDI
JC 0x002a4958
ADD RAX,qword ptr [RSP + 0x18]
MOV RDI,qword ptr [RSP + 0x10]
XOR R9D,R9D
MOV RCX,RDX
MOV RSI,RAX
XOR EDX,EDX
MOV R8D,0x1
CALL 0x0034d600
CMP dword ptr [RAX],0x5
JNZ 0x002a4958
MOV RCX,qword ptr [RBP + 0x68]
MOV EDX,dword ptr [RAX + 0x4]
ADD RCX,0x1
CMP RDX,RCX
JNZ 0x002a4958
CMP dword ptr [RAX + 0x8],0x1
JNZ 0x002a4958
CMP dword ptr [RAX + 0xc],0x6c43614e
JNZ 0x002a4958
CMP byte ptr [RAX + 0x10],0x0
JNZ 0x002a4958
MOV RSI,qword ptr [RBP + 0x60]
LEA RDI,[RAX + 0x14]
CALL 0x00177840
TEST EAX,EAX
JNZ 0x002a4958
MOV byte ptr [RBP + 0x58],0x1
MOV RDI,RBP
CALL 0x0045b0a0
ADD RSP,0x48
POP RBX
POP RBP
POP R12
POP R13
RET
LEA RDI,[RSI + 0x28]
XOR R9D,R9D
MOV R8D,0x1
XOR EDX,EDX
MOV ECX,0x34
MOV RSI,RAX
MOV qword ptr [RSP + 0x10],RDI
LEA R12,[RSP + 0x10]
MOV qword ptr [RSP + 0x18],RAX
CALL 0x0034d600
MOV qword ptr [RSP + 0x20],R12
MOV RBX,RAX
MOV EAX,dword ptr [RAX + 0x20]
BSWAP EAX
MOV EAX,EAX
MOV qword ptr [RSP + 0x28],RAX
MOVZX EAX,word ptr [RBX + 0x30]
ROL AX,0x8
MOVZX EAX,AX
MOV dword ptr [RSP + 0x30],EAX
MOVZX EAX,word ptr [RBX + 0x32]
MOV dword ptr [RSP + 0x38],0x0
ROL AX,0x8
MOVZX EAX,AX
MOV dword ptr [RSP + 0x34],EAX
MOVZX R13D,word ptr [RBX + 0x28]
ROL R13W,0x8
CMP R13W,0x34
JNZ 0x002a4d60
MOVZX EBX,word ptr [RBX + 0x2e]
ROL BX,0x8
CMP BX,0x28
JNZ 0x002a4d30
LEA RBX,[RSP + 0x20]
MOV R12D,0x1
MOV RDI,RBX
CALL 0x001a7d30
MOV R13D,dword ptr [RSP + 0x30]
CMP R13D,0x1
JA 0x002a4add
JMP 0x002a48c0
ADD R12D,0x1
CMP R13D,R12D
JZ 0x002a48c0
MOV ESI,R12D
MOV RDI,RBX
CALL 0x001c26c0
CMP EAX,0x7
JNZ 0x002a4ad0
MOV RDI,RBX
MOV ESI,R12D
CALL 0x001c2750
MOV RCX,qword ptr [RBP + 0x68]
LEA RDI,[RCX + 0x4]
AND RDI,-0x4
ADD RDI,0x14
CMP RDX,RDI
JC 0x002a4ad0
ADD RAX,qword ptr [RSP + 0x18]
MOV RDI,qword ptr [RSP + 0x10]
XOR R9D,R9D
MOV RCX,RDX
MOV RSI,RAX
XOR EDX,EDX
MOV R8D,0x1
CALL 0x0034d600
CMP dword ptr [RAX],0x5000000
JNZ 0x002a4ad0
MOV EDX,dword ptr [RAX + 0x4]
MOV RCX,qword ptr [RBP + 0x68]
BSWAP EDX
ADD RCX,0x1
MOV EDX,EDX
CMP RDX,RCX
JNZ 0x002a4ad0
CMP dword ptr [RAX + 0x8],0x1000000
JNZ 0x002a4ad0
CMP dword ptr [RAX + 0xc],0x6c43614e
JNZ 0x002a4ad0
CMP byte ptr [RAX + 0x10],0x0
JNZ 0x002a4ad0
MOV RSI,qword ptr [RBP + 0x60]
LEA RDI,[RAX + 0x14]
CALL 0x00177840
TEST EAX,EAX
JNZ 0x002a4ad0
JMP 0x002a49fc
LEA RDI,[RSI + 0x28]
XOR R9D,R9D
MOV R8D,0x1
XOR EDX,EDX
MOV ECX,0x34
MOV RSI,RAX
MOV qword ptr [RSP + 0x10],RDI
LEA R12,[RSP + 0x10]
MOV qword ptr [RSP + 0x18],RAX
CALL 0x0034d600
MOV qword ptr [RSP + 0x20],R12
MOV RBX,RAX
MOV EAX,dword ptr [RAX + 0x20]
MOV qword ptr [RSP + 0x28],RAX
MOVZX EAX,word ptr [RBX + 0x30]
MOV dword ptr [RSP + 0x30],EAX
MOVZX EAX,word ptr [RBX + 0x32]
MOV dword ptr [RSP + 0x38],0x0
MOV dword ptr [RSP + 0x34],EAX
MOVZX R13D,word ptr [RBX + 0x28]
CMP R13W,0x34
JNZ 0x002a4d00
MOVZX EBX,word ptr [RBX + 0x2e]
CMP BX,0x28
JNZ 0x002a4cd8
LEA RBX,[RSP + 0x20]
MOV R12D,0x1
MOV RDI,RBX
CALL 0x001a8070
MOV R13D,dword ptr [RSP + 0x30]
CMP R13D,0x1
JA 0x002a4c35
JMP 0x002a48c0
ADD R12D,0x1
CMP R13D,R12D
JZ 0x002a48c0
MOV ESI,R12D
MOV RDI,RBX
CALL 0x001c29e0
CMP EAX,0x7
JNZ 0x002a4c28
MOV RDI,RBX
MOV ESI,R12D
CALL 0x001c2a70
MOV RCX,qword ptr [RBP + 0x68]
LEA RDI,[RCX + 0x4]
AND RDI,-0x4
ADD RDI,0x14
CMP RDX,RDI
JC 0x002a4c28
ADD RAX,qword ptr [RSP + 0x18]
MOV RDI,qword ptr [RSP + 0x10]
XOR R9D,R9D
MOV RCX,RDX
MOV RSI,RAX
XOR EDX,EDX
MOV R8D,0x1
CALL 0x0034d600
CMP dword ptr [RAX],0x5
JNZ 0x002a4c28
MOV RCX,qword ptr [RBP + 0x68]
MOV EDX,dword ptr [RAX + 0x4]
ADD RCX,0x1
CMP RDX,RCX
JNZ 0x002a4c28
CMP dword ptr [RAX + 0x8],0x1
JNZ 0x002a4c28
CMP dword ptr [RAX + 0xc],0x6c43614e
JNZ 0x002a4c28
CMP byte ptr [RAX + 0x10],0x0
JNZ 0x002a4c28
MOV RSI,qword ptr [RBP + 0x60]
LEA RDI,[RAX + 0x14]
CALL 0x00177840
TEST EAX,EAX
JNZ 0x002a4c28
JMP 0x002a49fc
LEA RDI,[0x533618]
CALL 0x00177320
MOVZX EDX,BX
MOV ECX,0x28
MOV RDI,R12
MOV RSI,RAX
XOR EAX,EAX
CALL 0x003926c0
JMP 0x002a4c01
LEA RDI,[0x533600]
CALL 0x00177320
MOVZX EDX,R13W
MOV ECX,0x34
MOV RDI,R12
MOV RSI,RAX
XOR EAX,EAX
CALL 0x003926c0
JMP 0x002a4bf3
LEA RDI,[0x533618]
CALL 0x00177320
MOVZX EDX,BX
MOV ECX,0x28
MOV RDI,R12
MOV RSI,RAX
XOR EAX,EAX
CALL 0x003926c0
JMP 0x002a4aa4
LEA RDI,[0x533600]
CALL 0x00177320
MOVZX EDX,R13W
MOV ECX,0x34
MOV RDI,R12
MOV RSI,RAX
XOR EAX,EAX
CALL 0x003926c0
JMP 0x002a4a92
LEA RDX,[0x55ee40]
MOV ESI,0xbd
LEA RDI,[0x53341b]
CALL 0x00352af0
LEA RDX,[0x55ee40]
MOV ESI,0xaf
LEA RDI,[0x53341b]
CALL 0x00352af0
(translation_unit "void FUN_002a4760(long param_1,long param_2,long param_3)\n\n{\n  short sVar1;\n  uint uVar2;\n  uint uVar3;\n  int iVar4;\n  int *piVar5;\n  long lVar6;\n  undefined8 uVar7;\n  ulong uVar8;\n  uint uVar9;\n  ushort uVar10;\n  undefined1 auVar11 [16];\n  undefined8 local_60;\n  long local_58;\n  long local_50;\n  long *local_48;\n  ulong local_40;\n  uint local_38;\n  uint local_34;\n  undefined4 local_30;\n  \n  if (param_2 != 0) {\n    iVar4 = *(int *)(param_1 + 0xc);\n    local_50 = param_3;\n    if (*(char *)(param_1 + 0x10) == '\0') {\n      if (iVar4 == 0x20) {\n        local_58 = param_2 + 0x28;\n        lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n        local_40 = (ulong)*(uint *)(lVar6 + 0x20);\n        local_38 = (uint)*(ushort *)(lVar6 + 0x30);\n        local_30 = 0;\n        local_34 = (uint)*(ushort *)(lVar6 + 0x32);\n        sVar1 = *(short *)(lVar6 + 0x28);\n        local_48 = &local_58;\n        if (sVar1 != 0x34) {\n          uVar7 = gettext("bad e_ehsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x34);\n        }\n        sVar1 = *(short *)(lVar6 + 0x2e);\n        if (sVar1 != 0x28) {\n          uVar7 = gettext("bad e_shentsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x28);\n        }\n        uVar9 = 1;\n        FUN_001a8070(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n      else {\n        if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        local_58 = param_2 + 0x28;\n        uVar9 = 1;\n        local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n        FUN_001c2b00(&local_48,&local_58,&local_60);\n        FUN_001a8200(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n    }\n    else if (iVar4 == 0x20) {\n      local_58 = param_2 + 0x28;\n      lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n      uVar3 = *(uint *)(lVar6 + 0x20);\n      local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n      local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8);\n      local_30 = 0;\n      local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8);\n      uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8;\n      local_48 = &local_58;\n      if (uVar10 != 0x34) {\n        uVar7 = gettext("bad e_ehsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x34);\n      }\n      uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8;\n      if (uVar10 != 0x28) {\n        uVar7 = gettext("bad e_shentsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x28);\n      }\n      uVar9 = 1;\n      FUN_001a7d30(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n    else {\n      if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      local_58 = param_2 + 0x28;\n      uVar9 = 1;\n      local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n      FUN_001c27f0(&local_48,&local_58,&local_60);\n      FUN_001a7ed0(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n  }\n  *(undefined1 *)(param_1 + 0x58) = 0;\n  FUN_0045b0a0(param_1);\n  return;\n}\n\n" (function_definition "void FUN_002a4760(long param_1,long param_2,long param_3)\n\n{\n  short sVar1;\n  uint uVar2;\n  uint uVar3;\n  int iVar4;\n  int *piVar5;\n  long lVar6;\n  undefined8 uVar7;\n  ulong uVar8;\n  uint uVar9;\n  ushort uVar10;\n  undefined1 auVar11 [16];\n  undefined8 local_60;\n  long local_58;\n  long local_50;\n  long *local_48;\n  ulong local_40;\n  uint local_38;\n  uint local_34;\n  undefined4 local_30;\n  \n  if (param_2 != 0) {\n    iVar4 = *(int *)(param_1 + 0xc);\n    local_50 = param_3;\n    if (*(char *)(param_1 + 0x10) == '\0') {\n      if (iVar4 == 0x20) {\n        local_58 = param_2 + 0x28;\n        lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n        local_40 = (ulong)*(uint *)(lVar6 + 0x20);\n        local_38 = (uint)*(ushort *)(lVar6 + 0x30);\n        local_30 = 0;\n        local_34 = (uint)*(ushort *)(lVar6 + 0x32);\n        sVar1 = *(short *)(lVar6 + 0x28);\n        local_48 = &local_58;\n        if (sVar1 != 0x34) {\n          uVar7 = gettext("bad e_ehsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x34);\n        }\n        sVar1 = *(short *)(lVar6 + 0x2e);\n        if (sVar1 != 0x28) {\n          uVar7 = gettext("bad e_shentsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x28);\n        }\n        uVar9 = 1;\n        FUN_001a8070(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n      else {\n        if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        local_58 = param_2 + 0x28;\n        uVar9 = 1;\n        local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n        FUN_001c2b00(&local_48,&local_58,&local_60);\n        FUN_001a8200(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n    }\n    else if (iVar4 == 0x20) {\n      local_58 = param_2 + 0x28;\n      lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n      uVar3 = *(uint *)(lVar6 + 0x20);\n      local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n      local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8);\n      local_30 = 0;\n      local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8);\n      uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8;\n      local_48 = &local_58;\n      if (uVar10 != 0x34) {\n        uVar7 = gettext("bad e_ehsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x34);\n      }\n      uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8;\n      if (uVar10 != 0x28) {\n        uVar7 = gettext("bad e_shentsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x28);\n      }\n      uVar9 = 1;\n      FUN_001a7d30(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n    else {\n      if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      local_58 = param_2 + 0x28;\n      uVar9 = 1;\n      local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n      FUN_001c27f0(&local_48,&local_58,&local_60);\n      FUN_001a7ed0(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n  }\n  *(undefined1 *)(param_1 + 0x58) = 0;\n  FUN_0045b0a0(param_1);\n  return;\n}" primitive_type (function_declarator "FUN_002a4760(long param_1,long param_2,long param_3)" identifier (parameter_list "(long param_1,long param_2,long param_3)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_3" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  short sVar1;\n  uint uVar2;\n  uint uVar3;\n  int iVar4;\n  int *piVar5;\n  long lVar6;\n  undefined8 uVar7;\n  ulong uVar8;\n  uint uVar9;\n  ushort uVar10;\n  undefined1 auVar11 [16];\n  undefined8 local_60;\n  long local_58;\n  long local_50;\n  long *local_48;\n  ulong local_40;\n  uint local_38;\n  uint local_34;\n  undefined4 local_30;\n  \n  if (param_2 != 0) {\n    iVar4 = *(int *)(param_1 + 0xc);\n    local_50 = param_3;\n    if (*(char *)(param_1 + 0x10) == '\0') {\n      if (iVar4 == 0x20) {\n        local_58 = param_2 + 0x28;\n        lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n        local_40 = (ulong)*(uint *)(lVar6 + 0x20);\n        local_38 = (uint)*(ushort *)(lVar6 + 0x30);\n        local_30 = 0;\n        local_34 = (uint)*(ushort *)(lVar6 + 0x32);\n        sVar1 = *(short *)(lVar6 + 0x28);\n        local_48 = &local_58;\n        if (sVar1 != 0x34) {\n          uVar7 = gettext("bad e_ehsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x34);\n        }\n        sVar1 = *(short *)(lVar6 + 0x2e);\n        if (sVar1 != 0x28) {\n          uVar7 = gettext("bad e_shentsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x28);\n        }\n        uVar9 = 1;\n        FUN_001a8070(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n      else {\n        if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        local_58 = param_2 + 0x28;\n        uVar9 = 1;\n        local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n        FUN_001c2b00(&local_48,&local_58,&local_60);\n        FUN_001a8200(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n    }\n    else if (iVar4 == 0x20) {\n      local_58 = param_2 + 0x28;\n      lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n      uVar3 = *(uint *)(lVar6 + 0x20);\n      local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n      local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8);\n      local_30 = 0;\n      local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8);\n      uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8;\n      local_48 = &local_58;\n      if (uVar10 != 0x34) {\n        uVar7 = gettext("bad e_ehsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x34);\n      }\n      uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8;\n      if (uVar10 != 0x28) {\n        uVar7 = gettext("bad e_shentsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x28);\n      }\n      uVar9 = 1;\n      FUN_001a7d30(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n    else {\n      if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      local_58 = param_2 + 0x28;\n      uVar9 = 1;\n      local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n      FUN_001c27f0(&local_48,&local_58,&local_60);\n      FUN_001a7ed0(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n  }\n  *(undefined1 *)(param_1 + 0x58) = 0;\n  FUN_0045b0a0(param_1);\n  return;\n}" { (declaration "short sVar1;" (sized_type_specifier "short" short) identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar7;" type_identifier identifier ;) (declaration "ulong uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "ushort uVar10;" type_identifier identifier ;) (declaration "undefined1 auVar11 [16];" type_identifier (array_declarator "auVar11 [16]" identifier [ number_literal ]) ;) (declaration "undefined8 local_60;" type_identifier identifier ;) (declaration "long local_58;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_50;" (sized_type_specifier "long" long) identifier ;) (declaration "long *local_48;" (sized_type_specifier "long" long) (pointer_declarator "*local_48" * identifier) ;) (declaration "ulong local_40;" type_identifier identifier ;) (declaration "uint local_38;" type_identifier identifier ;) (declaration "uint local_34;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (if_statement "if (param_2 != 0) {\n    iVar4 = *(int *)(param_1 + 0xc);\n    local_50 = param_3;\n    if (*(char *)(param_1 + 0x10) == '\0') {\n      if (iVar4 == 0x20) {\n        local_58 = param_2 + 0x28;\n        lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n        local_40 = (ulong)*(uint *)(lVar6 + 0x20);\n        local_38 = (uint)*(ushort *)(lVar6 + 0x30);\n        local_30 = 0;\n        local_34 = (uint)*(ushort *)(lVar6 + 0x32);\n        sVar1 = *(short *)(lVar6 + 0x28);\n        local_48 = &local_58;\n        if (sVar1 != 0x34) {\n          uVar7 = gettext("bad e_ehsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x34);\n        }\n        sVar1 = *(short *)(lVar6 + 0x2e);\n        if (sVar1 != 0x28) {\n          uVar7 = gettext("bad e_shentsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x28);\n        }\n        uVar9 = 1;\n        FUN_001a8070(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n      else {\n        if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        local_58 = param_2 + 0x28;\n        uVar9 = 1;\n        local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n        FUN_001c2b00(&local_48,&local_58,&local_60);\n        FUN_001a8200(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n    }\n    else if (iVar4 == 0x20) {\n      local_58 = param_2 + 0x28;\n      lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n      uVar3 = *(uint *)(lVar6 + 0x20);\n      local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n      local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8);\n      local_30 = 0;\n      local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8);\n      uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8;\n      local_48 = &local_58;\n      if (uVar10 != 0x34) {\n        uVar7 = gettext("bad e_ehsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x34);\n      }\n      uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8;\n      if (uVar10 != 0x28) {\n        uVar7 = gettext("bad e_shentsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x28);\n      }\n      uVar9 = 1;\n      FUN_001a7d30(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n    else {\n      if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      local_58 = param_2 + 0x28;\n      uVar9 = 1;\n      local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n      FUN_001c27f0(&local_48,&local_58,&local_60);\n      FUN_001a7ed0(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n  }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar4 = *(int *)(param_1 + 0xc);\n    local_50 = param_3;\n    if (*(char *)(param_1 + 0x10) == '\0') {\n      if (iVar4 == 0x20) {\n        local_58 = param_2 + 0x28;\n        lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n        local_40 = (ulong)*(uint *)(lVar6 + 0x20);\n        local_38 = (uint)*(ushort *)(lVar6 + 0x30);\n        local_30 = 0;\n        local_34 = (uint)*(ushort *)(lVar6 + 0x32);\n        sVar1 = *(short *)(lVar6 + 0x28);\n        local_48 = &local_58;\n        if (sVar1 != 0x34) {\n          uVar7 = gettext("bad e_ehsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x34);\n        }\n        sVar1 = *(short *)(lVar6 + 0x2e);\n        if (sVar1 != 0x28) {\n          uVar7 = gettext("bad e_shentsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x28);\n        }\n        uVar9 = 1;\n        FUN_001a8070(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n      else {\n        if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        local_58 = param_2 + 0x28;\n        uVar9 = 1;\n        local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n        FUN_001c2b00(&local_48,&local_58,&local_60);\n        FUN_001a8200(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n    }\n    else if (iVar4 == 0x20) {\n      local_58 = param_2 + 0x28;\n      lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n      uVar3 = *(uint *)(lVar6 + 0x20);\n      local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n      local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8);\n      local_30 = 0;\n      local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8);\n      uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8;\n      local_48 = &local_58;\n      if (uVar10 != 0x34) {\n        uVar7 = gettext("bad e_ehsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x34);\n      }\n      uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8;\n      if (uVar10 != 0x28) {\n        uVar7 = gettext("bad e_shentsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x28);\n      }\n      uVar9 = 1;\n      FUN_001a7d30(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n    else {\n      if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      local_58 = param_2 + 0x28;\n      uVar9 = 1;\n      local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n      FUN_001c27f0(&local_48,&local_58,&local_60);\n      FUN_001a7ed0(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n  }" { (expression_statement "iVar4 = *(int *)(param_1 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_1 + 0xc)" identifier = (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "local_50 = param_3;" (assignment_expression "local_50 = param_3" identifier = identifier) ;) (if_statement "if (*(char *)(param_1 + 0x10) == '\0') {\n      if (iVar4 == 0x20) {\n        local_58 = param_2 + 0x28;\n        lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n        local_40 = (ulong)*(uint *)(lVar6 + 0x20);\n        local_38 = (uint)*(ushort *)(lVar6 + 0x30);\n        local_30 = 0;\n        local_34 = (uint)*(ushort *)(lVar6 + 0x32);\n        sVar1 = *(short *)(lVar6 + 0x28);\n        local_48 = &local_58;\n        if (sVar1 != 0x34) {\n          uVar7 = gettext("bad e_ehsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x34);\n        }\n        sVar1 = *(short *)(lVar6 + 0x2e);\n        if (sVar1 != 0x28) {\n          uVar7 = gettext("bad e_shentsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x28);\n        }\n        uVar9 = 1;\n        FUN_001a8070(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n      else {\n        if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        local_58 = param_2 + 0x28;\n        uVar9 = 1;\n        local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n        FUN_001c2b00(&local_48,&local_58,&local_60);\n        FUN_001a8200(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n    }\n    else if (iVar4 == 0x20) {\n      local_58 = param_2 + 0x28;\n      lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n      uVar3 = *(uint *)(lVar6 + 0x20);\n      local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n      local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8);\n      local_30 = 0;\n      local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8);\n      uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8;\n      local_48 = &local_58;\n      if (uVar10 != 0x34) {\n        uVar7 = gettext("bad e_ehsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x34);\n      }\n      uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8;\n      if (uVar10 != 0x28) {\n        uVar7 = gettext("bad e_shentsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x28);\n      }\n      uVar9 = 1;\n      FUN_001a7d30(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n    else {\n      if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      local_58 = param_2 + 0x28;\n      uVar9 = 1;\n      local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n      FUN_001c27f0(&local_48,&local_58,&local_60);\n      FUN_001a7ed0(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x10) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x10) == '\0'" (pointer_expression "*(char *)(param_1 + 0x10)" * (cast_expression "(char *)(param_1 + 0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if (iVar4 == 0x20) {\n        local_58 = param_2 + 0x28;\n        lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n        local_40 = (ulong)*(uint *)(lVar6 + 0x20);\n        local_38 = (uint)*(ushort *)(lVar6 + 0x30);\n        local_30 = 0;\n        local_34 = (uint)*(ushort *)(lVar6 + 0x32);\n        sVar1 = *(short *)(lVar6 + 0x28);\n        local_48 = &local_58;\n        if (sVar1 != 0x34) {\n          uVar7 = gettext("bad e_ehsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x34);\n        }\n        sVar1 = *(short *)(lVar6 + 0x2e);\n        if (sVar1 != 0x28) {\n          uVar7 = gettext("bad e_shentsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x28);\n        }\n        uVar9 = 1;\n        FUN_001a8070(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n      else {\n        if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        local_58 = param_2 + 0x28;\n        uVar9 = 1;\n        local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n        FUN_001c2b00(&local_48,&local_58,&local_60);\n        FUN_001a8200(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n    }" { (if_statement "if (iVar4 == 0x20) {\n        local_58 = param_2 + 0x28;\n        lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n        local_40 = (ulong)*(uint *)(lVar6 + 0x20);\n        local_38 = (uint)*(ushort *)(lVar6 + 0x30);\n        local_30 = 0;\n        local_34 = (uint)*(ushort *)(lVar6 + 0x32);\n        sVar1 = *(short *)(lVar6 + 0x28);\n        local_48 = &local_58;\n        if (sVar1 != 0x34) {\n          uVar7 = gettext("bad e_ehsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x34);\n        }\n        sVar1 = *(short *)(lVar6 + 0x2e);\n        if (sVar1 != 0x28) {\n          uVar7 = gettext("bad e_shentsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x28);\n        }\n        uVar9 = 1;\n        FUN_001a8070(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n      else {\n        if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        local_58 = param_2 + 0x28;\n        uVar9 = 1;\n        local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n        FUN_001c2b00(&local_48,&local_58,&local_60);\n        FUN_001a8200(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }" if (parenthesized_expression "(iVar4 == 0x20)" ( (binary_expression "iVar4 == 0x20" identifier == number_literal) )) (compound_statement "{\n        local_58 = param_2 + 0x28;\n        lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n        local_40 = (ulong)*(uint *)(lVar6 + 0x20);\n        local_38 = (uint)*(ushort *)(lVar6 + 0x30);\n        local_30 = 0;\n        local_34 = (uint)*(ushort *)(lVar6 + 0x32);\n        sVar1 = *(short *)(lVar6 + 0x28);\n        local_48 = &local_58;\n        if (sVar1 != 0x34) {\n          uVar7 = gettext("bad e_ehsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x34);\n        }\n        sVar1 = *(short *)(lVar6 + 0x2e);\n        if (sVar1 != 0x28) {\n          uVar7 = gettext("bad e_shentsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x28);\n        }\n        uVar9 = 1;\n        FUN_001a8070(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }" { (expression_statement "local_58 = param_2 + 0x28;" (assignment_expression "local_58 = param_2 + 0x28" identifier = (binary_expression "param_2 + 0x28" identifier + number_literal)) ;) (expression_statement "lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);" (assignment_expression "lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0)" identifier = (call_expression "FUN_0034d600(local_58,param_3,0,0x34,1,0)" identifier (argument_list "(local_58,param_3,0,0x34,1,0)" ( identifier , identifier , number_literal , number_literal , number_literal , number_literal )))) ;) (expression_statement "local_40 = (ulong)*(uint *)(lVar6 + 0x20);" (assignment_expression "local_40 = (ulong)*(uint *)(lVar6 + 0x20)" identifier = (binary_expression "(ulong)*(uint *)(lVar6 + 0x20)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(lVar6 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x20)" ( (binary_expression "lVar6 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "local_38 = (uint)*(ushort *)(lVar6 + 0x30);" (assignment_expression "local_38 = (uint)*(ushort *)(lVar6 + 0x30)" identifier = (binary_expression "(uint)*(ushort *)(lVar6 + 0x30)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(lVar6 + 0x30)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x30)" ( (binary_expression "lVar6 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_34 = (uint)*(ushort *)(lVar6 + 0x32);" (assignment_expression "local_34 = (uint)*(ushort *)(lVar6 + 0x32)" identifier = (binary_expression "(uint)*(ushort *)(lVar6 + 0x32)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(lVar6 + 0x32)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x32)" ( (binary_expression "lVar6 + 0x32" identifier + number_literal) ))))) ;) (expression_statement "sVar1 = *(short *)(lVar6 + 0x28);" (assignment_expression "sVar1 = *(short *)(lVar6 + 0x28)" identifier = (pointer_expression "*(short *)(lVar6 + 0x28)" * (cast_expression "(short *)(lVar6 + 0x28)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x28)" ( (binary_expression "lVar6 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "local_48 = &local_58;" (assignment_expression "local_48 = &local_58" identifier = (pointer_expression "&local_58" & identifier)) ;) (if_statement "if (sVar1 != 0x34) {\n          uVar7 = gettext("bad e_ehsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x34);\n        }" if (parenthesized_expression "(sVar1 != 0x34)" ( (binary_expression "sVar1 != 0x34" identifier != number_literal) )) (compound_statement "{\n          uVar7 = gettext("bad e_ehsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x34);\n        }" { (expression_statement "uVar7 = gettext("bad e_ehsize (%d != %d)");" (assignment_expression "uVar7 = gettext("bad e_ehsize (%d != %d)")" identifier = (call_expression "gettext("bad e_ehsize (%d != %d)")" identifier (argument_list "("bad e_ehsize (%d != %d)")" ( (string_literal ""bad e_ehsize (%d != %d)"" " string_content ") )))) ;) (expression_statement "FUN_003926c0(&local_58,uVar7,sVar1,0x34);" (call_expression "FUN_003926c0(&local_58,uVar7,sVar1,0x34)" identifier (argument_list "(&local_58,uVar7,sVar1,0x34)" ( (pointer_expression "&local_58" & identifier) , identifier , identifier , number_literal ))) ;) })) (expression_statement "sVar1 = *(short *)(lVar6 + 0x2e);" (assignment_expression "sVar1 = *(short *)(lVar6 + 0x2e)" identifier = (pointer_expression "*(short *)(lVar6 + 0x2e)" * (cast_expression "(short *)(lVar6 + 0x2e)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x2e)" ( (binary_expression "lVar6 + 0x2e" identifier + number_literal) ))))) ;) (if_statement "if (sVar1 != 0x28) {\n          uVar7 = gettext("bad e_shentsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x28);\n        }" if (parenthesized_expression "(sVar1 != 0x28)" ( (binary_expression "sVar1 != 0x28" identifier != number_literal) )) (compound_statement "{\n          uVar7 = gettext("bad e_shentsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x28);\n        }" { (expression_statement "uVar7 = gettext("bad e_shentsize (%d != %d)");" (assignment_expression "uVar7 = gettext("bad e_shentsize (%d != %d)")" identifier = (call_expression "gettext("bad e_shentsize (%d != %d)")" identifier (argument_list "("bad e_shentsize (%d != %d)")" ( (string_literal ""bad e_shentsize (%d != %d)"" " string_content ") )))) ;) (expression_statement "FUN_003926c0(&local_58,uVar7,sVar1,0x28);" (call_expression "FUN_003926c0(&local_58,uVar7,sVar1,0x28)" identifier (argument_list "(&local_58,uVar7,sVar1,0x28)" ( (pointer_expression "&local_58" & identifier) , identifier , identifier , number_literal ))) ;) })) (expression_statement "uVar9 = 1;" (assignment_expression "uVar9 = 1" identifier = number_literal) ;) (expression_statement "FUN_001a8070(&local_48);" (call_expression "FUN_001a8070(&local_48)" identifier (argument_list "(&local_48)" ( (pointer_expression "&local_48" & identifier) ))) ;) (expression_statement "uVar3 = local_38;" (assignment_expression "uVar3 = local_38" identifier = identifier) ;) (if_statement "if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }" if (parenthesized_expression "(1 < local_38)" ( (binary_expression "1 < local_38" number_literal < identifier) )) (compound_statement "{\n          do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }" { (do_statement "do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);" do (compound_statement "{\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          }" { (expression_statement "iVar4 = FUN_001c29e0(&local_48,uVar9);" (assignment_expression "iVar4 = FUN_001c29e0(&local_48,uVar9)" identifier = (call_expression "FUN_001c29e0(&local_48,uVar9)" identifier (argument_list "(&local_48,uVar9)" ( (pointer_expression "&local_48" & identifier) , identifier )))) ;) (if_statement "if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }" if (parenthesized_expression "(iVar4 == 7)" ( (binary_expression "iVar4 == 7" identifier == number_literal) )) (compound_statement "{\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }" { (expression_statement "auVar11 = FUN_001c2a70(&local_48,uVar9);" (assignment_expression "auVar11 = FUN_001c2a70(&local_48,uVar9)" identifier = (call_expression "FUN_001c2a70(&local_48,uVar9)" identifier (argument_list "(&local_48,uVar9)" ( (pointer_expression "&local_48" & identifier) , identifier )))) ;) (if_statement "if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;" if (parenthesized_expression "(((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0))))))" ( (binary_expression "((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))" (parenthesized_expression "((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U))" ( (binary_expression "(((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)" (parenthesized_expression "(((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5))" ( (binary_expression "((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)" (parenthesized_expression "((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)" ( (binary_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_" (binary_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14" (parenthesized_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc)" ( (binary_expression "*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc" (binary_expression "*(long *)(param_1 + 0x68) + 4U" (pointer_expression "*(long *)(param_1 + 0x68)" * (cast_expression "(long *)(param_1 + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) + number_literal) & number_literal) )) + number_literal) <= (field_expression "auVar11._8_8_" identifier . field_identifier)) )) && (parenthesized_expression "(piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)" ( (comma_expression "piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5" (assignment_expression "piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0)" identifier = (cast_expression "(int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0)" identifier (argument_list "(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0)" ( identifier , (binary_expression "auVar11._0_8_ + local_50" (field_expression "auVar11._0_8_" identifier . field_identifier) + identifier) , number_literal , (field_expression "auVar11._8_8_" identifier . field_identifier) , number_literal , number_literal ))))) , (binary_expression "*piVar5 == 5" (pointer_expression "*piVar5" * identifier) == number_literal)) ))) )) && (parenthesized_expression "((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)" ( (binary_expression "(ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U" (cast_expression "(ulong)(uint)piVar5[1]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)piVar5[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar5[1]" identifier [ number_literal ]))) == (binary_expression "*(long *)(param_1 + 0x68) + 1U" (pointer_expression "*(long *)(param_1 + 0x68)" * (cast_expression "(long *)(param_1 + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) + number_literal)) ))) )) && (parenthesized_expression "(((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))" ( (parenthesized_expression "((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0))))" ( (binary_expression "(piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))" (parenthesized_expression "(piVar5[2] == 1 && (piVar5[3] == 0x6c43614e))" ( (binary_expression "piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)" (binary_expression "piVar5[2] == 1" (subscript_expression "piVar5[2]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "(piVar5[3] == 0x6c43614e)" ( (binary_expression "piVar5[3] == 0x6c43614e" (subscript_expression "piVar5[3]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "(((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))" ( (parenthesized_expression "((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0))" ( (binary_expression "(char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)" (binary_expression "(char)piVar5[4] == '\0'" (cast_expression "(char)piVar5[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar5[4]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)" ( (comma_expression "iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0" (assignment_expression "iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1])" identifier = (call_expression "memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1])" identifier (argument_list "(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1])" ( (binary_expression "piVar5 + 5" identifier + number_literal) , (pointer_expression "*(void **)(param_1 + 0x60)" * (cast_expression "(void **)(param_1 + 0x60)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) )))) , (cast_expression "(ulong)(uint)piVar5[1]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)piVar5[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar5[1]" identifier [ number_literal ]))) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) ))) )) ))) )) (goto_statement "goto LAB_002a49fc;" goto statement_identifier ;)) })) (expression_statement "uVar9 = uVar9 + 1;" (assignment_expression "uVar9 = uVar9 + 1" identifier = (binary_expression "uVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar3 != uVar9)" ( (binary_expression "uVar3 != uVar9" identifier != identifier) )) ;) })) }) (else_clause "else {\n        if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        local_58 = param_2 + 0x28;\n        uVar9 = 1;\n        local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n        FUN_001c2b00(&local_48,&local_58,&local_60);\n        FUN_001a8200(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }" else (compound_statement "{\n        if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        local_58 = param_2 + 0x28;\n        uVar9 = 1;\n        local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n        FUN_001c2b00(&local_48,&local_58,&local_60);\n        FUN_001a8200(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }" { (if_statement "if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }" if (parenthesized_expression "(iVar4 != 0x40)" ( (binary_expression "iVar4 != 0x40" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }" { comment (expression_statement "FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");" (call_expression "FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file")" identifier (argument_list "("../../gold/nacl.h",0xbd,"recognize_nacl_file")" ( (string_literal ""../../gold/nacl.h"" " string_content ") , number_literal , (string_literal ""recognize_nacl_file"" " string_content ") ))) ;) })) (expression_statement "local_58 = param_2 + 0x28;" (assignment_expression "local_58 = param_2 + 0x28" identifier = (binary_expression "param_2 + 0x28" identifier + number_literal)) ;) (expression_statement "uVar9 = 1;" (assignment_expression "uVar9 = 1" identifier = number_literal) ;) (expression_statement "local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);" (assignment_expression "local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0)" identifier = (call_expression "FUN_0034d600(local_58,param_3,0,0x40,1,0)" identifier (argument_list "(local_58,param_3,0,0x40,1,0)" ( identifier , identifier , number_literal , number_literal , number_literal , number_literal )))) ;) (expression_statement "FUN_001c2b00(&local_48,&local_58,&local_60);" (call_expression "FUN_001c2b00(&local_48,&local_58,&local_60)" identifier (argument_list "(&local_48,&local_58,&local_60)" ( (pointer_expression "&local_48" & identifier) , (pointer_expression "&local_58" & identifier) , (pointer_expression "&local_60" & identifier) ))) ;) (expression_statement "FUN_001a8200(&local_48);" (call_expression "FUN_001a8200(&local_48)" identifier (argument_list "(&local_48)" ( (pointer_expression "&local_48" & identifier) ))) ;) (expression_statement "uVar3 = local_38;" (assignment_expression "uVar3 = local_38" identifier = identifier) ;) (if_statement "if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }" if (parenthesized_expression "(1 < local_38)" ( (binary_expression "1 < local_38" number_literal < identifier) )) (compound_statement "{\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }" { (do_statement "do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);" do (compound_statement "{\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          }" { (expression_statement "iVar4 = FUN_001c2ba0(&local_48,uVar9);" (assignment_expression "iVar4 = FUN_001c2ba0(&local_48,uVar9)" identifier = (call_expression "FUN_001c2ba0(&local_48,uVar9)" identifier (argument_list "(&local_48,uVar9)" ( (pointer_expression "&local_48" & identifier) , identifier )))) ;) (if_statement "if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }" if (parenthesized_expression "(iVar4 == 7)" ( (binary_expression "iVar4 == 7" identifier == number_literal) )) (compound_statement "{\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }" { (expression_statement "auVar11 = FUN_001c2c30(&local_48,uVar9);" (assignment_expression "auVar11 = FUN_001c2c30(&local_48,uVar9)" identifier = (call_expression "FUN_001c2c30(&local_48,uVar9)" identifier (argument_list "(&local_48,uVar9)" ( (pointer_expression "&local_48" & identifier) , identifier )))) ;) (if_statement "if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;" if (parenthesized_expression "(((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0))" ( (binary_expression "((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)" (parenthesized_expression "((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))" ( (binary_expression "(((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))))" (parenthesized_expression "(((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5))" ( (binary_expression "((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)" (parenthesized_expression "((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)" ( (binary_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_" (binary_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14" (parenthesized_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc)" ( (binary_expression "*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc" (binary_expression "*(long *)(param_1 + 0x68) + 4U" (pointer_expression "*(long *)(param_1 + 0x68)" * (cast_expression "(long *)(param_1 + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) + number_literal) & number_literal) )) + number_literal) <= (field_expression "auVar11._8_8_" identifier . field_identifier)) )) && (parenthesized_expression "(piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)" ( (comma_expression "piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5" (assignment_expression "piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0)" identifier = (cast_expression "(int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0)" identifier (argument_list "(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0)" ( identifier , (binary_expression "auVar11._0_8_ + local_50" (field_expression "auVar11._0_8_" identifier . field_identifier) + identifier) , number_literal , (field_expression "auVar11._8_8_" identifier . field_identifier) , number_literal , number_literal ))))) , (binary_expression "*piVar5 == 5" (pointer_expression "*piVar5" * identifier) == number_literal)) ))) )) && (parenthesized_expression "(((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))))" ( (parenthesized_expression "((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))" ( (binary_expression "(ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))" (binary_expression "(ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U" (cast_expression "(ulong)(uint)piVar5[1]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)piVar5[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar5[1]" identifier [ number_literal ]))) == (binary_expression "*(long *)(param_1 + 0x68) + 1U" (pointer_expression "*(long *)(param_1 + 0x68)" * (cast_expression "(long *)(param_1 + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) + number_literal)) && (parenthesized_expression "(((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))" ( (parenthesized_expression "((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))" ( (binary_expression "(piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')" (parenthesized_expression "(piVar5[2] == 1 && (piVar5[3] == 0x6c43614e))" ( (binary_expression "piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)" (binary_expression "piVar5[2] == 1" (subscript_expression "piVar5[2]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "(piVar5[3] == 0x6c43614e)" ( (binary_expression "piVar5[3] == 0x6c43614e" (subscript_expression "piVar5[3]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "((char)piVar5[4] == '\0')" ( (binary_expression "(char)piVar5[4] == '\0'" (cast_expression "(char)piVar5[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar5[4]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) ))) )) && (parenthesized_expression "(iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)" ( (comma_expression "iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0" (assignment_expression "iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1])" identifier = (call_expression "memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1])" identifier (argument_list "(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1])" ( (binary_expression "piVar5 + 5" identifier + number_literal) , (pointer_expression "*(void **)(param_1 + 0x60)" * (cast_expression "(void **)(param_1 + 0x60)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) )))) , (cast_expression "(ulong)(uint)piVar5[1]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)piVar5[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar5[1]" identifier [ number_literal ]))) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_002a49fc;" goto statement_identifier ;)) })) (expression_statement "uVar9 = uVar9 + 1;" (assignment_expression "uVar9 = uVar9 + 1" identifier = (binary_expression "uVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar3 != uVar9)" ( (binary_expression "uVar3 != uVar9" identifier != identifier) )) ;) })) }))) }) (else_clause "else if (iVar4 == 0x20) {\n      local_58 = param_2 + 0x28;\n      lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n      uVar3 = *(uint *)(lVar6 + 0x20);\n      local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n      local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8);\n      local_30 = 0;\n      local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8);\n      uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8;\n      local_48 = &local_58;\n      if (uVar10 != 0x34) {\n        uVar7 = gettext("bad e_ehsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x34);\n      }\n      uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8;\n      if (uVar10 != 0x28) {\n        uVar7 = gettext("bad e_shentsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x28);\n      }\n      uVar9 = 1;\n      FUN_001a7d30(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n    else {\n      if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      local_58 = param_2 + 0x28;\n      uVar9 = 1;\n      local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n      FUN_001c27f0(&local_48,&local_58,&local_60);\n      FUN_001a7ed0(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }" else (if_statement "if (iVar4 == 0x20) {\n      local_58 = param_2 + 0x28;\n      lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n      uVar3 = *(uint *)(lVar6 + 0x20);\n      local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n      local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8);\n      local_30 = 0;\n      local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8);\n      uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8;\n      local_48 = &local_58;\n      if (uVar10 != 0x34) {\n        uVar7 = gettext("bad e_ehsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x34);\n      }\n      uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8;\n      if (uVar10 != 0x28) {\n        uVar7 = gettext("bad e_shentsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x28);\n      }\n      uVar9 = 1;\n      FUN_001a7d30(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n    else {\n      if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      local_58 = param_2 + 0x28;\n      uVar9 = 1;\n      local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n      FUN_001c27f0(&local_48,&local_58,&local_60);\n      FUN_001a7ed0(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }" if (parenthesized_expression "(iVar4 == 0x20)" ( (binary_expression "iVar4 == 0x20" identifier == number_literal) )) (compound_statement "{\n      local_58 = param_2 + 0x28;\n      lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n      uVar3 = *(uint *)(lVar6 + 0x20);\n      local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n      local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8);\n      local_30 = 0;\n      local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8);\n      uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8;\n      local_48 = &local_58;\n      if (uVar10 != 0x34) {\n        uVar7 = gettext("bad e_ehsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x34);\n      }\n      uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8;\n      if (uVar10 != 0x28) {\n        uVar7 = gettext("bad e_shentsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x28);\n      }\n      uVar9 = 1;\n      FUN_001a7d30(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }" { (expression_statement "local_58 = param_2 + 0x28;" (assignment_expression "local_58 = param_2 + 0x28" identifier = (binary_expression "param_2 + 0x28" identifier + number_literal)) ;) (expression_statement "lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);" (assignment_expression "lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0)" identifier = (call_expression "FUN_0034d600(local_58,param_3,0,0x34,1,0)" identifier (argument_list "(local_58,param_3,0,0x34,1,0)" ( identifier , identifier , number_literal , number_literal , number_literal , number_literal )))) ;) (expression_statement "uVar3 = *(uint *)(lVar6 + 0x20);" (assignment_expression "uVar3 = *(uint *)(lVar6 + 0x20)" identifier = (pointer_expression "*(uint *)(lVar6 + 0x20)" * (cast_expression "(uint *)(lVar6 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x20)" ( (binary_expression "lVar6 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);" (assignment_expression "local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18)" identifier = (call_expression "(ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18)" ( (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8" (binary_expression "uVar3 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar3 & 0xff0000) >> 8" (parenthesized_expression "(uVar3 & 0xff0000)" ( (binary_expression "uVar3 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar3 & 0xff00) << 8" (parenthesized_expression "(uVar3 & 0xff00)" ( (binary_expression "uVar3 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar3 << 0x18" identifier << number_literal)) )))) ;) (expression_statement "local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8);" (assignment_expression "local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8)" identifier = (call_expression "(uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8)" (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ushort)" ( identifier ))) (argument_list "(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8)" ( (binary_expression "*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8" (binary_expression "*(ushort *)(lVar6 + 0x30) << 8" (pointer_expression "*(ushort *)(lVar6 + 0x30)" * (cast_expression "(ushort *)(lVar6 + 0x30)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x30)" ( (binary_expression "lVar6 + 0x30" identifier + number_literal) )))) << number_literal) | (binary_expression "*(ushort *)(lVar6 + 0x30) >> 8" (pointer_expression "*(ushort *)(lVar6 + 0x30)" * (cast_expression "(ushort *)(lVar6 + 0x30)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x30)" ( (binary_expression "lVar6 + 0x30" identifier + number_literal) )))) >> number_literal)) )))) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8);" (assignment_expression "local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8)" identifier = (call_expression "(uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8)" (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ushort)" ( identifier ))) (argument_list "(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8)" ( (binary_expression "*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8" (binary_expression "*(ushort *)(lVar6 + 0x32) << 8" (pointer_expression "*(ushort *)(lVar6 + 0x32)" * (cast_expression "(ushort *)(lVar6 + 0x32)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x32)" ( (binary_expression "lVar6 + 0x32" identifier + number_literal) )))) << number_literal) | (binary_expression "*(ushort *)(lVar6 + 0x32) >> 8" (pointer_expression "*(ushort *)(lVar6 + 0x32)" * (cast_expression "(ushort *)(lVar6 + 0x32)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x32)" ( (binary_expression "lVar6 + 0x32" identifier + number_literal) )))) >> number_literal)) )))) ;) (expression_statement "uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8;" (assignment_expression "uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8" identifier = (binary_expression "*(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8" (binary_expression "*(ushort *)(lVar6 + 0x28) << 8" (pointer_expression "*(ushort *)(lVar6 + 0x28)" * (cast_expression "(ushort *)(lVar6 + 0x28)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x28)" ( (binary_expression "lVar6 + 0x28" identifier + number_literal) )))) << number_literal) | (binary_expression "*(ushort *)(lVar6 + 0x28) >> 8" (pointer_expression "*(ushort *)(lVar6 + 0x28)" * (cast_expression "(ushort *)(lVar6 + 0x28)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x28)" ( (binary_expression "lVar6 + 0x28" identifier + number_literal) )))) >> number_literal))) ;) (expression_statement "local_48 = &local_58;" (assignment_expression "local_48 = &local_58" identifier = (pointer_expression "&local_58" & identifier)) ;) (if_statement "if (uVar10 != 0x34) {\n        uVar7 = gettext("bad e_ehsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x34);\n      }" if (parenthesized_expression "(uVar10 != 0x34)" ( (binary_expression "uVar10 != 0x34" identifier != number_literal) )) (compound_statement "{\n        uVar7 = gettext("bad e_ehsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x34);\n      }" { (expression_statement "uVar7 = gettext("bad e_ehsize (%d != %d)");" (assignment_expression "uVar7 = gettext("bad e_ehsize (%d != %d)")" identifier = (call_expression "gettext("bad e_ehsize (%d != %d)")" identifier (argument_list "("bad e_ehsize (%d != %d)")" ( (string_literal ""bad e_ehsize (%d != %d)"" " string_content ") )))) ;) (expression_statement "FUN_003926c0(&local_58,uVar7,uVar10,0x34);" (call_expression "FUN_003926c0(&local_58,uVar7,uVar10,0x34)" identifier (argument_list "(&local_58,uVar7,uVar10,0x34)" ( (pointer_expression "&local_58" & identifier) , identifier , identifier , number_literal ))) ;) })) (expression_statement "uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8;" (assignment_expression "uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8" identifier = (binary_expression "*(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8" (binary_expression "*(ushort *)(lVar6 + 0x2e) << 8" (pointer_expression "*(ushort *)(lVar6 + 0x2e)" * (cast_expression "(ushort *)(lVar6 + 0x2e)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x2e)" ( (binary_expression "lVar6 + 0x2e" identifier + number_literal) )))) << number_literal) | (binary_expression "*(ushort *)(lVar6 + 0x2e) >> 8" (pointer_expression "*(ushort *)(lVar6 + 0x2e)" * (cast_expression "(ushort *)(lVar6 + 0x2e)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x2e)" ( (binary_expression "lVar6 + 0x2e" identifier + number_literal) )))) >> number_literal))) ;) (if_statement "if (uVar10 != 0x28) {\n        uVar7 = gettext("bad e_shentsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x28);\n      }" if (parenthesized_expression "(uVar10 != 0x28)" ( (binary_expression "uVar10 != 0x28" identifier != number_literal) )) (compound_statement "{\n        uVar7 = gettext("bad e_shentsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x28);\n      }" { (expression_statement "uVar7 = gettext("bad e_shentsize (%d != %d)");" (assignment_expression "uVar7 = gettext("bad e_shentsize (%d != %d)")" identifier = (call_expression "gettext("bad e_shentsize (%d != %d)")" identifier (argument_list "("bad e_shentsize (%d != %d)")" ( (string_literal ""bad e_shentsize (%d != %d)"" " string_content ") )))) ;) (expression_statement "FUN_003926c0(&local_58,uVar7,uVar10,0x28);" (call_expression "FUN_003926c0(&local_58,uVar7,uVar10,0x28)" identifier (argument_list "(&local_58,uVar7,uVar10,0x28)" ( (pointer_expression "&local_58" & identifier) , identifier , identifier , number_literal ))) ;) })) (expression_statement "uVar9 = 1;" (assignment_expression "uVar9 = 1" identifier = number_literal) ;) (expression_statement "FUN_001a7d30(&local_48);" (call_expression "FUN_001a7d30(&local_48)" identifier (argument_list "(&local_48)" ( (pointer_expression "&local_48" & identifier) ))) ;) (expression_statement "uVar3 = local_38;" (assignment_expression "uVar3 = local_38" identifier = identifier) ;) (if_statement "if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }" if (parenthesized_expression "(1 < local_38)" ( (binary_expression "1 < local_38" number_literal < identifier) )) (compound_statement "{\n        do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }" { (do_statement "do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);" do (compound_statement "{\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        }" { (expression_statement "iVar4 = FUN_001c26c0(&local_48,uVar9);" (assignment_expression "iVar4 = FUN_001c26c0(&local_48,uVar9)" identifier = (call_expression "FUN_001c26c0(&local_48,uVar9)" identifier (argument_list "(&local_48,uVar9)" ( (pointer_expression "&local_48" & identifier) , identifier )))) ;) (if_statement "if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }" if (parenthesized_expression "(iVar4 == 7)" ( (binary_expression "iVar4 == 7" identifier == number_literal) )) (compound_statement "{\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }" { (expression_statement "auVar11 = FUN_001c2750(&local_48,uVar9);" (assignment_expression "auVar11 = FUN_001c2750(&local_48,uVar9)" identifier = (call_expression "FUN_001c2750(&local_48,uVar9)" identifier (argument_list "(&local_48,uVar9)" ( (pointer_expression "&local_48" & identifier) , identifier )))) ;) (if_statement "if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }" if (parenthesized_expression "(((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000))" ( (binary_expression "((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)" (parenthesized_expression "((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)" ( (binary_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_" (binary_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14" (parenthesized_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc)" ( (binary_expression "*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc" (binary_expression "*(long *)(param_1 + 0x68) + 4U" (pointer_expression "*(long *)(param_1 + 0x68)" * (cast_expression "(long *)(param_1 + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) + number_literal) & number_literal) )) + number_literal) <= (field_expression "auVar11._8_8_" identifier . field_identifier)) )) && (parenthesized_expression "(piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)" ( (comma_expression "piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000" (assignment_expression "piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0)" identifier = (cast_expression "(int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0)" identifier (argument_list "(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0)" ( identifier , (binary_expression "auVar11._0_8_ + local_50" (field_expression "auVar11._0_8_" identifier . field_identifier) + identifier) , number_literal , (field_expression "auVar11._8_8_" identifier . field_identifier) , number_literal , number_literal ))))) , (binary_expression "*piVar5 == 0x5000000" (pointer_expression "*piVar5" * identifier) == number_literal)) ))) )) (compound_statement "{\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }" { (expression_statement "uVar2 = piVar5[1];" (assignment_expression "uVar2 = piVar5[1]" identifier = (subscript_expression "piVar5[1]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);" (assignment_expression "uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18)" identifier = (call_expression "(ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18)" ( (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar2 << 0x18" identifier << number_literal)) )))) ;) (if_statement "if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;" if (parenthesized_expression "((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))" ( (binary_expression "(((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)" (parenthesized_expression "(((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0'))" ( (binary_expression "((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')" (parenthesized_expression "((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e))))" ( (binary_expression "(uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))" (parenthesized_expression "(uVar8 == *(long *)(param_1 + 0x68) + 1U)" ( (binary_expression "uVar8 == *(long *)(param_1 + 0x68) + 1U" identifier == (binary_expression "*(long *)(param_1 + 0x68) + 1U" (pointer_expression "*(long *)(param_1 + 0x68)" * (cast_expression "(long *)(param_1 + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) + number_literal)) )) && (parenthesized_expression "((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))" ( (parenthesized_expression "(piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e))" ( (binary_expression "piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)" (binary_expression "piVar5[2] == 0x1000000" (subscript_expression "piVar5[2]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "(piVar5[3] == 0x6c43614e)" ( (binary_expression "piVar5[3] == 0x6c43614e" (subscript_expression "piVar5[3]" identifier [ number_literal ]) == number_literal) ))) )) ))) )) && (parenthesized_expression "((char)piVar5[4] == '\0')" ( (binary_expression "(char)piVar5[4] == '\0'" (cast_expression "(char)piVar5[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar5[4]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)" ( (comma_expression "iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0" (assignment_expression "iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8)" identifier = (call_expression "memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8)" identifier (argument_list "(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8)" ( (binary_expression "piVar5 + 5" identifier + number_literal) , (pointer_expression "*(void **)(param_1 + 0x60)" * (cast_expression "(void **)(param_1 + 0x60)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) )))) , identifier )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_002a49fc;" goto statement_identifier ;)) })) })) (expression_statement "uVar9 = uVar9 + 1;" (assignment_expression "uVar9 = uVar9 + 1" identifier = (binary_expression "uVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar3 != uVar9)" ( (binary_expression "uVar3 != uVar9" identifier != identifier) )) ;) })) }) (else_clause "else {\n      if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      local_58 = param_2 + 0x28;\n      uVar9 = 1;\n      local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n      FUN_001c27f0(&local_48,&local_58,&local_60);\n      FUN_001a7ed0(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }" else (compound_statement "{\n      if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      local_58 = param_2 + 0x28;\n      uVar9 = 1;\n      local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n      FUN_001c27f0(&local_48,&local_58,&local_60);\n      FUN_001a7ed0(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }" { (if_statement "if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }" if (parenthesized_expression "(iVar4 != 0x40)" ( (binary_expression "iVar4 != 0x40" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }" { comment (expression_statement "FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");" (call_expression "FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file")" identifier (argument_list "("../../gold/nacl.h",0xaf,"recognize_nacl_file")" ( (string_literal ""../../gold/nacl.h"" " string_content ") , number_literal , (string_literal ""recognize_nacl_file"" " string_content ") ))) ;) })) (expression_statement "local_58 = param_2 + 0x28;" (assignment_expression "local_58 = param_2 + 0x28" identifier = (binary_expression "param_2 + 0x28" identifier + number_literal)) ;) (expression_statement "uVar9 = 1;" (assignment_expression "uVar9 = 1" identifier = number_literal) ;) (expression_statement "local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);" (assignment_expression "local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0)" identifier = (call_expression "FUN_0034d600(local_58,param_3,0,0x40,1,0)" identifier (argument_list "(local_58,param_3,0,0x40,1,0)" ( identifier , identifier , number_literal , number_literal , number_literal , number_literal )))) ;) (expression_statement "FUN_001c27f0(&local_48,&local_58,&local_60);" (call_expression "FUN_001c27f0(&local_48,&local_58,&local_60)" identifier (argument_list "(&local_48,&local_58,&local_60)" ( (pointer_expression "&local_48" & identifier) , (pointer_expression "&local_58" & identifier) , (pointer_expression "&local_60" & identifier) ))) ;) (expression_statement "FUN_001a7ed0(&local_48);" (call_expression "FUN_001a7ed0(&local_48)" identifier (argument_list "(&local_48)" ( (pointer_expression "&local_48" & identifier) ))) ;) (expression_statement "uVar3 = local_38;" (assignment_expression "uVar3 = local_38" identifier = identifier) ;) (if_statement "if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }" if (parenthesized_expression "(1 < local_38)" ( (binary_expression "1 < local_38" number_literal < identifier) )) (compound_statement "{\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }" { (do_statement "do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);" do (compound_statement "{\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        }" { (expression_statement "iVar4 = FUN_001c28b0(&local_48,uVar9);" (assignment_expression "iVar4 = FUN_001c28b0(&local_48,uVar9)" identifier = (call_expression "FUN_001c28b0(&local_48,uVar9)" identifier (argument_list "(&local_48,uVar9)" ( (pointer_expression "&local_48" & identifier) , identifier )))) ;) (if_statement "if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }" if (parenthesized_expression "(iVar4 == 7)" ( (binary_expression "iVar4 == 7" identifier == number_literal) )) (compound_statement "{\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }" { (expression_statement "auVar11 = FUN_001c2940(&local_48,uVar9);" (assignment_expression "auVar11 = FUN_001c2940(&local_48,uVar9)" identifier = (call_expression "FUN_001c2940(&local_48,uVar9)" identifier (argument_list "(&local_48,uVar9)" ( (pointer_expression "&local_48" & identifier) , identifier )))) ;) (if_statement "if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }" if (parenthesized_expression "(((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000))" ( (binary_expression "((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)" (parenthesized_expression "((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)" ( (binary_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_" (binary_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14" (parenthesized_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc)" ( (binary_expression "*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc" (binary_expression "*(long *)(param_1 + 0x68) + 4U" (pointer_expression "*(long *)(param_1 + 0x68)" * (cast_expression "(long *)(param_1 + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) + number_literal) & number_literal) )) + number_literal) <= (field_expression "auVar11._8_8_" identifier . field_identifier)) )) && (parenthesized_expression "(piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)" ( (comma_expression "piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000" (assignment_expression "piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0)" identifier = (cast_expression "(int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0)" identifier (argument_list "(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0)" ( identifier , (binary_expression "auVar11._0_8_ + local_50" (field_expression "auVar11._0_8_" identifier . field_identifier) + identifier) , number_literal , (field_expression "auVar11._8_8_" identifier . field_identifier) , number_literal , number_literal ))))) , (binary_expression "*piVar5 == 0x5000000" (pointer_expression "*piVar5" * identifier) == number_literal)) ))) )) (compound_statement "{\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }" { (expression_statement "uVar2 = piVar5[1];" (assignment_expression "uVar2 = piVar5[1]" identifier = (subscript_expression "piVar5[1]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);" (assignment_expression "uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18)" identifier = (call_expression "(ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18)" ( (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar2 << 0x18" identifier << number_literal)) )))) ;) (if_statement "if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }" if (parenthesized_expression "((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))))" ( (binary_expression "(uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))" (parenthesized_expression "(uVar8 == *(long *)(param_1 + 0x68) + 1U)" ( (binary_expression "uVar8 == *(long *)(param_1 + 0x68) + 1U" identifier == (binary_expression "*(long *)(param_1 + 0x68) + 1U" (pointer_expression "*(long *)(param_1 + 0x68)" * (cast_expression "(long *)(param_1 + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) + number_literal)) )) && (parenthesized_expression "((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))" ( (parenthesized_expression "(((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))" ( (binary_expression "((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)" (parenthesized_expression "((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0'))" ( (binary_expression "(piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')" (parenthesized_expression "(piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e))" ( (binary_expression "piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)" (binary_expression "piVar5[2] == 0x1000000" (subscript_expression "piVar5[2]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "(piVar5[3] == 0x6c43614e)" ( (binary_expression "piVar5[3] == 0x6c43614e" (subscript_expression "piVar5[3]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "((char)piVar5[4] == '\0')" ( (binary_expression "(char)piVar5[4] == '\0'" (cast_expression "(char)piVar5[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar5[4]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)" ( (comma_expression "iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0" (assignment_expression "iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8)" identifier = (call_expression "memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8)" identifier (argument_list "(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8)" ( (binary_expression "piVar5 + 5" identifier + number_literal) , (pointer_expression "*(void **)(param_1 + 0x60)" * (cast_expression "(void **)(param_1 + 0x60)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) )))) , identifier )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) ))) )) (compound_statement "{\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }" { (labeled_statement "LAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;" statement_identifier : (expression_statement "*(undefined1 *)(param_1 + 0x58) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x58) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x58)" * (cast_expression "(undefined1 *)(param_1 + 0x58)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x58)" ( (binary_expression "param_1 + 0x58" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "FUN_0045b0a0(param_1);" (call_expression "FUN_0045b0a0(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (return_statement "return;" return ;) })) })) })) (expression_statement "uVar9 = uVar9 + 1;" (assignment_expression "uVar9 = uVar9 + 1" identifier = (binary_expression "uVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar3 != uVar9)" ( (binary_expression "uVar3 != uVar9" identifier != identifier) )) ;) })) }))))) })) (expression_statement "*(undefined1 *)(param_1 + 0x58) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x58) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x58)" * (cast_expression "(undefined1 *)(param_1 + 0x58)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x58)" ( (binary_expression "param_1 + 0x58" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0045b0a0(param_1);" (call_expression "FUN_0045b0a0(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n/* DWARF original prototype: Target *\n   do_recognize(Target_selector_nacl<(anonymous_namespace)::Target_selector_mips<32,_true>,_(anonymous_namespace)::Target_mips_nacl<32,_true>_>\n   * this, Input_file * file, off_t offset, int machine, int osabi, int abiversion) */\n\nTarget * __thiscall\ngold::\nTarget_selector_nacl<(anonymous_namespace)::Target_selector_mips<32,_true>,_(anonymous_namespace)::Target_mips_nacl<32,_true>_>\n::do_recognize(Target_selector_nacl<(anonymous_namespace)::Target_selector_mips<32,_true>,_(anonymous_namespace)::Target_mips_nacl<32,_true>_>\n               *this,Input_file *file,off_t offset,int machine,int osabi,int abiversion)\n\n{\n  uint uVar1;\n  uint uVar2;\n  Elf_Word EVar3;\n  int iVar4;\n  int *piVar5;\n  Target *pTVar6;\n  uchar *puVar7;\n  char *pcVar8;\n  ulong uVar9;\n  uint uVar10;\n  ushort uVar11;\n  Location LVar12;\n  Ef_ehdr local_60;\n  Sniff_file file_1;\n  Elf_file<64,_true,_gold::Sniff_file> elf_file;\n  \n  if (file != (Input_file *)0x0) {\n    iVar4 = (this->super_Target_selector_mips<32,_true>).super_Target_selector.size_;\n    file_1.offset_ = offset;\n    if ((this->super_Target_selector_mips<32,_true>).super_Target_selector.is_big_endian_ == false)\n    {\n      if (iVar4 == 0x20) {\n        file_1.file_ = &file->file_;\n        puVar7 = File_read::get_view(file_1.file_,offset,0,0x34,true,false);\n        elf_file.shoff_ = (off_t)*(uint *)(puVar7 + 0x20);\n        elf_file.shnum_ = (uint)*(ushort *)(puVar7 + 0x30);\n        elf_file.large_shndx_offset_ = 0;\n        elf_file.shstrndx_ = (uint)*(ushort *)(puVar7 + 0x32);\n        uVar11 = *(ushort *)(puVar7 + 0x28);\n        elf_file.file_ = &file_1;\n        if (uVar11 != 0x34) {\n          pcVar8 = (char *)gettext("bad e_ehsize (%d != %d)");\n          Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x34);\n        }\n        uVar11 = *(ushort *)(puVar7 + 0x2e);\n        if (uVar11 != 0x28) {\n          pcVar8 = (char *)gettext("bad e_shentsize (%d != %d)");\n          Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x28);\n        }\n        uVar10 = 1;\n        elfcpp::Elf_file<32,_false,_gold::Sniff_file>::initialize_shnum\n                  ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file);\n        uVar2 = elf_file.shnum_;\n        if (1 < elf_file.shnum_) {\n          do {\n            EVar3 = elfcpp::Elf_file<32,_false,_gold::Sniff_file>::section_type\n                              ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n            if (EVar3 == 7) {\n              LVar12 = elfcpp::Elf_file<32,_false,_gold::Sniff_file>::section_contents\n                                 ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && ((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                   (ulong)(uint)piVar5[1]), iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar10 = uVar10 + 1;\n          } while (uVar2 != uVar10);\n        }\n      }\n      else {\n        if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        file_1.file_ = &file->file_;\n        uVar10 = 1;\n        local_60.p_ = (Ehdr_data<64> *)File_read::get_view(file_1.file_,offset,0,0x40,true,false);\n        elfcpp::Elf_file<64,_false,_gold::Sniff_file>::construct\n                  ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,&file_1,(Ef_ehdr *)&local_60);\n        elfcpp::Elf_file<64,_false,_gold::Sniff_file>::initialize_shnum\n                  ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file);\n        uVar2 = elf_file.shnum_;\n        if (1 < elf_file.shnum_) {\n          do {\n            EVar3 = elfcpp::Elf_file<64,_false,_gold::Sniff_file>::section_type\n                              ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n            if (EVar3 == 7) {\n              LVar12 = elfcpp::Elf_file<64,_false,_gold::Sniff_file>::section_contents\n                                 ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && (((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1 &&\n                      (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))\n                      ))) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                 (ulong)(uint)piVar5[1]), iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar10 = uVar10 + 1;\n          } while (uVar2 != uVar10);\n        }\n      }\n    }\n    else if (iVar4 == 0x20) {\n      file_1.file_ = &file->file_;\n      puVar7 = File_read::get_view(file_1.file_,offset,0,0x34,true,false);\n      uVar2 = *(uint *)(puVar7 + 0x20);\n      elf_file.shoff_ =\n           (off_t)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);\n      elf_file.shnum_ =\n           (uint)(ushort)(*(ushort *)(puVar7 + 0x30) << 8 | *(ushort *)(puVar7 + 0x30) >> 8);\n      elf_file.large_shndx_offset_ = 0;\n      elf_file.shstrndx_ =\n           (uint)(ushort)(*(ushort *)(puVar7 + 0x32) << 8 | *(ushort *)(puVar7 + 0x32) >> 8);\n      uVar11 = *(ushort *)(puVar7 + 0x28) << 8 | *(ushort *)(puVar7 + 0x28) >> 8;\n      elf_file.file_ = &file_1;\n      if (uVar11 != 0x34) {\n        pcVar8 = (char *)gettext("bad e_ehsize (%d != %d)");\n        Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x34);\n      }\n      uVar11 = *(ushort *)(puVar7 + 0x2e) << 8 | *(ushort *)(puVar7 + 0x2e) >> 8;\n      if (uVar11 != 0x28) {\n        pcVar8 = (char *)gettext("bad e_shentsize (%d != %d)");\n        Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x28);\n      }\n      uVar10 = 1;\n      elfcpp::Elf_file<32,_true,_gold::Sniff_file>::initialize_shnum\n                ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file);\n      uVar2 = elf_file.shnum_;\n      if (1 < elf_file.shnum_) {\n        do {\n          EVar3 = elfcpp::Elf_file<32,_true,_gold::Sniff_file>::section_type\n                            ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10);\n          if (EVar3 == 7) {\n            LVar12 = elfcpp::Elf_file<32,_true,_gold::Sniff_file>::section_contents\n                               ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10);\n            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))\n            {\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                 iVar4 == 0)) goto LAB_002a49fc;\n            }\n          }\n          uVar10 = uVar10 + 1;\n        } while (uVar2 != uVar10);\n      }\n    }\n    else {\n      if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      file_1.file_ = &file->file_;\n      uVar10 = 1;\n      local_60.p_ = (Ehdr_data<64> *)File_read::get_view(file_1.file_,offset,0,0x40,true,false);\n      elfcpp::Elf_file<64,_true,_gold::Sniff_file>::construct(&elf_file,&file_1,&local_60);\n      elfcpp::Elf_file<64,_true,_gold::Sniff_file>::initialize_shnum(&elf_file);\n      uVar2 = elf_file.shnum_;\n      if (1 < elf_file.shnum_) {\n        do {\n          EVar3 = elfcpp::Elf_file<64,_true,_gold::Sniff_file>::section_type(&elf_file,uVar10);\n          if (EVar3 == 7) {\n            LVar12 = elfcpp::Elf_file<64,_true,_gold::Sniff_file>::section_contents\n                               (&elf_file,uVar10);\n            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))\n            {\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                  iVar4 == 0)))) {\nLAB_002a49fc:\n                this->is_nacl_ = true;\n                pTVar6 = Target_selector::instantiate_target((Target_selector *)this);\n                return pTVar6;\n              }\n            }\n          }\n          uVar10 = uVar10 + 1;\n        } while (uVar2 != uVar10);\n      }\n    }\n  }\n  this->is_nacl_ = false;\n  pTVar6 = Target_selector::instantiate_target((Target_selector *)this);\n  return pTVar6;\n}\n\n" comment comment (ERROR "Target * __thiscall\ngold::\nTarget_selector_nacl<(anonymous_namespace)::Target_selector_mips<32,_true>,_(anonymous_namespace)::Target_mips_nacl<32,_true>_>\n::do_recognize(Target_selector_nacl<(anonymous_namespace)::Target_selector_mips<32,_true>,_(anonymous_namespace)::Target_mips_nacl<32,_true>_>\n               *this,Input_file *file,off_t offset,int machine,int osabi,int abiversion)" (binary_expression "Target * __thiscall\ngold::\nTarget_selector_nacl<(anonymous_namespace)::Target_selector_mips<32,_true>,_(anonymous_namespace)::Target_mips_nacl<32,_true>_>\n::do_recognize(Target_selector_nacl<(anonymous_namespace)::Target_selector_mips<32,_true>,_(anonymous_namespace)::Target_mips_nacl<32,_true>_>\n               *this,Input_file *file,off_t offset,int machine,int osabi,int abiversion)" (binary_expression "Target * __thiscall\ngold::\nTarget_selector_nacl<(anonymous_namespace)::Target_selector_mips<32,_true>,_(anonymous_namespace)::Target_mips_nacl<32,_true>_" (binary_expression "Target * __thiscall\ngold::\nTarget_selector_nacl<(anonymous_namespace)::Target_selector_mips<32,_true>,_(anonymous_namespace)::Target_mips_nacl<32" (binary_expression "Target * __thiscall\ngold::\nTarget_selector_nacl<(anonymous_namespace)::Target_selector_mips<32,_true>,_(anonymous_namespace)" (binary_expression "Target * __thiscall\ngold::\nTarget_selector_nacl<(anonymous_namespace)::Target_selector_mips<32" (binary_expression "Target * __thiscall\ngold::\nTarget_selector_nacl<(anonymous_namespace)" (binary_expression "Target * __thiscall" identifier * identifier) (ERROR "gold::\nTarget_selector_nacl" identifier : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Target_selector_mips" : : identifier) < number_literal) (ERROR ",_true" , identifier) > (ERROR "," ,) (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) (ERROR "::Target_mips_nacl" : : identifier) < number_literal) (ERROR ",_true" , identifier) > identifier) > (ERROR "::" : :) (call_expression "do_recognize(Target_selector_nacl<(anonymous_namespace)::Target_selector_mips<32,_true>,_(anonymous_namespace)::Target_mips_nacl<32,_true>_>\n               *this,Input_file *file,off_t offset,int machine,int osabi,int abiversion)" identifier (argument_list "(Target_selector_nacl<(anonymous_namespace)::Target_selector_mips<32,_true>,_(anonymous_namespace)::Target_mips_nacl<32,_true>_>\n               *this,Input_file *file,off_t offset,int machine,int osabi,int abiversion)" ( (binary_expression "Target_selector_nacl<(anonymous_namespace)::Target_selector_mips<32" (binary_expression "Target_selector_nacl<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Target_selector_mips" : : identifier) < number_literal) , identifier (ERROR ">" >) , (binary_expression "_(anonymous_namespace)::Target_mips_nacl<32" (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier ))) (ERROR "::Target_mips_nacl" : : identifier) < number_literal) , (binary_expression "_true>_>\n               *this" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*this" * identifier)) , (binary_expression "Input_file *file" identifier * identifier) , (ERROR "off_t" identifier) identifier , (ERROR "int" identifier) identifier , (ERROR "int" identifier) identifier , (ERROR "int" identifier) identifier ))))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  Elf_Word EVar3;\n  int iVar4;\n  int *piVar5;\n  Target *pTVar6;\n  uchar *puVar7;\n  char *pcVar8;\n  ulong uVar9;\n  uint uVar10;\n  ushort uVar11;\n  Location LVar12;\n  Ef_ehdr local_60;\n  Sniff_file file_1;\n  Elf_file<64,_true,_gold::Sniff_file> elf_file;\n  \n  if (file != (Input_file *)0x0) {\n    iVar4 = (this->super_Target_selector_mips<32,_true>).super_Target_selector.size_;\n    file_1.offset_ = offset;\n    if ((this->super_Target_selector_mips<32,_true>).super_Target_selector.is_big_endian_ == false)\n    {\n      if (iVar4 == 0x20) {\n        file_1.file_ = &file->file_;\n        puVar7 = File_read::get_view(file_1.file_,offset,0,0x34,true,false);\n        elf_file.shoff_ = (off_t)*(uint *)(puVar7 + 0x20);\n        elf_file.shnum_ = (uint)*(ushort *)(puVar7 + 0x30);\n        elf_file.large_shndx_offset_ = 0;\n        elf_file.shstrndx_ = (uint)*(ushort *)(puVar7 + 0x32);\n        uVar11 = *(ushort *)(puVar7 + 0x28);\n        elf_file.file_ = &file_1;\n        if (uVar11 != 0x34) {\n          pcVar8 = (char *)gettext("bad e_ehsize (%d != %d)");\n          Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x34);\n        }\n        uVar11 = *(ushort *)(puVar7 + 0x2e);\n        if (uVar11 != 0x28) {\n          pcVar8 = (char *)gettext("bad e_shentsize (%d != %d)");\n          Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x28);\n        }\n        uVar10 = 1;\n        elfcpp::Elf_file<32,_false,_gold::Sniff_file>::initialize_shnum\n                  ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file);\n        uVar2 = elf_file.shnum_;\n        if (1 < elf_file.shnum_) {\n          do {\n            EVar3 = elfcpp::Elf_file<32,_false,_gold::Sniff_file>::section_type\n                              ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n            if (EVar3 == 7) {\n              LVar12 = elfcpp::Elf_file<32,_false,_gold::Sniff_file>::section_contents\n                                 ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && ((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                   (ulong)(uint)piVar5[1]), iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar10 = uVar10 + 1;\n          } while (uVar2 != uVar10);\n        }\n      }\n      else {\n        if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        file_1.file_ = &file->file_;\n        uVar10 = 1;\n        local_60.p_ = (Ehdr_data<64> *)File_read::get_view(file_1.file_,offset,0,0x40,true,false);\n        elfcpp::Elf_file<64,_false,_gold::Sniff_file>::construct\n                  ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,&file_1,(Ef_ehdr *)&local_60);\n        elfcpp::Elf_file<64,_false,_gold::Sniff_file>::initialize_shnum\n                  ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file);\n        uVar2 = elf_file.shnum_;\n        if (1 < elf_file.shnum_) {\n          do {\n            EVar3 = elfcpp::Elf_file<64,_false,_gold::Sniff_file>::section_type\n                              ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n            if (EVar3 == 7) {\n              LVar12 = elfcpp::Elf_file<64,_false,_gold::Sniff_file>::section_contents\n                                 ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && (((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1 &&\n                      (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))\n                      ))) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                 (ulong)(uint)piVar5[1]), iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar10 = uVar10 + 1;\n          } while (uVar2 != uVar10);\n        }\n      }\n    }\n    else if (iVar4 == 0x20) {\n      file_1.file_ = &file->file_;\n      puVar7 = File_read::get_view(file_1.file_,offset,0,0x34,true,false);\n      uVar2 = *(uint *)(puVar7 + 0x20);\n      elf_file.shoff_ =\n           (off_t)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);\n      elf_file.shnum_ =\n           (uint)(ushort)(*(ushort *)(puVar7 + 0x30) << 8 | *(ushort *)(puVar7 + 0x30) >> 8);\n      elf_file.large_shndx_offset_ = 0;\n      elf_file.shstrndx_ =\n           (uint)(ushort)(*(ushort *)(puVar7 + 0x32) << 8 | *(ushort *)(puVar7 + 0x32) >> 8);\n      uVar11 = *(ushort *)(puVar7 + 0x28) << 8 | *(ushort *)(puVar7 + 0x28) >> 8;\n      elf_file.file_ = &file_1;\n      if (uVar11 != 0x34) {\n        pcVar8 = (char *)gettext("bad e_ehsize (%d != %d)");\n        Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x34);\n      }\n      uVar11 = *(ushort *)(puVar7 + 0x2e) << 8 | *(ushort *)(puVar7 + 0x2e) >> 8;\n      if (uVar11 != 0x28) {\n        pcVar8 = (char *)gettext("bad e_shentsize (%d != %d)");\n        Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x28);\n      }\n      uVar10 = 1;\n      elfcpp::Elf_file<32,_true,_gold::Sniff_file>::initialize_shnum\n                ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file);\n      uVar2 = elf_file.shnum_;\n      if (1 < elf_file.shnum_) {\n        do {\n          EVar3 = elfcpp::Elf_file<32,_true,_gold::Sniff_file>::section_type\n                            ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10);\n          if (EVar3 == 7) {\n            LVar12 = elfcpp::Elf_file<32,_true,_gold::Sniff_file>::section_contents\n                               ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10);\n            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))\n            {\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                 iVar4 == 0)) goto LAB_002a49fc;\n            }\n          }\n          uVar10 = uVar10 + 1;\n        } while (uVar2 != uVar10);\n      }\n    }\n    else {\n      if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      file_1.file_ = &file->file_;\n      uVar10 = 1;\n      local_60.p_ = (Ehdr_data<64> *)File_read::get_view(file_1.file_,offset,0,0x40,true,false);\n      elfcpp::Elf_file<64,_true,_gold::Sniff_file>::construct(&elf_file,&file_1,&local_60);\n      elfcpp::Elf_file<64,_true,_gold::Sniff_file>::initialize_shnum(&elf_file);\n      uVar2 = elf_file.shnum_;\n      if (1 < elf_file.shnum_) {\n        do {\n          EVar3 = elfcpp::Elf_file<64,_true,_gold::Sniff_file>::section_type(&elf_file,uVar10);\n          if (EVar3 == 7) {\n            LVar12 = elfcpp::Elf_file<64,_true,_gold::Sniff_file>::section_contents\n                               (&elf_file,uVar10);\n            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))\n            {\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                  iVar4 == 0)))) {\nLAB_002a49fc:\n                this->is_nacl_ = true;\n                pTVar6 = Target_selector::instantiate_target((Target_selector *)this);\n                return pTVar6;\n              }\n            }\n          }\n          uVar10 = uVar10 + 1;\n        } while (uVar2 != uVar10);\n      }\n    }\n  }\n  this->is_nacl_ = false;\n  pTVar6 = Target_selector::instantiate_target((Target_selector *)this);\n  return pTVar6;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "Elf_Word EVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "Target *pTVar6;" type_identifier (pointer_declarator "*pTVar6" * identifier) ;) (declaration "uchar *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "ulong uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "ushort uVar11;" type_identifier identifier ;) (declaration "Location LVar12;" type_identifier identifier ;) (declaration "Ef_ehdr local_60;" type_identifier identifier ;) (declaration "Sniff_file file_1;" type_identifier identifier ;) (ERROR "Elf_file<64,_true,_gold::" (comma_expression "Elf_file<64,_true,_gold" (binary_expression "Elf_file<64" identifier < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : :) (expression_statement "Sniff_file> elf_file;" (binary_expression "Sniff_file> elf_file" identifier > identifier) ;) (if_statement "if (file != (Input_file *)0x0) {\n    iVar4 = (this->super_Target_selector_mips<32,_true>).super_Target_selector.size_;\n    file_1.offset_ = offset;\n    if ((this->super_Target_selector_mips<32,_true>).super_Target_selector.is_big_endian_ == false)\n    {\n      if (iVar4 == 0x20) {\n        file_1.file_ = &file->file_;\n        puVar7 = File_read::get_view(file_1.file_,offset,0,0x34,true,false);\n        elf_file.shoff_ = (off_t)*(uint *)(puVar7 + 0x20);\n        elf_file.shnum_ = (uint)*(ushort *)(puVar7 + 0x30);\n        elf_file.large_shndx_offset_ = 0;\n        elf_file.shstrndx_ = (uint)*(ushort *)(puVar7 + 0x32);\n        uVar11 = *(ushort *)(puVar7 + 0x28);\n        elf_file.file_ = &file_1;\n        if (uVar11 != 0x34) {\n          pcVar8 = (char *)gettext("bad e_ehsize (%d != %d)");\n          Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x34);\n        }\n        uVar11 = *(ushort *)(puVar7 + 0x2e);\n        if (uVar11 != 0x28) {\n          pcVar8 = (char *)gettext("bad e_shentsize (%d != %d)");\n          Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x28);\n        }\n        uVar10 = 1;\n        elfcpp::Elf_file<32,_false,_gold::Sniff_file>::initialize_shnum\n                  ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file);\n        uVar2 = elf_file.shnum_;\n        if (1 < elf_file.shnum_) {\n          do {\n            EVar3 = elfcpp::Elf_file<32,_false,_gold::Sniff_file>::section_type\n                              ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n            if (EVar3 == 7) {\n              LVar12 = elfcpp::Elf_file<32,_false,_gold::Sniff_file>::section_contents\n                                 ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && ((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                   (ulong)(uint)piVar5[1]), iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar10 = uVar10 + 1;\n          } while (uVar2 != uVar10);\n        }\n      }\n      else {\n        if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        file_1.file_ = &file->file_;\n        uVar10 = 1;\n        local_60.p_ = (Ehdr_data<64> *)File_read::get_view(file_1.file_,offset,0,0x40,true,false);\n        elfcpp::Elf_file<64,_false,_gold::Sniff_file>::construct\n                  ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,&file_1,(Ef_ehdr *)&local_60);\n        elfcpp::Elf_file<64,_false,_gold::Sniff_file>::initialize_shnum\n                  ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file);\n        uVar2 = elf_file.shnum_;\n        if (1 < elf_file.shnum_) {\n          do {\n            EVar3 = elfcpp::Elf_file<64,_false,_gold::Sniff_file>::section_type\n                              ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n            if (EVar3 == 7) {\n              LVar12 = elfcpp::Elf_file<64,_false,_gold::Sniff_file>::section_contents\n                                 ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && (((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1 &&\n                      (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))\n                      ))) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                 (ulong)(uint)piVar5[1]), iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar10 = uVar10 + 1;\n          } while (uVar2 != uVar10);\n        }\n      }\n    }\n    else if (iVar4 == 0x20) {\n      file_1.file_ = &file->file_;\n      puVar7 = File_read::get_view(file_1.file_,offset,0,0x34,true,false);\n      uVar2 = *(uint *)(puVar7 + 0x20);\n      elf_file.shoff_ =\n           (off_t)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);\n      elf_file.shnum_ =\n           (uint)(ushort)(*(ushort *)(puVar7 + 0x30) << 8 | *(ushort *)(puVar7 + 0x30) >> 8);\n      elf_file.large_shndx_offset_ = 0;\n      elf_file.shstrndx_ =\n           (uint)(ushort)(*(ushort *)(puVar7 + 0x32) << 8 | *(ushort *)(puVar7 + 0x32) >> 8);\n      uVar11 = *(ushort *)(puVar7 + 0x28) << 8 | *(ushort *)(puVar7 + 0x28) >> 8;\n      elf_file.file_ = &file_1;\n      if (uVar11 != 0x34) {\n        pcVar8 = (char *)gettext("bad e_ehsize (%d != %d)");\n        Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x34);\n      }\n      uVar11 = *(ushort *)(puVar7 + 0x2e) << 8 | *(ushort *)(puVar7 + 0x2e) >> 8;\n      if (uVar11 != 0x28) {\n        pcVar8 = (char *)gettext("bad e_shentsize (%d != %d)");\n        Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x28);\n      }\n      uVar10 = 1;\n      elfcpp::Elf_file<32,_true,_gold::Sniff_file>::initialize_shnum\n                ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file);\n      uVar2 = elf_file.shnum_;\n      if (1 < elf_file.shnum_) {\n        do {\n          EVar3 = elfcpp::Elf_file<32,_true,_gold::Sniff_file>::section_type\n                            ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10);\n          if (EVar3 == 7) {\n            LVar12 = elfcpp::Elf_file<32,_true,_gold::Sniff_file>::section_contents\n                               ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10);\n            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))\n            {\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                 iVar4 == 0)) goto LAB_002a49fc;\n            }\n          }\n          uVar10 = uVar10 + 1;\n        } while (uVar2 != uVar10);\n      }\n    }\n    else {\n      if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      file_1.file_ = &file->file_;\n      uVar10 = 1;\n      local_60.p_ = (Ehdr_data<64> *)File_read::get_view(file_1.file_,offset,0,0x40,true,false);\n      elfcpp::Elf_file<64,_true,_gold::Sniff_file>::construct(&elf_file,&file_1,&local_60);\n      elfcpp::Elf_file<64,_true,_gold::Sniff_file>::initialize_shnum(&elf_file);\n      uVar2 = elf_file.shnum_;\n      if (1 < elf_file.shnum_) {\n        do {\n          EVar3 = elfcpp::Elf_file<64,_true,_gold::Sniff_file>::section_type(&elf_file,uVar10);\n          if (EVar3 == 7) {\n            LVar12 = elfcpp::Elf_file<64,_true,_gold::Sniff_file>::section_contents\n                               (&elf_file,uVar10);\n            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))\n            {\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                  iVar4 == 0)))) {\nLAB_002a49fc:\n                this->is_nacl_ = true;\n                pTVar6 = Target_selector::instantiate_target((Target_selector *)this);\n                return pTVar6;\n              }\n            }\n          }\n          uVar10 = uVar10 + 1;\n        } while (uVar2 != uVar10);\n      }\n    }\n  }" if (parenthesized_expression "(file != (Input_file *)0x0)" ( (binary_expression "file != (Input_file *)0x0" identifier != (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar4 = (this->super_Target_selector_mips<32,_true>).super_Target_selector.size_;\n    file_1.offset_ = offset;\n    if ((this->super_Target_selector_mips<32,_true>).super_Target_selector.is_big_endian_ == false)\n    {\n      if (iVar4 == 0x20) {\n        file_1.file_ = &file->file_;\n        puVar7 = File_read::get_view(file_1.file_,offset,0,0x34,true,false);\n        elf_file.shoff_ = (off_t)*(uint *)(puVar7 + 0x20);\n        elf_file.shnum_ = (uint)*(ushort *)(puVar7 + 0x30);\n        elf_file.large_shndx_offset_ = 0;\n        elf_file.shstrndx_ = (uint)*(ushort *)(puVar7 + 0x32);\n        uVar11 = *(ushort *)(puVar7 + 0x28);\n        elf_file.file_ = &file_1;\n        if (uVar11 != 0x34) {\n          pcVar8 = (char *)gettext("bad e_ehsize (%d != %d)");\n          Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x34);\n        }\n        uVar11 = *(ushort *)(puVar7 + 0x2e);\n        if (uVar11 != 0x28) {\n          pcVar8 = (char *)gettext("bad e_shentsize (%d != %d)");\n          Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x28);\n        }\n        uVar10 = 1;\n        elfcpp::Elf_file<32,_false,_gold::Sniff_file>::initialize_shnum\n                  ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file);\n        uVar2 = elf_file.shnum_;\n        if (1 < elf_file.shnum_) {\n          do {\n            EVar3 = elfcpp::Elf_file<32,_false,_gold::Sniff_file>::section_type\n                              ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n            if (EVar3 == 7) {\n              LVar12 = elfcpp::Elf_file<32,_false,_gold::Sniff_file>::section_contents\n                                 ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && ((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                   (ulong)(uint)piVar5[1]), iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar10 = uVar10 + 1;\n          } while (uVar2 != uVar10);\n        }\n      }\n      else {\n        if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        file_1.file_ = &file->file_;\n        uVar10 = 1;\n        local_60.p_ = (Ehdr_data<64> *)File_read::get_view(file_1.file_,offset,0,0x40,true,false);\n        elfcpp::Elf_file<64,_false,_gold::Sniff_file>::construct\n                  ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,&file_1,(Ef_ehdr *)&local_60);\n        elfcpp::Elf_file<64,_false,_gold::Sniff_file>::initialize_shnum\n                  ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file);\n        uVar2 = elf_file.shnum_;\n        if (1 < elf_file.shnum_) {\n          do {\n            EVar3 = elfcpp::Elf_file<64,_false,_gold::Sniff_file>::section_type\n                              ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n            if (EVar3 == 7) {\n              LVar12 = elfcpp::Elf_file<64,_false,_gold::Sniff_file>::section_contents\n                                 ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && (((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1 &&\n                      (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))\n                      ))) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                 (ulong)(uint)piVar5[1]), iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar10 = uVar10 + 1;\n          } while (uVar2 != uVar10);\n        }\n      }\n    }\n    else if (iVar4 == 0x20) {\n      file_1.file_ = &file->file_;\n      puVar7 = File_read::get_view(file_1.file_,offset,0,0x34,true,false);\n      uVar2 = *(uint *)(puVar7 + 0x20);\n      elf_file.shoff_ =\n           (off_t)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);\n      elf_file.shnum_ =\n           (uint)(ushort)(*(ushort *)(puVar7 + 0x30) << 8 | *(ushort *)(puVar7 + 0x30) >> 8);\n      elf_file.large_shndx_offset_ = 0;\n      elf_file.shstrndx_ =\n           (uint)(ushort)(*(ushort *)(puVar7 + 0x32) << 8 | *(ushort *)(puVar7 + 0x32) >> 8);\n      uVar11 = *(ushort *)(puVar7 + 0x28) << 8 | *(ushort *)(puVar7 + 0x28) >> 8;\n      elf_file.file_ = &file_1;\n      if (uVar11 != 0x34) {\n        pcVar8 = (char *)gettext("bad e_ehsize (%d != %d)");\n        Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x34);\n      }\n      uVar11 = *(ushort *)(puVar7 + 0x2e) << 8 | *(ushort *)(puVar7 + 0x2e) >> 8;\n      if (uVar11 != 0x28) {\n        pcVar8 = (char *)gettext("bad e_shentsize (%d != %d)");\n        Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x28);\n      }\n      uVar10 = 1;\n      elfcpp::Elf_file<32,_true,_gold::Sniff_file>::initialize_shnum\n                ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file);\n      uVar2 = elf_file.shnum_;\n      if (1 < elf_file.shnum_) {\n        do {\n          EVar3 = elfcpp::Elf_file<32,_true,_gold::Sniff_file>::section_type\n                            ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10);\n          if (EVar3 == 7) {\n            LVar12 = elfcpp::Elf_file<32,_true,_gold::Sniff_file>::section_contents\n                               ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10);\n            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))\n            {\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                 iVar4 == 0)) goto LAB_002a49fc;\n            }\n          }\n          uVar10 = uVar10 + 1;\n        } while (uVar2 != uVar10);\n      }\n    }\n    else {\n      if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      file_1.file_ = &file->file_;\n      uVar10 = 1;\n      local_60.p_ = (Ehdr_data<64> *)File_read::get_view(file_1.file_,offset,0,0x40,true,false);\n      elfcpp::Elf_file<64,_true,_gold::Sniff_file>::construct(&elf_file,&file_1,&local_60);\n      elfcpp::Elf_file<64,_true,_gold::Sniff_file>::initialize_shnum(&elf_file);\n      uVar2 = elf_file.shnum_;\n      if (1 < elf_file.shnum_) {\n        do {\n          EVar3 = elfcpp::Elf_file<64,_true,_gold::Sniff_file>::section_type(&elf_file,uVar10);\n          if (EVar3 == 7) {\n            LVar12 = elfcpp::Elf_file<64,_true,_gold::Sniff_file>::section_contents\n                               (&elf_file,uVar10);\n            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))\n            {\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                  iVar4 == 0)))) {\nLAB_002a49fc:\n                this->is_nacl_ = true;\n                pTVar6 = Target_selector::instantiate_target((Target_selector *)this);\n                return pTVar6;\n              }\n            }\n          }\n          uVar10 = uVar10 + 1;\n        } while (uVar2 != uVar10);\n      }\n    }\n  }" { (expression_statement "iVar4 = (this->super_Target_selector_mips<32,_true>).super_Target_selector.size_;" (assignment_expression "iVar4 = (this->super_Target_selector_mips<32,_true>).super_Target_selector.size_" identifier = (field_expression "(this->super_Target_selector_mips<32,_true>).super_Target_selector.size_" (field_expression "(this->super_Target_selector_mips<32,_true>).super_Target_selector" (parenthesized_expression "(this->super_Target_selector_mips<32,_true>)" ( (comma_expression "this->super_Target_selector_mips<32,_true" (binary_expression "this->super_Target_selector_mips<32" (field_expression "this->super_Target_selector_mips" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier)) ;) (expression_statement "file_1.offset_ = offset;" (assignment_expression "file_1.offset_ = offset" (field_expression "file_1.offset_" identifier . field_identifier) = identifier) ;) (if_statement "if ((this->super_Target_selector_mips<32,_true>).super_Target_selector.is_big_endian_ == false)\n    {\n      if (iVar4 == 0x20) {\n        file_1.file_ = &file->file_;\n        puVar7 = File_read::get_view(file_1.file_,offset,0,0x34,true,false);\n        elf_file.shoff_ = (off_t)*(uint *)(puVar7 + 0x20);\n        elf_file.shnum_ = (uint)*(ushort *)(puVar7 + 0x30);\n        elf_file.large_shndx_offset_ = 0;\n        elf_file.shstrndx_ = (uint)*(ushort *)(puVar7 + 0x32);\n        uVar11 = *(ushort *)(puVar7 + 0x28);\n        elf_file.file_ = &file_1;\n        if (uVar11 != 0x34) {\n          pcVar8 = (char *)gettext("bad e_ehsize (%d != %d)");\n          Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x34);\n        }\n        uVar11 = *(ushort *)(puVar7 + 0x2e);\n        if (uVar11 != 0x28) {\n          pcVar8 = (char *)gettext("bad e_shentsize (%d != %d)");\n          Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x28);\n        }\n        uVar10 = 1;\n        elfcpp::Elf_file<32,_false,_gold::Sniff_file>::initialize_shnum\n                  ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file);\n        uVar2 = elf_file.shnum_;\n        if (1 < elf_file.shnum_) {\n          do {\n            EVar3 = elfcpp::Elf_file<32,_false,_gold::Sniff_file>::section_type\n                              ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n            if (EVar3 == 7) {\n              LVar12 = elfcpp::Elf_file<32,_false,_gold::Sniff_file>::section_contents\n                                 ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && ((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                   (ulong)(uint)piVar5[1]), iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar10 = uVar10 + 1;\n          } while (uVar2 != uVar10);\n        }\n      }\n      else {\n        if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        file_1.file_ = &file->file_;\n        uVar10 = 1;\n        local_60.p_ = (Ehdr_data<64> *)File_read::get_view(file_1.file_,offset,0,0x40,true,false);\n        elfcpp::Elf_file<64,_false,_gold::Sniff_file>::construct\n                  ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,&file_1,(Ef_ehdr *)&local_60);\n        elfcpp::Elf_file<64,_false,_gold::Sniff_file>::initialize_shnum\n                  ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file);\n        uVar2 = elf_file.shnum_;\n        if (1 < elf_file.shnum_) {\n          do {\n            EVar3 = elfcpp::Elf_file<64,_false,_gold::Sniff_file>::section_type\n                              ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n            if (EVar3 == 7) {\n              LVar12 = elfcpp::Elf_file<64,_false,_gold::Sniff_file>::section_contents\n                                 ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && (((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1 &&\n                      (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))\n                      ))) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                 (ulong)(uint)piVar5[1]), iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar10 = uVar10 + 1;\n          } while (uVar2 != uVar10);\n        }\n      }\n    }\n    else if (iVar4 == 0x20) {\n      file_1.file_ = &file->file_;\n      puVar7 = File_read::get_view(file_1.file_,offset,0,0x34,true,false);\n      uVar2 = *(uint *)(puVar7 + 0x20);\n      elf_file.shoff_ =\n           (off_t)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);\n      elf_file.shnum_ =\n           (uint)(ushort)(*(ushort *)(puVar7 + 0x30) << 8 | *(ushort *)(puVar7 + 0x30) >> 8);\n      elf_file.large_shndx_offset_ = 0;\n      elf_file.shstrndx_ =\n           (uint)(ushort)(*(ushort *)(puVar7 + 0x32) << 8 | *(ushort *)(puVar7 + 0x32) >> 8);\n      uVar11 = *(ushort *)(puVar7 + 0x28) << 8 | *(ushort *)(puVar7 + 0x28) >> 8;\n      elf_file.file_ = &file_1;\n      if (uVar11 != 0x34) {\n        pcVar8 = (char *)gettext("bad e_ehsize (%d != %d)");\n        Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x34);\n      }\n      uVar11 = *(ushort *)(puVar7 + 0x2e) << 8 | *(ushort *)(puVar7 + 0x2e) >> 8;\n      if (uVar11 != 0x28) {\n        pcVar8 = (char *)gettext("bad e_shentsize (%d != %d)");\n        Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x28);\n      }\n      uVar10 = 1;\n      elfcpp::Elf_file<32,_true,_gold::Sniff_file>::initialize_shnum\n                ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file);\n      uVar2 = elf_file.shnum_;\n      if (1 < elf_file.shnum_) {\n        do {\n          EVar3 = elfcpp::Elf_file<32,_true,_gold::Sniff_file>::section_type\n                            ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10);\n          if (EVar3 == 7) {\n            LVar12 = elfcpp::Elf_file<32,_true,_gold::Sniff_file>::section_contents\n                               ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10);\n            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))\n            {\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                 iVar4 == 0)) goto LAB_002a49fc;\n            }\n          }\n          uVar10 = uVar10 + 1;\n        } while (uVar2 != uVar10);\n      }\n    }\n    else {\n      if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      file_1.file_ = &file->file_;\n      uVar10 = 1;\n      local_60.p_ = (Ehdr_data<64> *)File_read::get_view(file_1.file_,offset,0,0x40,true,false);\n      elfcpp::Elf_file<64,_true,_gold::Sniff_file>::construct(&elf_file,&file_1,&local_60);\n      elfcpp::Elf_file<64,_true,_gold::Sniff_file>::initialize_shnum(&elf_file);\n      uVar2 = elf_file.shnum_;\n      if (1 < elf_file.shnum_) {\n        do {\n          EVar3 = elfcpp::Elf_file<64,_true,_gold::Sniff_file>::section_type(&elf_file,uVar10);\n          if (EVar3 == 7) {\n            LVar12 = elfcpp::Elf_file<64,_true,_gold::Sniff_file>::section_contents\n                               (&elf_file,uVar10);\n            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))\n            {\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                  iVar4 == 0)))) {\nLAB_002a49fc:\n                this->is_nacl_ = true;\n                pTVar6 = Target_selector::instantiate_target((Target_selector *)this);\n                return pTVar6;\n              }\n            }\n          }\n          uVar10 = uVar10 + 1;\n        } while (uVar2 != uVar10);\n      }\n    }" if (parenthesized_expression "((this->super_Target_selector_mips<32,_true>).super_Target_selector.is_big_endian_ == false)" ( (binary_expression "(this->super_Target_selector_mips<32,_true>).super_Target_selector.is_big_endian_ == false" (field_expression "(this->super_Target_selector_mips<32,_true>).super_Target_selector.is_big_endian_" (field_expression "(this->super_Target_selector_mips<32,_true>).super_Target_selector" (parenthesized_expression "(this->super_Target_selector_mips<32,_true>)" ( (comma_expression "this->super_Target_selector_mips<32,_true" (binary_expression "this->super_Target_selector_mips<32" (field_expression "this->super_Target_selector_mips" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) == false) )) (compound_statement "{\n      if (iVar4 == 0x20) {\n        file_1.file_ = &file->file_;\n        puVar7 = File_read::get_view(file_1.file_,offset,0,0x34,true,false);\n        elf_file.shoff_ = (off_t)*(uint *)(puVar7 + 0x20);\n        elf_file.shnum_ = (uint)*(ushort *)(puVar7 + 0x30);\n        elf_file.large_shndx_offset_ = 0;\n        elf_file.shstrndx_ = (uint)*(ushort *)(puVar7 + 0x32);\n        uVar11 = *(ushort *)(puVar7 + 0x28);\n        elf_file.file_ = &file_1;\n        if (uVar11 != 0x34) {\n          pcVar8 = (char *)gettext("bad e_ehsize (%d != %d)");\n          Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x34);\n        }\n        uVar11 = *(ushort *)(puVar7 + 0x2e);\n        if (uVar11 != 0x28) {\n          pcVar8 = (char *)gettext("bad e_shentsize (%d != %d)");\n          Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x28);\n        }\n        uVar10 = 1;\n        elfcpp::Elf_file<32,_false,_gold::Sniff_file>::initialize_shnum\n                  ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file);\n        uVar2 = elf_file.shnum_;\n        if (1 < elf_file.shnum_) {\n          do {\n            EVar3 = elfcpp::Elf_file<32,_false,_gold::Sniff_file>::section_type\n                              ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n            if (EVar3 == 7) {\n              LVar12 = elfcpp::Elf_file<32,_false,_gold::Sniff_file>::section_contents\n                                 ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && ((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                   (ulong)(uint)piVar5[1]), iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar10 = uVar10 + 1;\n          } while (uVar2 != uVar10);\n        }\n      }\n      else {\n        if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        file_1.file_ = &file->file_;\n        uVar10 = 1;\n        local_60.p_ = (Ehdr_data<64> *)File_read::get_view(file_1.file_,offset,0,0x40,true,false);\n        elfcpp::Elf_file<64,_false,_gold::Sniff_file>::construct\n                  ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,&file_1,(Ef_ehdr *)&local_60);\n        elfcpp::Elf_file<64,_false,_gold::Sniff_file>::initialize_shnum\n                  ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file);\n        uVar2 = elf_file.shnum_;\n        if (1 < elf_file.shnum_) {\n          do {\n            EVar3 = elfcpp::Elf_file<64,_false,_gold::Sniff_file>::section_type\n                              ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n            if (EVar3 == 7) {\n              LVar12 = elfcpp::Elf_file<64,_false,_gold::Sniff_file>::section_contents\n                                 ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && (((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1 &&\n                      (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))\n                      ))) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                 (ulong)(uint)piVar5[1]), iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar10 = uVar10 + 1;\n          } while (uVar2 != uVar10);\n        }\n      }\n    }" { (if_statement "if (iVar4 == 0x20) {\n        file_1.file_ = &file->file_;\n        puVar7 = File_read::get_view(file_1.file_,offset,0,0x34,true,false);\n        elf_file.shoff_ = (off_t)*(uint *)(puVar7 + 0x20);\n        elf_file.shnum_ = (uint)*(ushort *)(puVar7 + 0x30);\n        elf_file.large_shndx_offset_ = 0;\n        elf_file.shstrndx_ = (uint)*(ushort *)(puVar7 + 0x32);\n        uVar11 = *(ushort *)(puVar7 + 0x28);\n        elf_file.file_ = &file_1;\n        if (uVar11 != 0x34) {\n          pcVar8 = (char *)gettext("bad e_ehsize (%d != %d)");\n          Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x34);\n        }\n        uVar11 = *(ushort *)(puVar7 + 0x2e);\n        if (uVar11 != 0x28) {\n          pcVar8 = (char *)gettext("bad e_shentsize (%d != %d)");\n          Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x28);\n        }\n        uVar10 = 1;\n        elfcpp::Elf_file<32,_false,_gold::Sniff_file>::initialize_shnum\n                  ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file);\n        uVar2 = elf_file.shnum_;\n        if (1 < elf_file.shnum_) {\n          do {\n            EVar3 = elfcpp::Elf_file<32,_false,_gold::Sniff_file>::section_type\n                              ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n            if (EVar3 == 7) {\n              LVar12 = elfcpp::Elf_file<32,_false,_gold::Sniff_file>::section_contents\n                                 ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && ((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                   (ulong)(uint)piVar5[1]), iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar10 = uVar10 + 1;\n          } while (uVar2 != uVar10);\n        }\n      }\n      else {\n        if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        file_1.file_ = &file->file_;\n        uVar10 = 1;\n        local_60.p_ = (Ehdr_data<64> *)File_read::get_view(file_1.file_,offset,0,0x40,true,false);\n        elfcpp::Elf_file<64,_false,_gold::Sniff_file>::construct\n                  ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,&file_1,(Ef_ehdr *)&local_60);\n        elfcpp::Elf_file<64,_false,_gold::Sniff_file>::initialize_shnum\n                  ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file);\n        uVar2 = elf_file.shnum_;\n        if (1 < elf_file.shnum_) {\n          do {\n            EVar3 = elfcpp::Elf_file<64,_false,_gold::Sniff_file>::section_type\n                              ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n            if (EVar3 == 7) {\n              LVar12 = elfcpp::Elf_file<64,_false,_gold::Sniff_file>::section_contents\n                                 ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && (((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1 &&\n                      (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))\n                      ))) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                 (ulong)(uint)piVar5[1]), iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar10 = uVar10 + 1;\n          } while (uVar2 != uVar10);\n        }\n      }" if (parenthesized_expression "(iVar4 == 0x20)" ( (binary_expression "iVar4 == 0x20" identifier == number_literal) )) (compound_statement "{\n        file_1.file_ = &file->file_;\n        puVar7 = File_read::get_view(file_1.file_,offset,0,0x34,true,false);\n        elf_file.shoff_ = (off_t)*(uint *)(puVar7 + 0x20);\n        elf_file.shnum_ = (uint)*(ushort *)(puVar7 + 0x30);\n        elf_file.large_shndx_offset_ = 0;\n        elf_file.shstrndx_ = (uint)*(ushort *)(puVar7 + 0x32);\n        uVar11 = *(ushort *)(puVar7 + 0x28);\n        elf_file.file_ = &file_1;\n        if (uVar11 != 0x34) {\n          pcVar8 = (char *)gettext("bad e_ehsize (%d != %d)");\n          Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x34);\n        }\n        uVar11 = *(ushort *)(puVar7 + 0x2e);\n        if (uVar11 != 0x28) {\n          pcVar8 = (char *)gettext("bad e_shentsize (%d != %d)");\n          Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x28);\n        }\n        uVar10 = 1;\n        elfcpp::Elf_file<32,_false,_gold::Sniff_file>::initialize_shnum\n                  ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file);\n        uVar2 = elf_file.shnum_;\n        if (1 < elf_file.shnum_) {\n          do {\n            EVar3 = elfcpp::Elf_file<32,_false,_gold::Sniff_file>::section_type\n                              ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n            if (EVar3 == 7) {\n              LVar12 = elfcpp::Elf_file<32,_false,_gold::Sniff_file>::section_contents\n                                 ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && ((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                   (ulong)(uint)piVar5[1]), iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar10 = uVar10 + 1;\n          } while (uVar2 != uVar10);\n        }\n      }" { (expression_statement "file_1.file_ = &file->file_;" (assignment_expression "file_1.file_ = &file->file_" (field_expression "file_1.file_" identifier . field_identifier) = (pointer_expression "&file->file_" & (field_expression "file->file_" identifier -> field_identifier))) ;) (ERROR "puVar7 = File_read::" (assignment_expression "puVar7 = File_read" identifier = identifier) : :) (expression_statement "get_view(file_1.file_,offset,0,0x34,true,false);" (call_expression "get_view(file_1.file_,offset,0,0x34,true,false)" identifier (argument_list "(file_1.file_,offset,0,0x34,true,false)" ( (field_expression "file_1.file_" identifier . field_identifier) , identifier , number_literal , number_literal , true , false ))) ;) (expression_statement "elf_file.shoff_ = (off_t)*(uint *)(puVar7 + 0x20);" (assignment_expression "elf_file.shoff_ = (off_t)*(uint *)(puVar7 + 0x20)" (field_expression "elf_file.shoff_" identifier . field_identifier) = (binary_expression "(off_t)*(uint *)(puVar7 + 0x20)" (parenthesized_expression "(off_t)" ( identifier )) * (cast_expression "(uint *)(puVar7 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x20)" ( (binary_expression "puVar7 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "elf_file.shnum_ = (uint)*(ushort *)(puVar7 + 0x30);" (assignment_expression "elf_file.shnum_ = (uint)*(ushort *)(puVar7 + 0x30)" (field_expression "elf_file.shnum_" identifier . field_identifier) = (binary_expression "(uint)*(ushort *)(puVar7 + 0x30)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(puVar7 + 0x30)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x30)" ( (binary_expression "puVar7 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "elf_file.large_shndx_offset_ = 0;" (assignment_expression "elf_file.large_shndx_offset_ = 0" (field_expression "elf_file.large_shndx_offset_" identifier . field_identifier) = number_literal) ;) (expression_statement "elf_file.shstrndx_ = (uint)*(ushort *)(puVar7 + 0x32);" (assignment_expression "elf_file.shstrndx_ = (uint)*(ushort *)(puVar7 + 0x32)" (field_expression "elf_file.shstrndx_" identifier . field_identifier) = (binary_expression "(uint)*(ushort *)(puVar7 + 0x32)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(puVar7 + 0x32)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x32)" ( (binary_expression "puVar7 + 0x32" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = *(ushort *)(puVar7 + 0x28);" (assignment_expression "uVar11 = *(ushort *)(puVar7 + 0x28)" identifier = (pointer_expression "*(ushort *)(puVar7 + 0x28)" * (cast_expression "(ushort *)(puVar7 + 0x28)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x28)" ( (binary_expression "puVar7 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "elf_file.file_ = &file_1;" (assignment_expression "elf_file.file_ = &file_1" (field_expression "elf_file.file_" identifier . field_identifier) = (pointer_expression "&file_1" & identifier)) ;) (if_statement "if (uVar11 != 0x34) {\n          pcVar8 = (char *)gettext("bad e_ehsize (%d != %d)");\n          Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x34);\n        }" if (parenthesized_expression "(uVar11 != 0x34)" ( (binary_expression "uVar11 != 0x34" identifier != number_literal) )) (compound_statement "{\n          pcVar8 = (char *)gettext("bad e_ehsize (%d != %d)");\n          Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x34);\n        }" { (expression_statement "pcVar8 = (char *)gettext("bad e_ehsize (%d != %d)");" (assignment_expression "pcVar8 = (char *)gettext("bad e_ehsize (%d != %d)")" identifier = (cast_expression "(char *)gettext("bad e_ehsize (%d != %d)")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("bad e_ehsize (%d != %d)")" identifier (argument_list "("bad e_ehsize (%d != %d)")" ( (string_literal ""bad e_ehsize (%d != %d)"" " string_content ") ))))) ;) (labeled_statement "Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x34);" statement_identifier : (ERROR ":" :) (expression_statement "error(&file_1,pcVar8,(ulong)uVar11,0x34);" (call_expression "error(&file_1,pcVar8,(ulong)uVar11,0x34)" identifier (argument_list "(&file_1,pcVar8,(ulong)uVar11,0x34)" ( (pointer_expression "&file_1" & identifier) , identifier , (cast_expression "(ulong)uVar11" ( (type_descriptor "ulong" type_identifier) ) identifier) , number_literal ))) ;)) })) (expression_statement "uVar11 = *(ushort *)(puVar7 + 0x2e);" (assignment_expression "uVar11 = *(ushort *)(puVar7 + 0x2e)" identifier = (pointer_expression "*(ushort *)(puVar7 + 0x2e)" * (cast_expression "(ushort *)(puVar7 + 0x2e)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x2e)" ( (binary_expression "puVar7 + 0x2e" identifier + number_literal) ))))) ;) (if_statement "if (uVar11 != 0x28) {\n          pcVar8 = (char *)gettext("bad e_shentsize (%d != %d)");\n          Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x28);\n        }" if (parenthesized_expression "(uVar11 != 0x28)" ( (binary_expression "uVar11 != 0x28" identifier != number_literal) )) (compound_statement "{\n          pcVar8 = (char *)gettext("bad e_shentsize (%d != %d)");\n          Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x28);\n        }" { (expression_statement "pcVar8 = (char *)gettext("bad e_shentsize (%d != %d)");" (assignment_expression "pcVar8 = (char *)gettext("bad e_shentsize (%d != %d)")" identifier = (cast_expression "(char *)gettext("bad e_shentsize (%d != %d)")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("bad e_shentsize (%d != %d)")" identifier (argument_list "("bad e_shentsize (%d != %d)")" ( (string_literal ""bad e_shentsize (%d != %d)"" " string_content ") ))))) ;) (labeled_statement "Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x28);" statement_identifier : (ERROR ":" :) (expression_statement "error(&file_1,pcVar8,(ulong)uVar11,0x28);" (call_expression "error(&file_1,pcVar8,(ulong)uVar11,0x28)" identifier (argument_list "(&file_1,pcVar8,(ulong)uVar11,0x28)" ( (pointer_expression "&file_1" & identifier) , identifier , (cast_expression "(ulong)uVar11" ( (type_descriptor "ulong" type_identifier) ) identifier) , number_literal ))) ;)) })) (expression_statement "uVar10 = 1;" (assignment_expression "uVar10 = 1" identifier = number_literal) ;) (labeled_statement "elfcpp::Elf_file<32,_false,_gold::Sniff_file>::initialize_shnum\n                  ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file);" statement_identifier (ERROR "::Elf_file<32,_false,_gold::Sniff_file>::initialize_shnum\n                  ((Elf_file<32,_false,_gold:" : : (comma_expression "Elf_file<32,_false,_gold" (binary_expression "Elf_file<32" identifier < number_literal) , (comma_expression "_false,_gold" identifier , identifier)) : : identifier > : : identifier ( ( (comma_expression "Elf_file<32,_false,_gold" (binary_expression "Elf_file<32" identifier < number_literal) , (comma_expression "_false,_gold" identifier , identifier)) :) : (expression_statement "Sniff_file> *)&elf_file);" (binary_expression "Sniff_file> *)&elf_file" identifier > (pointer_expression "*)&elf_file" * (ERROR ")" )) (pointer_expression "&elf_file" & identifier))) (ERROR ")" )) ;)) (expression_statement "uVar2 = elf_file.shnum_;" (assignment_expression "uVar2 = elf_file.shnum_" identifier = (field_expression "elf_file.shnum_" identifier . field_identifier)) ;) (if_statement "if (1 < elf_file.shnum_) {\n          do {\n            EVar3 = elfcpp::Elf_file<32,_false,_gold::Sniff_file>::section_type\n                              ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n            if (EVar3 == 7) {\n              LVar12 = elfcpp::Elf_file<32,_false,_gold::Sniff_file>::section_contents\n                                 ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && ((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                   (ulong)(uint)piVar5[1]), iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar10 = uVar10 + 1;\n          } while (uVar2 != uVar10);\n        }" if (parenthesized_expression "(1 < elf_file.shnum_)" ( (binary_expression "1 < elf_file.shnum_" number_literal < (field_expression "elf_file.shnum_" identifier . field_identifier)) )) (compound_statement "{\n          do {\n            EVar3 = elfcpp::Elf_file<32,_false,_gold::Sniff_file>::section_type\n                              ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n            if (EVar3 == 7) {\n              LVar12 = elfcpp::Elf_file<32,_false,_gold::Sniff_file>::section_contents\n                                 ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && ((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                   (ulong)(uint)piVar5[1]), iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar10 = uVar10 + 1;\n          } while (uVar2 != uVar10);\n        }" { (do_statement "do {\n            EVar3 = elfcpp::Elf_file<32,_false,_gold::Sniff_file>::section_type\n                              ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n            if (EVar3 == 7) {\n              LVar12 = elfcpp::Elf_file<32,_false,_gold::Sniff_file>::section_contents\n                                 ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && ((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                   (ulong)(uint)piVar5[1]), iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar10 = uVar10 + 1;\n          } while (uVar2 != uVar10);" do (compound_statement "{\n            EVar3 = elfcpp::Elf_file<32,_false,_gold::Sniff_file>::section_type\n                              ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n            if (EVar3 == 7) {\n              LVar12 = elfcpp::Elf_file<32,_false,_gold::Sniff_file>::section_contents\n                                 ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && ((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                   (ulong)(uint)piVar5[1]), iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar10 = uVar10 + 1;\n          }" { (ERROR "EVar3 = elfcpp::Elf_file<32,_false,_gold::" (comma_expression "EVar3 = elfcpp::Elf_file<32,_false,_gold" (binary_expression "EVar3 = elfcpp::Elf_file<32" (assignment_expression "EVar3 = elfcpp" identifier = identifier) (ERROR "::Elf_file" : : identifier) < number_literal) , (comma_expression "_false,_gold" identifier , identifier)) : :) (expression_statement "Sniff_file>::section_type\n                              ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10);" (binary_expression "Sniff_file>::section_type\n                              ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10)" identifier > (ERROR "::" : :) (call_expression "section_type\n                              ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10)" identifier (argument_list "((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10)" ( (binary_expression "(Elf_file<32,_false,_gold::Sniff_file> *)&elf_file" (parenthesized_expression "(Elf_file<32,_false,_gold::Sniff_file> *)" ( (ERROR "Elf_file<32,_false,_gold::" (comma_expression "Elf_file<32,_false,_gold" (binary_expression "Elf_file<32" identifier < number_literal) , (comma_expression "_false,_gold" identifier , identifier)) : :) (binary_expression "Sniff_file> *" identifier > (pointer_expression "*" * identifier)) )) & identifier) , identifier )))) ;) (if_statement "if (EVar3 == 7) {\n              LVar12 = elfcpp::Elf_file<32,_false,_gold::Sniff_file>::section_contents\n                                 ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && ((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                   (ulong)(uint)piVar5[1]), iVar4 == 0)))))) goto LAB_002a49fc;\n            }" if (parenthesized_expression "(EVar3 == 7)" ( (binary_expression "EVar3 == 7" identifier == number_literal) )) (compound_statement "{\n              LVar12 = elfcpp::Elf_file<32,_false,_gold::Sniff_file>::section_contents\n                                 ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && ((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                   (ulong)(uint)piVar5[1]), iVar4 == 0)))))) goto LAB_002a49fc;\n            }" { (ERROR "LVar12 = elfcpp::Elf_file<32,_false,_gold::" (comma_expression "LVar12 = elfcpp::Elf_file<32,_false,_gold" (binary_expression "LVar12 = elfcpp::Elf_file<32" (assignment_expression "LVar12 = elfcpp" identifier = identifier) (ERROR "::Elf_file" : : identifier) < number_literal) , (comma_expression "_false,_gold" identifier , identifier)) : :) (expression_statement "Sniff_file>::section_contents\n                                 ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10);" (binary_expression "Sniff_file>::section_contents\n                                 ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10)" identifier > (ERROR "::" : :) (call_expression "section_contents\n                                 ((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10)" identifier (argument_list "((Elf_file<32,_false,_gold::Sniff_file> *)&elf_file,uVar10)" ( (binary_expression "(Elf_file<32,_false,_gold::Sniff_file> *)&elf_file" (parenthesized_expression "(Elf_file<32,_false,_gold::Sniff_file> *)" ( (ERROR "Elf_file<32,_false,_gold::" (comma_expression "Elf_file<32,_false,_gold" (binary_expression "Elf_file<32" identifier < number_literal) , (comma_expression "_false,_gold" identifier , identifier)) : :) (binary_expression "Sniff_file> *" identifier > (pointer_expression "*" * identifier)) )) & identifier) , identifier )))) ;) (if_statement "if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && ((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                   (ulong)(uint)piVar5[1]), iVar4 == 0)))))) goto LAB_002a49fc;" if (parenthesized_expression "((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && ((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                   (ulong)(uint)piVar5[1]), iVar4 == 0))))))" ( (binary_expression "(((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && ((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                   (ulong)(uint)piVar5[1]), iVar4 == 0)))))" (parenthesized_expression "(((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && ((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1))" ( (binary_expression "((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && ((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1)" (parenthesized_expression "((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))" ( (binary_expression "(((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5)" (parenthesized_expression "(((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_)" ( (binary_expression "((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_" (binary_expression "((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14" (parenthesized_expression "((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc)" ( (binary_expression "(this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc" (binary_expression "(this->nacl_abi_name_)._M_string_length + 4" (field_expression "(this->nacl_abi_name_)._M_string_length" (parenthesized_expression "(this->nacl_abi_name_)" ( (field_expression "this->nacl_abi_name_" identifier -> field_identifier) )) . field_identifier) + number_literal) & number_literal) )) + number_literal) <= (field_expression "LVar12.size_" identifier . field_identifier)) )) && (parenthesized_expression "(piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5)" ( (ERROR "piVar5 = (int *)File_read::" (assignment_expression "piVar5 = (int *)File_read" identifier = (cast_expression "(int *)File_read" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) : :) (comma_expression "get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5" (call_expression "get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false)" identifier (argument_list "(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false)" ( (field_expression "file_1.file_" identifier . field_identifier) , (binary_expression "LVar12.offset_ + file_1.offset_" (field_expression "LVar12.offset_" identifier . field_identifier) + (field_expression "file_1.offset_" identifier . field_identifier)) , number_literal , (field_expression "LVar12.size_" identifier . field_identifier) , true , false ))) , (binary_expression "*piVar5 == 5" (pointer_expression "*piVar5" * identifier) == number_literal)) ))) )) && (parenthesized_expression "((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1)" ( (binary_expression "(ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1" (cast_expression "(ulong)(uint)piVar5[1]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)piVar5[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar5[1]" identifier [ number_literal ]))) == (binary_expression "(this->nacl_abi_name_)._M_string_length + 1" (field_expression "(this->nacl_abi_name_)._M_string_length" (parenthesized_expression "(this->nacl_abi_name_)" ( (field_expression "this->nacl_abi_name_" identifier -> field_identifier) )) . field_identifier) + number_literal)) ))) )) && (parenthesized_expression "(((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                   (ulong)(uint)piVar5[1]), iVar4 == 0)))))" ( (parenthesized_expression "((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                   (ulong)(uint)piVar5[1]), iVar4 == 0))))" ( (binary_expression "(piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                   (ulong)(uint)piVar5[1]), iVar4 == 0)))" (parenthesized_expression "(piVar5[2] == 1 && (piVar5[3] == 0x6c43614e))" ( (binary_expression "piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)" (binary_expression "piVar5[2] == 1" (subscript_expression "piVar5[2]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "(piVar5[3] == 0x6c43614e)" ( (binary_expression "piVar5[3] == 0x6c43614e" (subscript_expression "piVar5[3]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "(((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                   (ulong)(uint)piVar5[1]), iVar4 == 0)))" ( (parenthesized_expression "((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                   (ulong)(uint)piVar5[1]), iVar4 == 0))" ( (binary_expression "(char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                   (ulong)(uint)piVar5[1]), iVar4 == 0)" (binary_expression "(char)piVar5[4] == '\0'" (cast_expression "(char)piVar5[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar5[4]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                   (ulong)(uint)piVar5[1]), iVar4 == 0)" ( (comma_expression "iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                   (ulong)(uint)piVar5[1]), iVar4 == 0" (assignment_expression "iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                   (ulong)(uint)piVar5[1])" identifier = (call_expression "memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                   (ulong)(uint)piVar5[1])" identifier (argument_list "(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                   (ulong)(uint)piVar5[1])" ( (binary_expression "piVar5 + 5" identifier + number_literal) , (field_expression "(this->nacl_abi_name_)._M_dataplus._M_p" (field_expression "(this->nacl_abi_name_)._M_dataplus" (parenthesized_expression "(this->nacl_abi_name_)" ( (field_expression "this->nacl_abi_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) , (cast_expression "(ulong)(uint)piVar5[1]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)piVar5[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar5[1]" identifier [ number_literal ]))) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) ))) )) ))) )) (goto_statement "goto LAB_002a49fc;" goto statement_identifier ;)) })) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar2 != uVar10)" ( (binary_expression "uVar2 != uVar10" identifier != identifier) )) ;) })) }) (else_clause "else {\n        if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        file_1.file_ = &file->file_;\n        uVar10 = 1;\n        local_60.p_ = (Ehdr_data<64> *)File_read::get_view(file_1.file_,offset,0,0x40,true,false);\n        elfcpp::Elf_file<64,_false,_gold::Sniff_file>::construct\n                  ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,&file_1,(Ef_ehdr *)&local_60);\n        elfcpp::Elf_file<64,_false,_gold::Sniff_file>::initialize_shnum\n                  ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file);\n        uVar2 = elf_file.shnum_;\n        if (1 < elf_file.shnum_) {\n          do {\n            EVar3 = elfcpp::Elf_file<64,_false,_gold::Sniff_file>::section_type\n                              ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n            if (EVar3 == 7) {\n              LVar12 = elfcpp::Elf_file<64,_false,_gold::Sniff_file>::section_contents\n                                 ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && (((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1 &&\n                      (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))\n                      ))) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                 (ulong)(uint)piVar5[1]), iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar10 = uVar10 + 1;\n          } while (uVar2 != uVar10);\n        }\n      }" else (compound_statement "{\n        if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        file_1.file_ = &file->file_;\n        uVar10 = 1;\n        local_60.p_ = (Ehdr_data<64> *)File_read::get_view(file_1.file_,offset,0,0x40,true,false);\n        elfcpp::Elf_file<64,_false,_gold::Sniff_file>::construct\n                  ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,&file_1,(Ef_ehdr *)&local_60);\n        elfcpp::Elf_file<64,_false,_gold::Sniff_file>::initialize_shnum\n                  ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file);\n        uVar2 = elf_file.shnum_;\n        if (1 < elf_file.shnum_) {\n          do {\n            EVar3 = elfcpp::Elf_file<64,_false,_gold::Sniff_file>::section_type\n                              ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n            if (EVar3 == 7) {\n              LVar12 = elfcpp::Elf_file<64,_false,_gold::Sniff_file>::section_contents\n                                 ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && (((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1 &&\n                      (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))\n                      ))) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                 (ulong)(uint)piVar5[1]), iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar10 = uVar10 + 1;\n          } while (uVar2 != uVar10);\n        }\n      }" { (if_statement "if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }" if (parenthesized_expression "(iVar4 != 0x40)" ( (binary_expression "iVar4 != 0x40" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }" { comment (expression_statement "do_gold_unreachable("../../gold/nacl.h",0xbd,"recognize_nacl_file");" (call_expression "do_gold_unreachable("../../gold/nacl.h",0xbd,"recognize_nacl_file")" identifier (argument_list "("../../gold/nacl.h",0xbd,"recognize_nacl_file")" ( (string_literal ""../../gold/nacl.h"" " string_content ") , number_literal , (string_literal ""recognize_nacl_file"" " string_content ") ))) ;) })) (expression_statement "file_1.file_ = &file->file_;" (assignment_expression "file_1.file_ = &file->file_" (field_expression "file_1.file_" identifier . field_identifier) = (pointer_expression "&file->file_" & (field_expression "file->file_" identifier -> field_identifier))) ;) (expression_statement "uVar10 = 1;" (assignment_expression "uVar10 = 1" identifier = number_literal) ;) (expression_statement "local_60.p_ = (Ehdr_data<64> *)File_read::get_view(file_1.file_,offset,0,0x40,true,false);" (assignment_expression "local_60.p_ = (Ehdr_data<64> *)File_read::get_view(file_1.file_,offset,0,0x40,true,false)" (field_expression "local_60.p_" identifier . field_identifier) = (parenthesized_expression "(Ehdr_data<64> *)File_read::get_view(file_1.file_,offset,0,0x40,true,false)" ( (ERROR "Ehdr_data<64> *)File_read::" (binary_expression "Ehdr_data<64> *)File_read" (binary_expression "Ehdr_data<64" identifier < number_literal) > (pointer_expression "*)File_read" * (ERROR ")" )) identifier)) : :) (call_expression "get_view(file_1.file_,offset,0,0x40,true,false)" identifier (argument_list "(file_1.file_,offset,0,0x40,true,false)" ( (field_expression "file_1.file_" identifier . field_identifier) , identifier , number_literal , number_literal , true , false ))) ))) ;) (labeled_statement "elfcpp::Elf_file<64,_false,_gold::Sniff_file>::construct\n                  ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,&file_1,(Ef_ehdr *)&local_60);" statement_identifier (ERROR "::Elf_file<64,_false,_gold::Sniff_file>::construct\n                  ((Elf_file<64,_false,_gold:" : : (comma_expression "Elf_file<64,_false,_gold" (binary_expression "Elf_file<64" identifier < number_literal) , (comma_expression "_false,_gold" identifier , identifier)) : : identifier > : : identifier ( ( (comma_expression "Elf_file<64,_false,_gold" (binary_expression "Elf_file<64" identifier < number_literal) , (comma_expression "_false,_gold" identifier , identifier)) :) : (expression_statement "Sniff_file> *)&elf_file,&file_1,(Ef_ehdr *)&local_60);" (comma_expression "Sniff_file> *)&elf_file,&file_1,(Ef_ehdr *)&local_60" (binary_expression "Sniff_file> *)&elf_file" identifier > (pointer_expression "*)&elf_file" * (ERROR ")" )) (pointer_expression "&elf_file" & identifier))) , (comma_expression "&file_1,(Ef_ehdr *)&local_60" (pointer_expression "&file_1" & identifier) , (cast_expression "(Ef_ehdr *)&local_60" ( (type_descriptor "Ef_ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_60" & identifier)))) (ERROR ")" )) ;)) (labeled_statement "elfcpp::Elf_file<64,_false,_gold::Sniff_file>::initialize_shnum\n                  ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file);" statement_identifier (ERROR "::Elf_file<64,_false,_gold::Sniff_file>::initialize_shnum\n                  ((Elf_file<64,_false,_gold:" : : (comma_expression "Elf_file<64,_false,_gold" (binary_expression "Elf_file<64" identifier < number_literal) , (comma_expression "_false,_gold" identifier , identifier)) : : identifier > : : identifier ( ( (comma_expression "Elf_file<64,_false,_gold" (binary_expression "Elf_file<64" identifier < number_literal) , (comma_expression "_false,_gold" identifier , identifier)) :) : (expression_statement "Sniff_file> *)&elf_file);" (binary_expression "Sniff_file> *)&elf_file" identifier > (pointer_expression "*)&elf_file" * (ERROR ")" )) (pointer_expression "&elf_file" & identifier))) (ERROR ")" )) ;)) (expression_statement "uVar2 = elf_file.shnum_;" (assignment_expression "uVar2 = elf_file.shnum_" identifier = (field_expression "elf_file.shnum_" identifier . field_identifier)) ;) (if_statement "if (1 < elf_file.shnum_) {\n          do {\n            EVar3 = elfcpp::Elf_file<64,_false,_gold::Sniff_file>::section_type\n                              ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n            if (EVar3 == 7) {\n              LVar12 = elfcpp::Elf_file<64,_false,_gold::Sniff_file>::section_contents\n                                 ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && (((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1 &&\n                      (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))\n                      ))) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                 (ulong)(uint)piVar5[1]), iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar10 = uVar10 + 1;\n          } while (uVar2 != uVar10);\n        }" if (parenthesized_expression "(1 < elf_file.shnum_)" ( (binary_expression "1 < elf_file.shnum_" number_literal < (field_expression "elf_file.shnum_" identifier . field_identifier)) )) (compound_statement "{\n          do {\n            EVar3 = elfcpp::Elf_file<64,_false,_gold::Sniff_file>::section_type\n                              ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n            if (EVar3 == 7) {\n              LVar12 = elfcpp::Elf_file<64,_false,_gold::Sniff_file>::section_contents\n                                 ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && (((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1 &&\n                      (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))\n                      ))) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                 (ulong)(uint)piVar5[1]), iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar10 = uVar10 + 1;\n          } while (uVar2 != uVar10);\n        }" { (do_statement "do {\n            EVar3 = elfcpp::Elf_file<64,_false,_gold::Sniff_file>::section_type\n                              ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n            if (EVar3 == 7) {\n              LVar12 = elfcpp::Elf_file<64,_false,_gold::Sniff_file>::section_contents\n                                 ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && (((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1 &&\n                      (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))\n                      ))) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                 (ulong)(uint)piVar5[1]), iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar10 = uVar10 + 1;\n          } while (uVar2 != uVar10);" do (compound_statement "{\n            EVar3 = elfcpp::Elf_file<64,_false,_gold::Sniff_file>::section_type\n                              ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n            if (EVar3 == 7) {\n              LVar12 = elfcpp::Elf_file<64,_false,_gold::Sniff_file>::section_contents\n                                 ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && (((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1 &&\n                      (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))\n                      ))) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                 (ulong)(uint)piVar5[1]), iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar10 = uVar10 + 1;\n          }" { (ERROR "EVar3 = elfcpp::Elf_file<64,_false,_gold::" (comma_expression "EVar3 = elfcpp::Elf_file<64,_false,_gold" (binary_expression "EVar3 = elfcpp::Elf_file<64" (assignment_expression "EVar3 = elfcpp" identifier = identifier) (ERROR "::Elf_file" : : identifier) < number_literal) , (comma_expression "_false,_gold" identifier , identifier)) : :) (expression_statement "Sniff_file>::section_type\n                              ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10);" (binary_expression "Sniff_file>::section_type\n                              ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10)" identifier > (ERROR "::" : :) (call_expression "section_type\n                              ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10)" identifier (argument_list "((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10)" ( (binary_expression "(Elf_file<64,_false,_gold::Sniff_file> *)&elf_file" (parenthesized_expression "(Elf_file<64,_false,_gold::Sniff_file> *)" ( (ERROR "Elf_file<64,_false,_gold::" (comma_expression "Elf_file<64,_false,_gold" (binary_expression "Elf_file<64" identifier < number_literal) , (comma_expression "_false,_gold" identifier , identifier)) : :) (binary_expression "Sniff_file> *" identifier > (pointer_expression "*" * identifier)) )) & identifier) , identifier )))) ;) (if_statement "if (EVar3 == 7) {\n              LVar12 = elfcpp::Elf_file<64,_false,_gold::Sniff_file>::section_contents\n                                 ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && (((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1 &&\n                      (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))\n                      ))) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                 (ulong)(uint)piVar5[1]), iVar4 == 0)) goto LAB_002a49fc;\n            }" if (parenthesized_expression "(EVar3 == 7)" ( (binary_expression "EVar3 == 7" identifier == number_literal) )) (compound_statement "{\n              LVar12 = elfcpp::Elf_file<64,_false,_gold::Sniff_file>::section_contents\n                                 ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10);\n              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && (((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1 &&\n                      (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))\n                      ))) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                 (ulong)(uint)piVar5[1]), iVar4 == 0)) goto LAB_002a49fc;\n            }" { (ERROR "LVar12 = elfcpp::Elf_file<64,_false,_gold::" (comma_expression "LVar12 = elfcpp::Elf_file<64,_false,_gold" (binary_expression "LVar12 = elfcpp::Elf_file<64" (assignment_expression "LVar12 = elfcpp" identifier = identifier) (ERROR "::Elf_file" : : identifier) < number_literal) , (comma_expression "_false,_gold" identifier , identifier)) : :) (expression_statement "Sniff_file>::section_contents\n                                 ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10);" (binary_expression "Sniff_file>::section_contents\n                                 ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10)" identifier > (ERROR "::" : :) (call_expression "section_contents\n                                 ((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10)" identifier (argument_list "((Elf_file<64,_false,_gold::Sniff_file> *)&elf_file,uVar10)" ( (binary_expression "(Elf_file<64,_false,_gold::Sniff_file> *)&elf_file" (parenthesized_expression "(Elf_file<64,_false,_gold::Sniff_file> *)" ( (ERROR "Elf_file<64,_false,_gold::" (comma_expression "Elf_file<64,_false,_gold" (binary_expression "Elf_file<64" identifier < number_literal) , (comma_expression "_false,_gold" identifier , identifier)) : :) (binary_expression "Sniff_file> *" identifier > (pointer_expression "*" * identifier)) )) & identifier) , identifier )))) ;) (if_statement "if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && (((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1 &&\n                      (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))\n                      ))) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                 (ulong)(uint)piVar5[1]), iVar4 == 0)) goto LAB_002a49fc;" if (parenthesized_expression "((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && (((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1 &&\n                      (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))\n                      ))) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                 (ulong)(uint)piVar5[1]), iVar4 == 0))" ( (binary_expression "(((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && (((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1 &&\n                      (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))\n                      ))) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                 (ulong)(uint)piVar5[1]), iVar4 == 0)" (parenthesized_expression "(((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && (((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1 &&\n                      (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))\n                      )))" ( (binary_expression "((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))\n                  && (((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1 &&\n                      (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))\n                      ))" (parenthesized_expression "((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5))" ( (binary_expression "(((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_) &&\n                   (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5)" (parenthesized_expression "(((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_)" ( (binary_expression "((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                     LVar12.size_" (binary_expression "((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14" (parenthesized_expression "((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc)" ( (binary_expression "(this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc" (binary_expression "(this->nacl_abi_name_)._M_string_length + 4" (field_expression "(this->nacl_abi_name_)._M_string_length" (parenthesized_expression "(this->nacl_abi_name_)" ( (field_expression "this->nacl_abi_name_" identifier -> field_identifier) )) . field_identifier) + number_literal) & number_literal) )) + number_literal) <= (field_expression "LVar12.size_" identifier . field_identifier)) )) && (parenthesized_expression "(piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5)" ( (ERROR "piVar5 = (int *)File_read::" (assignment_expression "piVar5 = (int *)File_read" identifier = (cast_expression "(int *)File_read" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) : :) (comma_expression "get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false), *piVar5 == 5" (call_expression "get_view(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false)" identifier (argument_list "(file_1.file_,LVar12.offset_ + file_1.offset_\n                                                        ,0,LVar12.size_,true,false)" ( (field_expression "file_1.file_" identifier . field_identifier) , (binary_expression "LVar12.offset_ + file_1.offset_" (field_expression "LVar12.offset_" identifier . field_identifier) + (field_expression "file_1.offset_" identifier . field_identifier)) , number_literal , (field_expression "LVar12.size_" identifier . field_identifier) , true , false ))) , (binary_expression "*piVar5 == 5" (pointer_expression "*piVar5" * identifier) == number_literal)) ))) )) && (parenthesized_expression "(((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1 &&\n                      (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))\n                      ))" ( (parenthesized_expression "((ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1 &&\n                      (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))\n                      )" ( (binary_expression "(ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1 &&\n                      (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))" (binary_expression "(ulong)(uint)piVar5[1] == (this->nacl_abi_name_)._M_string_length + 1" (cast_expression "(ulong)(uint)piVar5[1]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)piVar5[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar5[1]" identifier [ number_literal ]))) == (binary_expression "(this->nacl_abi_name_)._M_string_length + 1" (field_expression "(this->nacl_abi_name_)._M_string_length" (parenthesized_expression "(this->nacl_abi_name_)" ( (field_expression "this->nacl_abi_name_" identifier -> field_identifier) )) . field_identifier) + number_literal)) && (parenthesized_expression "(((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))" ( (parenthesized_expression "((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))" ( (binary_expression "(piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')" (parenthesized_expression "(piVar5[2] == 1 && (piVar5[3] == 0x6c43614e))" ( (binary_expression "piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)" (binary_expression "piVar5[2] == 1" (subscript_expression "piVar5[2]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "(piVar5[3] == 0x6c43614e)" ( (binary_expression "piVar5[3] == 0x6c43614e" (subscript_expression "piVar5[3]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "((char)piVar5[4] == '\0')" ( (binary_expression "(char)piVar5[4] == '\0'" (cast_expression "(char)piVar5[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar5[4]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) ))) )) && (parenthesized_expression "(iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                 (ulong)(uint)piVar5[1]), iVar4 == 0)" ( (comma_expression "iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                 (ulong)(uint)piVar5[1]), iVar4 == 0" (assignment_expression "iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                 (ulong)(uint)piVar5[1])" identifier = (call_expression "memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                 (ulong)(uint)piVar5[1])" identifier (argument_list "(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,\n                                 (ulong)(uint)piVar5[1])" ( (binary_expression "piVar5 + 5" identifier + number_literal) , (field_expression "(this->nacl_abi_name_)._M_dataplus._M_p" (field_expression "(this->nacl_abi_name_)._M_dataplus" (parenthesized_expression "(this->nacl_abi_name_)" ( (field_expression "this->nacl_abi_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) , (cast_expression "(ulong)(uint)piVar5[1]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)piVar5[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar5[1]" identifier [ number_literal ]))) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_002a49fc;" goto statement_identifier ;)) })) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar2 != uVar10)" ( (binary_expression "uVar2 != uVar10" identifier != identifier) )) ;) })) }))) }) (else_clause "else if (iVar4 == 0x20) {\n      file_1.file_ = &file->file_;\n      puVar7 = File_read::get_view(file_1.file_,offset,0,0x34,true,false);\n      uVar2 = *(uint *)(puVar7 + 0x20);\n      elf_file.shoff_ =\n           (off_t)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);\n      elf_file.shnum_ =\n           (uint)(ushort)(*(ushort *)(puVar7 + 0x30) << 8 | *(ushort *)(puVar7 + 0x30) >> 8);\n      elf_file.large_shndx_offset_ = 0;\n      elf_file.shstrndx_ =\n           (uint)(ushort)(*(ushort *)(puVar7 + 0x32) << 8 | *(ushort *)(puVar7 + 0x32) >> 8);\n      uVar11 = *(ushort *)(puVar7 + 0x28) << 8 | *(ushort *)(puVar7 + 0x28) >> 8;\n      elf_file.file_ = &file_1;\n      if (uVar11 != 0x34) {\n        pcVar8 = (char *)gettext("bad e_ehsize (%d != %d)");\n        Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x34);\n      }\n      uVar11 = *(ushort *)(puVar7 + 0x2e) << 8 | *(ushort *)(puVar7 + 0x2e) >> 8;\n      if (uVar11 != 0x28) {\n        pcVar8 = (char *)gettext("bad e_shentsize (%d != %d)");\n        Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x28);\n      }\n      uVar10 = 1;\n      elfcpp::Elf_file<32,_true,_gold::Sniff_file>::initialize_shnum\n                ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file);\n      uVar2 = elf_file.shnum_;\n      if (1 < elf_file.shnum_) {\n        do {\n          EVar3 = elfcpp::Elf_file<32,_true,_gold::Sniff_file>::section_type\n                            ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10);\n          if (EVar3 == 7) {\n            LVar12 = elfcpp::Elf_file<32,_true,_gold::Sniff_file>::section_contents\n                               ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10);\n            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))\n            {\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                 iVar4 == 0)) goto LAB_002a49fc;\n            }\n          }\n          uVar10 = uVar10 + 1;\n        } while (uVar2 != uVar10);\n      }\n    }\n    else {\n      if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      file_1.file_ = &file->file_;\n      uVar10 = 1;\n      local_60.p_ = (Ehdr_data<64> *)File_read::get_view(file_1.file_,offset,0,0x40,true,false);\n      elfcpp::Elf_file<64,_true,_gold::Sniff_file>::construct(&elf_file,&file_1,&local_60);\n      elfcpp::Elf_file<64,_true,_gold::Sniff_file>::initialize_shnum(&elf_file);\n      uVar2 = elf_file.shnum_;\n      if (1 < elf_file.shnum_) {\n        do {\n          EVar3 = elfcpp::Elf_file<64,_true,_gold::Sniff_file>::section_type(&elf_file,uVar10);\n          if (EVar3 == 7) {\n            LVar12 = elfcpp::Elf_file<64,_true,_gold::Sniff_file>::section_contents\n                               (&elf_file,uVar10);\n            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))\n            {\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                  iVar4 == 0)))) {\nLAB_002a49fc:\n                this->is_nacl_ = true;\n                pTVar6 = Target_selector::instantiate_target((Target_selector *)this);\n                return pTVar6;\n              }\n            }\n          }\n          uVar10 = uVar10 + 1;\n        } while (uVar2 != uVar10);\n      }\n    }" else (if_statement "if (iVar4 == 0x20) {\n      file_1.file_ = &file->file_;\n      puVar7 = File_read::get_view(file_1.file_,offset,0,0x34,true,false);\n      uVar2 = *(uint *)(puVar7 + 0x20);\n      elf_file.shoff_ =\n           (off_t)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);\n      elf_file.shnum_ =\n           (uint)(ushort)(*(ushort *)(puVar7 + 0x30) << 8 | *(ushort *)(puVar7 + 0x30) >> 8);\n      elf_file.large_shndx_offset_ = 0;\n      elf_file.shstrndx_ =\n           (uint)(ushort)(*(ushort *)(puVar7 + 0x32) << 8 | *(ushort *)(puVar7 + 0x32) >> 8);\n      uVar11 = *(ushort *)(puVar7 + 0x28) << 8 | *(ushort *)(puVar7 + 0x28) >> 8;\n      elf_file.file_ = &file_1;\n      if (uVar11 != 0x34) {\n        pcVar8 = (char *)gettext("bad e_ehsize (%d != %d)");\n        Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x34);\n      }\n      uVar11 = *(ushort *)(puVar7 + 0x2e) << 8 | *(ushort *)(puVar7 + 0x2e) >> 8;\n      if (uVar11 != 0x28) {\n        pcVar8 = (char *)gettext("bad e_shentsize (%d != %d)");\n        Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x28);\n      }\n      uVar10 = 1;\n      elfcpp::Elf_file<32,_true,_gold::Sniff_file>::initialize_shnum\n                ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file);\n      uVar2 = elf_file.shnum_;\n      if (1 < elf_file.shnum_) {\n        do {\n          EVar3 = elfcpp::Elf_file<32,_true,_gold::Sniff_file>::section_type\n                            ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10);\n          if (EVar3 == 7) {\n            LVar12 = elfcpp::Elf_file<32,_true,_gold::Sniff_file>::section_contents\n                               ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10);\n            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))\n            {\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                 iVar4 == 0)) goto LAB_002a49fc;\n            }\n          }\n          uVar10 = uVar10 + 1;\n        } while (uVar2 != uVar10);\n      }\n    }\n    else {\n      if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      file_1.file_ = &file->file_;\n      uVar10 = 1;\n      local_60.p_ = (Ehdr_data<64> *)File_read::get_view(file_1.file_,offset,0,0x40,true,false);\n      elfcpp::Elf_file<64,_true,_gold::Sniff_file>::construct(&elf_file,&file_1,&local_60);\n      elfcpp::Elf_file<64,_true,_gold::Sniff_file>::initialize_shnum(&elf_file);\n      uVar2 = elf_file.shnum_;\n      if (1 < elf_file.shnum_) {\n        do {\n          EVar3 = elfcpp::Elf_file<64,_true,_gold::Sniff_file>::section_type(&elf_file,uVar10);\n          if (EVar3 == 7) {\n            LVar12 = elfcpp::Elf_file<64,_true,_gold::Sniff_file>::section_contents\n                               (&elf_file,uVar10);\n            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))\n            {\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                  iVar4 == 0)))) {\nLAB_002a49fc:\n                this->is_nacl_ = true;\n                pTVar6 = Target_selector::instantiate_target((Target_selector *)this);\n                return pTVar6;\n              }\n            }\n          }\n          uVar10 = uVar10 + 1;\n        } while (uVar2 != uVar10);\n      }\n    }" if (parenthesized_expression "(iVar4 == 0x20)" ( (binary_expression "iVar4 == 0x20" identifier == number_literal) )) (compound_statement "{\n      file_1.file_ = &file->file_;\n      puVar7 = File_read::get_view(file_1.file_,offset,0,0x34,true,false);\n      uVar2 = *(uint *)(puVar7 + 0x20);\n      elf_file.shoff_ =\n           (off_t)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);\n      elf_file.shnum_ =\n           (uint)(ushort)(*(ushort *)(puVar7 + 0x30) << 8 | *(ushort *)(puVar7 + 0x30) >> 8);\n      elf_file.large_shndx_offset_ = 0;\n      elf_file.shstrndx_ =\n           (uint)(ushort)(*(ushort *)(puVar7 + 0x32) << 8 | *(ushort *)(puVar7 + 0x32) >> 8);\n      uVar11 = *(ushort *)(puVar7 + 0x28) << 8 | *(ushort *)(puVar7 + 0x28) >> 8;\n      elf_file.file_ = &file_1;\n      if (uVar11 != 0x34) {\n        pcVar8 = (char *)gettext("bad e_ehsize (%d != %d)");\n        Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x34);\n      }\n      uVar11 = *(ushort *)(puVar7 + 0x2e) << 8 | *(ushort *)(puVar7 + 0x2e) >> 8;\n      if (uVar11 != 0x28) {\n        pcVar8 = (char *)gettext("bad e_shentsize (%d != %d)");\n        Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x28);\n      }\n      uVar10 = 1;\n      elfcpp::Elf_file<32,_true,_gold::Sniff_file>::initialize_shnum\n                ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file);\n      uVar2 = elf_file.shnum_;\n      if (1 < elf_file.shnum_) {\n        do {\n          EVar3 = elfcpp::Elf_file<32,_true,_gold::Sniff_file>::section_type\n                            ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10);\n          if (EVar3 == 7) {\n            LVar12 = elfcpp::Elf_file<32,_true,_gold::Sniff_file>::section_contents\n                               ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10);\n            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))\n            {\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                 iVar4 == 0)) goto LAB_002a49fc;\n            }\n          }\n          uVar10 = uVar10 + 1;\n        } while (uVar2 != uVar10);\n      }\n    }" { (expression_statement "file_1.file_ = &file->file_;" (assignment_expression "file_1.file_ = &file->file_" (field_expression "file_1.file_" identifier . field_identifier) = (pointer_expression "&file->file_" & (field_expression "file->file_" identifier -> field_identifier))) ;) (ERROR "puVar7 = File_read::" (assignment_expression "puVar7 = File_read" identifier = identifier) : :) (expression_statement "get_view(file_1.file_,offset,0,0x34,true,false);" (call_expression "get_view(file_1.file_,offset,0,0x34,true,false)" identifier (argument_list "(file_1.file_,offset,0,0x34,true,false)" ( (field_expression "file_1.file_" identifier . field_identifier) , identifier , number_literal , number_literal , true , false ))) ;) (expression_statement "uVar2 = *(uint *)(puVar7 + 0x20);" (assignment_expression "uVar2 = *(uint *)(puVar7 + 0x20)" identifier = (pointer_expression "*(uint *)(puVar7 + 0x20)" * (cast_expression "(uint *)(puVar7 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x20)" ( (binary_expression "puVar7 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "elf_file.shoff_ =\n           (off_t)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18);" (assignment_expression "elf_file.shoff_ =\n           (off_t)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18)" (field_expression "elf_file.shoff_" identifier . field_identifier) = (call_expression "(off_t)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18)" (parenthesized_expression "(off_t)" ( identifier )) (argument_list "(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18)" ( (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar2 << 0x18" identifier << number_literal)) )))) ;) (expression_statement "elf_file.shnum_ =\n           (uint)(ushort)(*(ushort *)(puVar7 + 0x30) << 8 | *(ushort *)(puVar7 + 0x30) >> 8);" (assignment_expression "elf_file.shnum_ =\n           (uint)(ushort)(*(ushort *)(puVar7 + 0x30) << 8 | *(ushort *)(puVar7 + 0x30) >> 8)" (field_expression "elf_file.shnum_" identifier . field_identifier) = (call_expression "(uint)(ushort)(*(ushort *)(puVar7 + 0x30) << 8 | *(ushort *)(puVar7 + 0x30) >> 8)" (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ushort)" ( identifier ))) (argument_list "(*(ushort *)(puVar7 + 0x30) << 8 | *(ushort *)(puVar7 + 0x30) >> 8)" ( (binary_expression "*(ushort *)(puVar7 + 0x30) << 8 | *(ushort *)(puVar7 + 0x30) >> 8" (binary_expression "*(ushort *)(puVar7 + 0x30) << 8" (pointer_expression "*(ushort *)(puVar7 + 0x30)" * (cast_expression "(ushort *)(puVar7 + 0x30)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x30)" ( (binary_expression "puVar7 + 0x30" identifier + number_literal) )))) << number_literal) | (binary_expression "*(ushort *)(puVar7 + 0x30) >> 8" (pointer_expression "*(ushort *)(puVar7 + 0x30)" * (cast_expression "(ushort *)(puVar7 + 0x30)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x30)" ( (binary_expression "puVar7 + 0x30" identifier + number_literal) )))) >> number_literal)) )))) ;) (expression_statement "elf_file.large_shndx_offset_ = 0;" (assignment_expression "elf_file.large_shndx_offset_ = 0" (field_expression "elf_file.large_shndx_offset_" identifier . field_identifier) = number_literal) ;) (expression_statement "elf_file.shstrndx_ =\n           (uint)(ushort)(*(ushort *)(puVar7 + 0x32) << 8 | *(ushort *)(puVar7 + 0x32) >> 8);" (assignment_expression "elf_file.shstrndx_ =\n           (uint)(ushort)(*(ushort *)(puVar7 + 0x32) << 8 | *(ushort *)(puVar7 + 0x32) >> 8)" (field_expression "elf_file.shstrndx_" identifier . field_identifier) = (call_expression "(uint)(ushort)(*(ushort *)(puVar7 + 0x32) << 8 | *(ushort *)(puVar7 + 0x32) >> 8)" (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ushort)" ( identifier ))) (argument_list "(*(ushort *)(puVar7 + 0x32) << 8 | *(ushort *)(puVar7 + 0x32) >> 8)" ( (binary_expression "*(ushort *)(puVar7 + 0x32) << 8 | *(ushort *)(puVar7 + 0x32) >> 8" (binary_expression "*(ushort *)(puVar7 + 0x32) << 8" (pointer_expression "*(ushort *)(puVar7 + 0x32)" * (cast_expression "(ushort *)(puVar7 + 0x32)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x32)" ( (binary_expression "puVar7 + 0x32" identifier + number_literal) )))) << number_literal) | (binary_expression "*(ushort *)(puVar7 + 0x32) >> 8" (pointer_expression "*(ushort *)(puVar7 + 0x32)" * (cast_expression "(ushort *)(puVar7 + 0x32)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x32)" ( (binary_expression "puVar7 + 0x32" identifier + number_literal) )))) >> number_literal)) )))) ;) (expression_statement "uVar11 = *(ushort *)(puVar7 + 0x28) << 8 | *(ushort *)(puVar7 + 0x28) >> 8;" (assignment_expression "uVar11 = *(ushort *)(puVar7 + 0x28) << 8 | *(ushort *)(puVar7 + 0x28) >> 8" identifier = (binary_expression "*(ushort *)(puVar7 + 0x28) << 8 | *(ushort *)(puVar7 + 0x28) >> 8" (binary_expression "*(ushort *)(puVar7 + 0x28) << 8" (pointer_expression "*(ushort *)(puVar7 + 0x28)" * (cast_expression "(ushort *)(puVar7 + 0x28)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x28)" ( (binary_expression "puVar7 + 0x28" identifier + number_literal) )))) << number_literal) | (binary_expression "*(ushort *)(puVar7 + 0x28) >> 8" (pointer_expression "*(ushort *)(puVar7 + 0x28)" * (cast_expression "(ushort *)(puVar7 + 0x28)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x28)" ( (binary_expression "puVar7 + 0x28" identifier + number_literal) )))) >> number_literal))) ;) (expression_statement "elf_file.file_ = &file_1;" (assignment_expression "elf_file.file_ = &file_1" (field_expression "elf_file.file_" identifier . field_identifier) = (pointer_expression "&file_1" & identifier)) ;) (if_statement "if (uVar11 != 0x34) {\n        pcVar8 = (char *)gettext("bad e_ehsize (%d != %d)");\n        Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x34);\n      }" if (parenthesized_expression "(uVar11 != 0x34)" ( (binary_expression "uVar11 != 0x34" identifier != number_literal) )) (compound_statement "{\n        pcVar8 = (char *)gettext("bad e_ehsize (%d != %d)");\n        Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x34);\n      }" { (expression_statement "pcVar8 = (char *)gettext("bad e_ehsize (%d != %d)");" (assignment_expression "pcVar8 = (char *)gettext("bad e_ehsize (%d != %d)")" identifier = (cast_expression "(char *)gettext("bad e_ehsize (%d != %d)")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("bad e_ehsize (%d != %d)")" identifier (argument_list "("bad e_ehsize (%d != %d)")" ( (string_literal ""bad e_ehsize (%d != %d)"" " string_content ") ))))) ;) (labeled_statement "Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x34);" statement_identifier : (ERROR ":" :) (expression_statement "error(&file_1,pcVar8,(ulong)uVar11,0x34);" (call_expression "error(&file_1,pcVar8,(ulong)uVar11,0x34)" identifier (argument_list "(&file_1,pcVar8,(ulong)uVar11,0x34)" ( (pointer_expression "&file_1" & identifier) , identifier , (cast_expression "(ulong)uVar11" ( (type_descriptor "ulong" type_identifier) ) identifier) , number_literal ))) ;)) })) (expression_statement "uVar11 = *(ushort *)(puVar7 + 0x2e) << 8 | *(ushort *)(puVar7 + 0x2e) >> 8;" (assignment_expression "uVar11 = *(ushort *)(puVar7 + 0x2e) << 8 | *(ushort *)(puVar7 + 0x2e) >> 8" identifier = (binary_expression "*(ushort *)(puVar7 + 0x2e) << 8 | *(ushort *)(puVar7 + 0x2e) >> 8" (binary_expression "*(ushort *)(puVar7 + 0x2e) << 8" (pointer_expression "*(ushort *)(puVar7 + 0x2e)" * (cast_expression "(ushort *)(puVar7 + 0x2e)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x2e)" ( (binary_expression "puVar7 + 0x2e" identifier + number_literal) )))) << number_literal) | (binary_expression "*(ushort *)(puVar7 + 0x2e) >> 8" (pointer_expression "*(ushort *)(puVar7 + 0x2e)" * (cast_expression "(ushort *)(puVar7 + 0x2e)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x2e)" ( (binary_expression "puVar7 + 0x2e" identifier + number_literal) )))) >> number_literal))) ;) (if_statement "if (uVar11 != 0x28) {\n        pcVar8 = (char *)gettext("bad e_shentsize (%d != %d)");\n        Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x28);\n      }" if (parenthesized_expression "(uVar11 != 0x28)" ( (binary_expression "uVar11 != 0x28" identifier != number_literal) )) (compound_statement "{\n        pcVar8 = (char *)gettext("bad e_shentsize (%d != %d)");\n        Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x28);\n      }" { (expression_statement "pcVar8 = (char *)gettext("bad e_shentsize (%d != %d)");" (assignment_expression "pcVar8 = (char *)gettext("bad e_shentsize (%d != %d)")" identifier = (cast_expression "(char *)gettext("bad e_shentsize (%d != %d)")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("bad e_shentsize (%d != %d)")" identifier (argument_list "("bad e_shentsize (%d != %d)")" ( (string_literal ""bad e_shentsize (%d != %d)"" " string_content ") ))))) ;) (labeled_statement "Sniff_file::error(&file_1,pcVar8,(ulong)uVar11,0x28);" statement_identifier : (ERROR ":" :) (expression_statement "error(&file_1,pcVar8,(ulong)uVar11,0x28);" (call_expression "error(&file_1,pcVar8,(ulong)uVar11,0x28)" identifier (argument_list "(&file_1,pcVar8,(ulong)uVar11,0x28)" ( (pointer_expression "&file_1" & identifier) , identifier , (cast_expression "(ulong)uVar11" ( (type_descriptor "ulong" type_identifier) ) identifier) , number_literal ))) ;)) })) (expression_statement "uVar10 = 1;" (assignment_expression "uVar10 = 1" identifier = number_literal) ;) (labeled_statement "elfcpp::Elf_file<32,_true,_gold::Sniff_file>::initialize_shnum\n                ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file);" statement_identifier (ERROR "::Elf_file<32,_true,_gold::Sniff_file>::initialize_shnum\n                ((Elf_file<32,_true,_gold:" : : (comma_expression "Elf_file<32,_true,_gold" (binary_expression "Elf_file<32" identifier < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : : identifier > : : identifier ( ( (comma_expression "Elf_file<32,_true,_gold" (binary_expression "Elf_file<32" identifier < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) :) : (expression_statement "Sniff_file> *)&elf_file);" (binary_expression "Sniff_file> *)&elf_file" identifier > (pointer_expression "*)&elf_file" * (ERROR ")" )) (pointer_expression "&elf_file" & identifier))) (ERROR ")" )) ;)) (expression_statement "uVar2 = elf_file.shnum_;" (assignment_expression "uVar2 = elf_file.shnum_" identifier = (field_expression "elf_file.shnum_" identifier . field_identifier)) ;) (if_statement "if (1 < elf_file.shnum_) {\n        do {\n          EVar3 = elfcpp::Elf_file<32,_true,_gold::Sniff_file>::section_type\n                            ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10);\n          if (EVar3 == 7) {\n            LVar12 = elfcpp::Elf_file<32,_true,_gold::Sniff_file>::section_contents\n                               ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10);\n            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))\n            {\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                 iVar4 == 0)) goto LAB_002a49fc;\n            }\n          }\n          uVar10 = uVar10 + 1;\n        } while (uVar2 != uVar10);\n      }" if (parenthesized_expression "(1 < elf_file.shnum_)" ( (binary_expression "1 < elf_file.shnum_" number_literal < (field_expression "elf_file.shnum_" identifier . field_identifier)) )) (compound_statement "{\n        do {\n          EVar3 = elfcpp::Elf_file<32,_true,_gold::Sniff_file>::section_type\n                            ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10);\n          if (EVar3 == 7) {\n            LVar12 = elfcpp::Elf_file<32,_true,_gold::Sniff_file>::section_contents\n                               ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10);\n            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))\n            {\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                 iVar4 == 0)) goto LAB_002a49fc;\n            }\n          }\n          uVar10 = uVar10 + 1;\n        } while (uVar2 != uVar10);\n      }" { (do_statement "do {\n          EVar3 = elfcpp::Elf_file<32,_true,_gold::Sniff_file>::section_type\n                            ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10);\n          if (EVar3 == 7) {\n            LVar12 = elfcpp::Elf_file<32,_true,_gold::Sniff_file>::section_contents\n                               ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10);\n            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))\n            {\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                 iVar4 == 0)) goto LAB_002a49fc;\n            }\n          }\n          uVar10 = uVar10 + 1;\n        } while (uVar2 != uVar10);" do (compound_statement "{\n          EVar3 = elfcpp::Elf_file<32,_true,_gold::Sniff_file>::section_type\n                            ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10);\n          if (EVar3 == 7) {\n            LVar12 = elfcpp::Elf_file<32,_true,_gold::Sniff_file>::section_contents\n                               ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10);\n            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))\n            {\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                 iVar4 == 0)) goto LAB_002a49fc;\n            }\n          }\n          uVar10 = uVar10 + 1;\n        }" { (ERROR "EVar3 = elfcpp::Elf_file<32,_true,_gold::" (comma_expression "EVar3 = elfcpp::Elf_file<32,_true,_gold" (binary_expression "EVar3 = elfcpp::Elf_file<32" (assignment_expression "EVar3 = elfcpp" identifier = identifier) (ERROR "::Elf_file" : : identifier) < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : :) (expression_statement "Sniff_file>::section_type\n                            ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10);" (binary_expression "Sniff_file>::section_type\n                            ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10)" identifier > (ERROR "::" : :) (call_expression "section_type\n                            ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10)" identifier (argument_list "((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10)" ( (binary_expression "(Elf_file<32,_true,_gold::Sniff_file> *)&elf_file" (parenthesized_expression "(Elf_file<32,_true,_gold::Sniff_file> *)" ( (ERROR "Elf_file<32,_true,_gold::" (comma_expression "Elf_file<32,_true,_gold" (binary_expression "Elf_file<32" identifier < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : :) (binary_expression "Sniff_file> *" identifier > (pointer_expression "*" * identifier)) )) & identifier) , identifier )))) ;) (if_statement "if (EVar3 == 7) {\n            LVar12 = elfcpp::Elf_file<32,_true,_gold::Sniff_file>::section_contents\n                               ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10);\n            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))\n            {\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                 iVar4 == 0)) goto LAB_002a49fc;\n            }\n          }" if (parenthesized_expression "(EVar3 == 7)" ( (binary_expression "EVar3 == 7" identifier == number_literal) )) (compound_statement "{\n            LVar12 = elfcpp::Elf_file<32,_true,_gold::Sniff_file>::section_contents\n                               ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10);\n            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))\n            {\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                 iVar4 == 0)) goto LAB_002a49fc;\n            }\n          }" { (ERROR "LVar12 = elfcpp::Elf_file<32,_true,_gold::" (comma_expression "LVar12 = elfcpp::Elf_file<32,_true,_gold" (binary_expression "LVar12 = elfcpp::Elf_file<32" (assignment_expression "LVar12 = elfcpp" identifier = identifier) (ERROR "::Elf_file" : : identifier) < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : :) (expression_statement "Sniff_file>::section_contents\n                               ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10);" (binary_expression "Sniff_file>::section_contents\n                               ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10)" identifier > (ERROR "::" : :) (call_expression "section_contents\n                               ((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10)" identifier (argument_list "((Elf_file<32,_true,_gold::Sniff_file> *)&elf_file,uVar10)" ( (binary_expression "(Elf_file<32,_true,_gold::Sniff_file> *)&elf_file" (parenthesized_expression "(Elf_file<32,_true,_gold::Sniff_file> *)" ( (ERROR "Elf_file<32,_true,_gold::" (comma_expression "Elf_file<32,_true,_gold" (binary_expression "Elf_file<32" identifier < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : :) (binary_expression "Sniff_file> *" identifier > (pointer_expression "*" * identifier)) )) & identifier) , identifier )))) ;) (if_statement "if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))\n            {\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                 iVar4 == 0)) goto LAB_002a49fc;\n            }" if (parenthesized_expression "((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))" ( (binary_expression "(((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000)" (parenthesized_expression "(((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_)" ( (binary_expression "((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_" (binary_expression "((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14" (parenthesized_expression "((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc)" ( (binary_expression "(this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc" (binary_expression "(this->nacl_abi_name_)._M_string_length + 4" (field_expression "(this->nacl_abi_name_)._M_string_length" (parenthesized_expression "(this->nacl_abi_name_)" ( (field_expression "this->nacl_abi_name_" identifier -> field_identifier) )) . field_identifier) + number_literal) & number_literal) )) + number_literal) <= (field_expression "LVar12.size_" identifier . field_identifier)) )) && (parenthesized_expression "(piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000)" ( (ERROR "piVar5 = (int *)File_read::" (assignment_expression "piVar5 = (int *)File_read" identifier = (cast_expression "(int *)File_read" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) : :) (comma_expression "get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000" (call_expression "get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false)" identifier (argument_list "(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false)" ( (field_expression "file_1.file_" identifier . field_identifier) , (binary_expression "LVar12.offset_ + file_1.offset_" (field_expression "LVar12.offset_" identifier . field_identifier) + (field_expression "file_1.offset_" identifier . field_identifier)) , number_literal , (field_expression "LVar12.size_" identifier . field_identifier) , true , false ))) , (binary_expression "*piVar5 == 0x5000000" (pointer_expression "*piVar5" * identifier) == number_literal)) ))) )) (compound_statement "{\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                 iVar4 == 0)) goto LAB_002a49fc;\n            }" { (expression_statement "uVar1 = piVar5[1];" (assignment_expression "uVar1 = piVar5[1]" identifier = (subscript_expression "piVar5[1]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);" (assignment_expression "uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18)" identifier = (call_expression "(ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18)" ( (binary_expression "uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18" (binary_expression "uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8" (binary_expression "uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8" (binary_expression "uVar1 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar1 & 0xff0000) >> 8" (parenthesized_expression "(uVar1 & 0xff0000)" ( (binary_expression "uVar1 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar1 & 0xff00) << 8" (parenthesized_expression "(uVar1 & 0xff00)" ( (binary_expression "uVar1 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar1 << 0x18" identifier << number_literal)) )))) ;) (if_statement "if ((((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                 iVar4 == 0)) goto LAB_002a49fc;" if (parenthesized_expression "((((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                 iVar4 == 0))" ( (binary_expression "(((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                 iVar4 == 0)" (parenthesized_expression "(((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0'))" ( (binary_expression "((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')" (parenthesized_expression "((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e))))" ( (binary_expression "(uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))" (parenthesized_expression "(uVar9 == (this->nacl_abi_name_)._M_string_length + 1)" ( (binary_expression "uVar9 == (this->nacl_abi_name_)._M_string_length + 1" identifier == (binary_expression "(this->nacl_abi_name_)._M_string_length + 1" (field_expression "(this->nacl_abi_name_)._M_string_length" (parenthesized_expression "(this->nacl_abi_name_)" ( (field_expression "this->nacl_abi_name_" identifier -> field_identifier) )) . field_identifier) + number_literal)) )) && (parenthesized_expression "((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))" ( (parenthesized_expression "(piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e))" ( (binary_expression "piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)" (binary_expression "piVar5[2] == 0x1000000" (subscript_expression "piVar5[2]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "(piVar5[3] == 0x6c43614e)" ( (binary_expression "piVar5[3] == 0x6c43614e" (subscript_expression "piVar5[3]" identifier [ number_literal ]) == number_literal) ))) )) ))) )) && (parenthesized_expression "((char)piVar5[4] == '\0')" ( (binary_expression "(char)piVar5[4] == '\0'" (cast_expression "(char)piVar5[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar5[4]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                 iVar4 == 0)" ( (comma_expression "iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                 iVar4 == 0" (assignment_expression "iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9)" identifier = (call_expression "memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9)" identifier (argument_list "(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9)" ( (binary_expression "piVar5 + 5" identifier + number_literal) , (field_expression "(this->nacl_abi_name_)._M_dataplus._M_p" (field_expression "(this->nacl_abi_name_)._M_dataplus" (parenthesized_expression "(this->nacl_abi_name_)" ( (field_expression "this->nacl_abi_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) , identifier )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_002a49fc;" goto statement_identifier ;)) })) })) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar2 != uVar10)" ( (binary_expression "uVar2 != uVar10" identifier != identifier) )) ;) })) }) (else_clause "else {\n      if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      file_1.file_ = &file->file_;\n      uVar10 = 1;\n      local_60.p_ = (Ehdr_data<64> *)File_read::get_view(file_1.file_,offset,0,0x40,true,false);\n      elfcpp::Elf_file<64,_true,_gold::Sniff_file>::construct(&elf_file,&file_1,&local_60);\n      elfcpp::Elf_file<64,_true,_gold::Sniff_file>::initialize_shnum(&elf_file);\n      uVar2 = elf_file.shnum_;\n      if (1 < elf_file.shnum_) {\n        do {\n          EVar3 = elfcpp::Elf_file<64,_true,_gold::Sniff_file>::section_type(&elf_file,uVar10);\n          if (EVar3 == 7) {\n            LVar12 = elfcpp::Elf_file<64,_true,_gold::Sniff_file>::section_contents\n                               (&elf_file,uVar10);\n            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))\n            {\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                  iVar4 == 0)))) {\nLAB_002a49fc:\n                this->is_nacl_ = true;\n                pTVar6 = Target_selector::instantiate_target((Target_selector *)this);\n                return pTVar6;\n              }\n            }\n          }\n          uVar10 = uVar10 + 1;\n        } while (uVar2 != uVar10);\n      }\n    }" else (compound_statement "{\n      if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      file_1.file_ = &file->file_;\n      uVar10 = 1;\n      local_60.p_ = (Ehdr_data<64> *)File_read::get_view(file_1.file_,offset,0,0x40,true,false);\n      elfcpp::Elf_file<64,_true,_gold::Sniff_file>::construct(&elf_file,&file_1,&local_60);\n      elfcpp::Elf_file<64,_true,_gold::Sniff_file>::initialize_shnum(&elf_file);\n      uVar2 = elf_file.shnum_;\n      if (1 < elf_file.shnum_) {\n        do {\n          EVar3 = elfcpp::Elf_file<64,_true,_gold::Sniff_file>::section_type(&elf_file,uVar10);\n          if (EVar3 == 7) {\n            LVar12 = elfcpp::Elf_file<64,_true,_gold::Sniff_file>::section_contents\n                               (&elf_file,uVar10);\n            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))\n            {\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                  iVar4 == 0)))) {\nLAB_002a49fc:\n                this->is_nacl_ = true;\n                pTVar6 = Target_selector::instantiate_target((Target_selector *)this);\n                return pTVar6;\n              }\n            }\n          }\n          uVar10 = uVar10 + 1;\n        } while (uVar2 != uVar10);\n      }\n    }" { (if_statement "if (iVar4 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }" if (parenthesized_expression "(iVar4 != 0x40)" ( (binary_expression "iVar4 != 0x40" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }" { comment (expression_statement "do_gold_unreachable("../../gold/nacl.h",0xaf,"recognize_nacl_file");" (call_expression "do_gold_unreachable("../../gold/nacl.h",0xaf,"recognize_nacl_file")" identifier (argument_list "("../../gold/nacl.h",0xaf,"recognize_nacl_file")" ( (string_literal ""../../gold/nacl.h"" " string_content ") , number_literal , (string_literal ""recognize_nacl_file"" " string_content ") ))) ;) })) (expression_statement "file_1.file_ = &file->file_;" (assignment_expression "file_1.file_ = &file->file_" (field_expression "file_1.file_" identifier . field_identifier) = (pointer_expression "&file->file_" & (field_expression "file->file_" identifier -> field_identifier))) ;) (expression_statement "uVar10 = 1;" (assignment_expression "uVar10 = 1" identifier = number_literal) ;) (expression_statement "local_60.p_ = (Ehdr_data<64> *)File_read::get_view(file_1.file_,offset,0,0x40,true,false);" (assignment_expression "local_60.p_ = (Ehdr_data<64> *)File_read::get_view(file_1.file_,offset,0,0x40,true,false)" (field_expression "local_60.p_" identifier . field_identifier) = (parenthesized_expression "(Ehdr_data<64> *)File_read::get_view(file_1.file_,offset,0,0x40,true,false)" ( (ERROR "Ehdr_data<64> *)File_read::" (binary_expression "Ehdr_data<64> *)File_read" (binary_expression "Ehdr_data<64" identifier < number_literal) > (pointer_expression "*)File_read" * (ERROR ")" )) identifier)) : :) (call_expression "get_view(file_1.file_,offset,0,0x40,true,false)" identifier (argument_list "(file_1.file_,offset,0,0x40,true,false)" ( (field_expression "file_1.file_" identifier . field_identifier) , identifier , number_literal , number_literal , true , false ))) ))) ;) (labeled_statement "elfcpp::Elf_file<64,_true,_gold::Sniff_file>::construct(&elf_file,&file_1,&local_60);" statement_identifier (ERROR "::Elf_file<64,_true,_gold::Sniff_file>:" : : (comma_expression "Elf_file<64,_true,_gold" (binary_expression "Elf_file<64" identifier < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : : identifier > :) : (expression_statement "construct(&elf_file,&file_1,&local_60);" (call_expression "construct(&elf_file,&file_1,&local_60)" identifier (argument_list "(&elf_file,&file_1,&local_60)" ( (pointer_expression "&elf_file" & identifier) , (pointer_expression "&file_1" & identifier) , (pointer_expression "&local_60" & identifier) ))) ;)) (labeled_statement "elfcpp::Elf_file<64,_true,_gold::Sniff_file>::initialize_shnum(&elf_file);" statement_identifier (ERROR "::Elf_file<64,_true,_gold::Sniff_file>:" : : (comma_expression "Elf_file<64,_true,_gold" (binary_expression "Elf_file<64" identifier < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : : identifier > :) : (expression_statement "initialize_shnum(&elf_file);" (call_expression "initialize_shnum(&elf_file)" identifier (argument_list "(&elf_file)" ( (pointer_expression "&elf_file" & identifier) ))) ;)) (expression_statement "uVar2 = elf_file.shnum_;" (assignment_expression "uVar2 = elf_file.shnum_" identifier = (field_expression "elf_file.shnum_" identifier . field_identifier)) ;) (if_statement "if (1 < elf_file.shnum_) {\n        do {\n          EVar3 = elfcpp::Elf_file<64,_true,_gold::Sniff_file>::section_type(&elf_file,uVar10);\n          if (EVar3 == 7) {\n            LVar12 = elfcpp::Elf_file<64,_true,_gold::Sniff_file>::section_contents\n                               (&elf_file,uVar10);\n            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))\n            {\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                  iVar4 == 0)))) {\nLAB_002a49fc:\n                this->is_nacl_ = true;\n                pTVar6 = Target_selector::instantiate_target((Target_selector *)this);\n                return pTVar6;\n              }\n            }\n          }\n          uVar10 = uVar10 + 1;\n        } while (uVar2 != uVar10);\n      }" if (parenthesized_expression "(1 < elf_file.shnum_)" ( (binary_expression "1 < elf_file.shnum_" number_literal < (field_expression "elf_file.shnum_" identifier . field_identifier)) )) (compound_statement "{\n        do {\n          EVar3 = elfcpp::Elf_file<64,_true,_gold::Sniff_file>::section_type(&elf_file,uVar10);\n          if (EVar3 == 7) {\n            LVar12 = elfcpp::Elf_file<64,_true,_gold::Sniff_file>::section_contents\n                               (&elf_file,uVar10);\n            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))\n            {\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                  iVar4 == 0)))) {\nLAB_002a49fc:\n                this->is_nacl_ = true;\n                pTVar6 = Target_selector::instantiate_target((Target_selector *)this);\n                return pTVar6;\n              }\n            }\n          }\n          uVar10 = uVar10 + 1;\n        } while (uVar2 != uVar10);\n      }" { (do_statement "do {\n          EVar3 = elfcpp::Elf_file<64,_true,_gold::Sniff_file>::section_type(&elf_file,uVar10);\n          if (EVar3 == 7) {\n            LVar12 = elfcpp::Elf_file<64,_true,_gold::Sniff_file>::section_contents\n                               (&elf_file,uVar10);\n            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))\n            {\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                  iVar4 == 0)))) {\nLAB_002a49fc:\n                this->is_nacl_ = true;\n                pTVar6 = Target_selector::instantiate_target((Target_selector *)this);\n                return pTVar6;\n              }\n            }\n          }\n          uVar10 = uVar10 + 1;\n        } while (uVar2 != uVar10);" do (compound_statement "{\n          EVar3 = elfcpp::Elf_file<64,_true,_gold::Sniff_file>::section_type(&elf_file,uVar10);\n          if (EVar3 == 7) {\n            LVar12 = elfcpp::Elf_file<64,_true,_gold::Sniff_file>::section_contents\n                               (&elf_file,uVar10);\n            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))\n            {\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                  iVar4 == 0)))) {\nLAB_002a49fc:\n                this->is_nacl_ = true;\n                pTVar6 = Target_selector::instantiate_target((Target_selector *)this);\n                return pTVar6;\n              }\n            }\n          }\n          uVar10 = uVar10 + 1;\n        }" { (ERROR "EVar3 = elfcpp::Elf_file<64,_true,_gold::" (comma_expression "EVar3 = elfcpp::Elf_file<64,_true,_gold" (binary_expression "EVar3 = elfcpp::Elf_file<64" (assignment_expression "EVar3 = elfcpp" identifier = identifier) (ERROR "::Elf_file" : : identifier) < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : :) (expression_statement "Sniff_file>::section_type(&elf_file,uVar10);" (binary_expression "Sniff_file>::section_type(&elf_file,uVar10)" identifier > (ERROR "::" : :) (call_expression "section_type(&elf_file,uVar10)" identifier (argument_list "(&elf_file,uVar10)" ( (pointer_expression "&elf_file" & identifier) , identifier )))) ;) (if_statement "if (EVar3 == 7) {\n            LVar12 = elfcpp::Elf_file<64,_true,_gold::Sniff_file>::section_contents\n                               (&elf_file,uVar10);\n            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))\n            {\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                  iVar4 == 0)))) {\nLAB_002a49fc:\n                this->is_nacl_ = true;\n                pTVar6 = Target_selector::instantiate_target((Target_selector *)this);\n                return pTVar6;\n              }\n            }\n          }" if (parenthesized_expression "(EVar3 == 7)" ( (binary_expression "EVar3 == 7" identifier == number_literal) )) (compound_statement "{\n            LVar12 = elfcpp::Elf_file<64,_true,_gold::Sniff_file>::section_contents\n                               (&elf_file,uVar10);\n            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))\n            {\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                  iVar4 == 0)))) {\nLAB_002a49fc:\n                this->is_nacl_ = true;\n                pTVar6 = Target_selector::instantiate_target((Target_selector *)this);\n                return pTVar6;\n              }\n            }\n          }" { (ERROR "LVar12 = elfcpp::Elf_file<64,_true,_gold::" (comma_expression "LVar12 = elfcpp::Elf_file<64,_true,_gold" (binary_expression "LVar12 = elfcpp::Elf_file<64" (assignment_expression "LVar12 = elfcpp" identifier = identifier) (ERROR "::Elf_file" : : identifier) < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : :) (expression_statement "Sniff_file>::section_contents\n                               (&elf_file,uVar10);" (binary_expression "Sniff_file>::section_contents\n                               (&elf_file,uVar10)" identifier > (ERROR "::" : :) (call_expression "section_contents\n                               (&elf_file,uVar10)" identifier (argument_list "(&elf_file,uVar10)" ( (pointer_expression "&elf_file" & identifier) , identifier )))) ;) (if_statement "if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))\n            {\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                  iVar4 == 0)))) {\nLAB_002a49fc:\n                this->is_nacl_ = true;\n                pTVar6 = Target_selector::instantiate_target((Target_selector *)this);\n                return pTVar6;\n              }\n            }" if (parenthesized_expression "((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000))" ( (binary_expression "(((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_) &&\n               (piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000)" (parenthesized_expression "(((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_)" ( (binary_expression "((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=\n                 LVar12.size_" (binary_expression "((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14" (parenthesized_expression "((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc)" ( (binary_expression "(this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc" (binary_expression "(this->nacl_abi_name_)._M_string_length + 4" (field_expression "(this->nacl_abi_name_)._M_string_length" (parenthesized_expression "(this->nacl_abi_name_)" ( (field_expression "this->nacl_abi_name_" identifier -> field_identifier) )) . field_identifier) + number_literal) & number_literal) )) + number_literal) <= (field_expression "LVar12.size_" identifier . field_identifier)) )) && (parenthesized_expression "(piVar5 = (int *)File_read::get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000)" ( (ERROR "piVar5 = (int *)File_read::" (assignment_expression "piVar5 = (int *)File_read" identifier = (cast_expression "(int *)File_read" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) : :) (comma_expression "get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false), *piVar5 == 0x5000000" (call_expression "get_view(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false)" identifier (argument_list "(file_1.file_,LVar12.offset_ + file_1.offset_,0,\n                                                    LVar12.size_,true,false)" ( (field_expression "file_1.file_" identifier . field_identifier) , (binary_expression "LVar12.offset_ + file_1.offset_" (field_expression "LVar12.offset_" identifier . field_identifier) + (field_expression "file_1.offset_" identifier . field_identifier)) , number_literal , (field_expression "LVar12.size_" identifier . field_identifier) , true , false ))) , (binary_expression "*piVar5 == 0x5000000" (pointer_expression "*piVar5" * identifier) == number_literal)) ))) )) (compound_statement "{\n              uVar1 = piVar5[1];\n              uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);\n              if ((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                  iVar4 == 0)))) {\nLAB_002a49fc:\n                this->is_nacl_ = true;\n                pTVar6 = Target_selector::instantiate_target((Target_selector *)this);\n                return pTVar6;\n              }\n            }" { (expression_statement "uVar1 = piVar5[1];" (assignment_expression "uVar1 = piVar5[1]" identifier = (subscript_expression "piVar5[1]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18);" (assignment_expression "uVar9 = (ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18)" identifier = (call_expression "(ulong)(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18)" ( (binary_expression "uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8 |\n                             uVar1 << 0x18" (binary_expression "uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8 | (uVar1 & 0xff00) << 8" (binary_expression "uVar1 >> 0x18 | (uVar1 & 0xff0000) >> 8" (binary_expression "uVar1 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar1 & 0xff0000) >> 8" (parenthesized_expression "(uVar1 & 0xff0000)" ( (binary_expression "uVar1 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar1 & 0xff00) << 8" (parenthesized_expression "(uVar1 & 0xff00)" ( (binary_expression "uVar1 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar1 << 0x18" identifier << number_literal)) )))) ;) (if_statement "if ((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                  iVar4 == 0)))) {\nLAB_002a49fc:\n                this->is_nacl_ = true;\n                pTVar6 = Target_selector::instantiate_target((Target_selector *)this);\n                return pTVar6;\n              }" if (parenthesized_expression "((uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                  iVar4 == 0))))" ( (binary_expression "(uVar9 == (this->nacl_abi_name_)._M_string_length + 1) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                  iVar4 == 0)))" (parenthesized_expression "(uVar9 == (this->nacl_abi_name_)._M_string_length + 1)" ( (binary_expression "uVar9 == (this->nacl_abi_name_)._M_string_length + 1" identifier == (binary_expression "(this->nacl_abi_name_)._M_string_length + 1" (field_expression "(this->nacl_abi_name_)._M_string_length" (parenthesized_expression "(this->nacl_abi_name_)" ( (field_expression "this->nacl_abi_name_" identifier -> field_identifier) )) . field_identifier) + number_literal)) )) && (parenthesized_expression "((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                  iVar4 == 0)))" ( (parenthesized_expression "(((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                  iVar4 == 0))" ( (binary_expression "((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                  iVar4 == 0)" (parenthesized_expression "((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0'))" ( (binary_expression "(piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')" (parenthesized_expression "(piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e))" ( (binary_expression "piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)" (binary_expression "piVar5[2] == 0x1000000" (subscript_expression "piVar5[2]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "(piVar5[3] == 0x6c43614e)" ( (binary_expression "piVar5[3] == 0x6c43614e" (subscript_expression "piVar5[3]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "((char)piVar5[4] == '\0')" ( (binary_expression "(char)piVar5[4] == '\0'" (cast_expression "(char)piVar5[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar5[4]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                  iVar4 == 0)" ( (comma_expression "iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9),\n                  iVar4 == 0" (assignment_expression "iVar4 = memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9)" identifier = (call_expression "memcmp(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9)" identifier (argument_list "(piVar5 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,uVar9)" ( (binary_expression "piVar5 + 5" identifier + number_literal) , (field_expression "(this->nacl_abi_name_)._M_dataplus._M_p" (field_expression "(this->nacl_abi_name_)._M_dataplus" (parenthesized_expression "(this->nacl_abi_name_)" ( (field_expression "this->nacl_abi_name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) , identifier )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) ))) )) (compound_statement "{\nLAB_002a49fc:\n                this->is_nacl_ = true;\n                pTVar6 = Target_selector::instantiate_target((Target_selector *)this);\n                return pTVar6;\n              }" { (labeled_statement "LAB_002a49fc:\n                this->is_nacl_ = true;" statement_identifier : (expression_statement "this->is_nacl_ = true;" (assignment_expression "this->is_nacl_ = true" (field_expression "this->is_nacl_" identifier -> field_identifier) = true) ;)) (ERROR "pTVar6 = Target_selector::" (assignment_expression "pTVar6 = Target_selector" identifier = identifier) : :) (expression_statement "instantiate_target((Target_selector *)this);" (call_expression "instantiate_target((Target_selector *)this)" identifier (argument_list "((Target_selector *)this)" ( (cast_expression "(Target_selector *)this" ( (type_descriptor "Target_selector *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (return_statement "return pTVar6;" return identifier ;) })) })) })) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar2 != uVar10)" ( (binary_expression "uVar2 != uVar10" identifier != identifier) )) ;) })) }))))) })) (expression_statement "this->is_nacl_ = false;" (assignment_expression "this->is_nacl_ = false" (field_expression "this->is_nacl_" identifier -> field_identifier) = false) ;) (ERROR "pTVar6 = Target_selector::" (assignment_expression "pTVar6 = Target_selector" identifier = identifier) : :) (expression_statement "instantiate_target((Target_selector *)this);" (call_expression "instantiate_target((Target_selector *)this)" identifier (argument_list "((Target_selector *)this)" ( (cast_expression "(Target_selector *)this" ( (type_descriptor "Target_selector *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (return_statement "return pTVar6;" return identifier ;) }))
(translation_unit "void FUN_002a4760(long param_1,long param_2,long param_3)\n\n{\n  short sVar1;\n  uint uVar2;\n  uint uVar3;\n  int iVar4;\n  int *piVar5;\n  long lVar6;\n  undefined8 uVar7;\n  ulong uVar8;\n  uint uVar9;\n  ushort uVar10;\n  undefined1 auVar11 [16];\n  undefined8 local_60;\n  long local_58;\n  long local_50;\n  long *local_48;\n  ulong local_40;\n  uint local_38;\n  uint local_34;\n  undefined4 local_30;\n  \n  if (param_2 != 0) {\n    iVar4 = *(int *)(param_1 + 0xc);\n    local_50 = param_3;\n    if (*(char *)(param_1 + 0x10) == '\0') {\n      if (iVar4 == 0x20) {\n        local_58 = param_2 + 0x28;\n        lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n        local_40 = (ulong)*(uint *)(lVar6 + 0x20);\n        local_38 = (uint)*(ushort *)(lVar6 + 0x30);\n        local_30 = 0;\n        local_34 = (uint)*(ushort *)(lVar6 + 0x32);\n        sVar1 = *(short *)(lVar6 + 0x28);\n        local_48 = &local_58;\n        if (sVar1 != 0x34) {\n          uVar7 = gettext("bad e_ehsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x34);\n        }\n        sVar1 = *(short *)(lVar6 + 0x2e);\n        if (sVar1 != 0x28) {\n          uVar7 = gettext("bad e_shentsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x28);\n        }\n        uVar9 = 1;\n        FUN_001a8070(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n      else {\n        if (iVar4 != 0x40) {\n                    \n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        local_58 = param_2 + 0x28;\n        uVar9 = 1;\n        local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n        FUN_001c2b00(&local_48,&local_58,&local_60);\n        FUN_001a8200(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n    }\n    else if (iVar4 == 0x20) {\n      local_58 = param_2 + 0x28;\n      lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n      uVar3 = *(uint *)(lVar6 + 0x20);\n      local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n      local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8);\n      local_30 = 0;\n      local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8);\n      uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8;\n      local_48 = &local_58;\n      if (uVar10 != 0x34) {\n        uVar7 = gettext("bad e_ehsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x34);\n      }\n      uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8;\n      if (uVar10 != 0x28) {\n        uVar7 = gettext("bad e_shentsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x28);\n      }\n      uVar9 = 1;\n      FUN_001a7d30(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n    else {\n      if (iVar4 != 0x40) {\n                    \n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      local_58 = param_2 + 0x28;\n      uVar9 = 1;\n      local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n      FUN_001c27f0(&local_48,&local_58,&local_60);\n      FUN_001a7ed0(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n  }\n  *(undefined1 *)(param_1 + 0x58) = 0;\n  FUN_0045b0a0(param_1);\n  return;\n}\n\n" (function_definition "void FUN_002a4760(long param_1,long param_2,long param_3)\n\n{\n  short sVar1;\n  uint uVar2;\n  uint uVar3;\n  int iVar4;\n  int *piVar5;\n  long lVar6;\n  undefined8 uVar7;\n  ulong uVar8;\n  uint uVar9;\n  ushort uVar10;\n  undefined1 auVar11 [16];\n  undefined8 local_60;\n  long local_58;\n  long local_50;\n  long *local_48;\n  ulong local_40;\n  uint local_38;\n  uint local_34;\n  undefined4 local_30;\n  \n  if (param_2 != 0) {\n    iVar4 = *(int *)(param_1 + 0xc);\n    local_50 = param_3;\n    if (*(char *)(param_1 + 0x10) == '\0') {\n      if (iVar4 == 0x20) {\n        local_58 = param_2 + 0x28;\n        lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n        local_40 = (ulong)*(uint *)(lVar6 + 0x20);\n        local_38 = (uint)*(ushort *)(lVar6 + 0x30);\n        local_30 = 0;\n        local_34 = (uint)*(ushort *)(lVar6 + 0x32);\n        sVar1 = *(short *)(lVar6 + 0x28);\n        local_48 = &local_58;\n        if (sVar1 != 0x34) {\n          uVar7 = gettext("bad e_ehsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x34);\n        }\n        sVar1 = *(short *)(lVar6 + 0x2e);\n        if (sVar1 != 0x28) {\n          uVar7 = gettext("bad e_shentsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x28);\n        }\n        uVar9 = 1;\n        FUN_001a8070(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n      else {\n        if (iVar4 != 0x40) {\n                    \n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        local_58 = param_2 + 0x28;\n        uVar9 = 1;\n        local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n        FUN_001c2b00(&local_48,&local_58,&local_60);\n        FUN_001a8200(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n    }\n    else if (iVar4 == 0x20) {\n      local_58 = param_2 + 0x28;\n      lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n      uVar3 = *(uint *)(lVar6 + 0x20);\n      local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n      local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8);\n      local_30 = 0;\n      local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8);\n      uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8;\n      local_48 = &local_58;\n      if (uVar10 != 0x34) {\n        uVar7 = gettext("bad e_ehsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x34);\n      }\n      uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8;\n      if (uVar10 != 0x28) {\n        uVar7 = gettext("bad e_shentsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x28);\n      }\n      uVar9 = 1;\n      FUN_001a7d30(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n    else {\n      if (iVar4 != 0x40) {\n                    \n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      local_58 = param_2 + 0x28;\n      uVar9 = 1;\n      local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n      FUN_001c27f0(&local_48,&local_58,&local_60);\n      FUN_001a7ed0(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n  }\n  *(undefined1 *)(param_1 + 0x58) = 0;\n  FUN_0045b0a0(param_1);\n  return;\n}" primitive_type (function_declarator "FUN_002a4760(long param_1,long param_2,long param_3)" identifier (parameter_list "(long param_1,long param_2,long param_3)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_3" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  short sVar1;\n  uint uVar2;\n  uint uVar3;\n  int iVar4;\n  int *piVar5;\n  long lVar6;\n  undefined8 uVar7;\n  ulong uVar8;\n  uint uVar9;\n  ushort uVar10;\n  undefined1 auVar11 [16];\n  undefined8 local_60;\n  long local_58;\n  long local_50;\n  long *local_48;\n  ulong local_40;\n  uint local_38;\n  uint local_34;\n  undefined4 local_30;\n  \n  if (param_2 != 0) {\n    iVar4 = *(int *)(param_1 + 0xc);\n    local_50 = param_3;\n    if (*(char *)(param_1 + 0x10) == '\0') {\n      if (iVar4 == 0x20) {\n        local_58 = param_2 + 0x28;\n        lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n        local_40 = (ulong)*(uint *)(lVar6 + 0x20);\n        local_38 = (uint)*(ushort *)(lVar6 + 0x30);\n        local_30 = 0;\n        local_34 = (uint)*(ushort *)(lVar6 + 0x32);\n        sVar1 = *(short *)(lVar6 + 0x28);\n        local_48 = &local_58;\n        if (sVar1 != 0x34) {\n          uVar7 = gettext("bad e_ehsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x34);\n        }\n        sVar1 = *(short *)(lVar6 + 0x2e);\n        if (sVar1 != 0x28) {\n          uVar7 = gettext("bad e_shentsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x28);\n        }\n        uVar9 = 1;\n        FUN_001a8070(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n      else {\n        if (iVar4 != 0x40) {\n                    \n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        local_58 = param_2 + 0x28;\n        uVar9 = 1;\n        local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n        FUN_001c2b00(&local_48,&local_58,&local_60);\n        FUN_001a8200(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n    }\n    else if (iVar4 == 0x20) {\n      local_58 = param_2 + 0x28;\n      lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n      uVar3 = *(uint *)(lVar6 + 0x20);\n      local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n      local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8);\n      local_30 = 0;\n      local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8);\n      uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8;\n      local_48 = &local_58;\n      if (uVar10 != 0x34) {\n        uVar7 = gettext("bad e_ehsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x34);\n      }\n      uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8;\n      if (uVar10 != 0x28) {\n        uVar7 = gettext("bad e_shentsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x28);\n      }\n      uVar9 = 1;\n      FUN_001a7d30(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n    else {\n      if (iVar4 != 0x40) {\n                    \n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      local_58 = param_2 + 0x28;\n      uVar9 = 1;\n      local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n      FUN_001c27f0(&local_48,&local_58,&local_60);\n      FUN_001a7ed0(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n  }\n  *(undefined1 *)(param_1 + 0x58) = 0;\n  FUN_0045b0a0(param_1);\n  return;\n}" { (declaration "short sVar1;" (sized_type_specifier "short" short) identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar7;" type_identifier identifier ;) (declaration "ulong uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "ushort uVar10;" type_identifier identifier ;) (declaration "undefined1 auVar11 [16];" type_identifier (array_declarator "auVar11 [16]" identifier [ number_literal ]) ;) (declaration "undefined8 local_60;" type_identifier identifier ;) (declaration "long local_58;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_50;" (sized_type_specifier "long" long) identifier ;) (declaration "long *local_48;" (sized_type_specifier "long" long) (pointer_declarator "*local_48" * identifier) ;) (declaration "ulong local_40;" type_identifier identifier ;) (declaration "uint local_38;" type_identifier identifier ;) (declaration "uint local_34;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (if_statement "if (param_2 != 0) {\n    iVar4 = *(int *)(param_1 + 0xc);\n    local_50 = param_3;\n    if (*(char *)(param_1 + 0x10) == '\0') {\n      if (iVar4 == 0x20) {\n        local_58 = param_2 + 0x28;\n        lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n        local_40 = (ulong)*(uint *)(lVar6 + 0x20);\n        local_38 = (uint)*(ushort *)(lVar6 + 0x30);\n        local_30 = 0;\n        local_34 = (uint)*(ushort *)(lVar6 + 0x32);\n        sVar1 = *(short *)(lVar6 + 0x28);\n        local_48 = &local_58;\n        if (sVar1 != 0x34) {\n          uVar7 = gettext("bad e_ehsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x34);\n        }\n        sVar1 = *(short *)(lVar6 + 0x2e);\n        if (sVar1 != 0x28) {\n          uVar7 = gettext("bad e_shentsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x28);\n        }\n        uVar9 = 1;\n        FUN_001a8070(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n      else {\n        if (iVar4 != 0x40) {\n                    \n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        local_58 = param_2 + 0x28;\n        uVar9 = 1;\n        local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n        FUN_001c2b00(&local_48,&local_58,&local_60);\n        FUN_001a8200(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n    }\n    else if (iVar4 == 0x20) {\n      local_58 = param_2 + 0x28;\n      lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n      uVar3 = *(uint *)(lVar6 + 0x20);\n      local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n      local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8);\n      local_30 = 0;\n      local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8);\n      uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8;\n      local_48 = &local_58;\n      if (uVar10 != 0x34) {\n        uVar7 = gettext("bad e_ehsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x34);\n      }\n      uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8;\n      if (uVar10 != 0x28) {\n        uVar7 = gettext("bad e_shentsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x28);\n      }\n      uVar9 = 1;\n      FUN_001a7d30(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n    else {\n      if (iVar4 != 0x40) {\n                    \n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      local_58 = param_2 + 0x28;\n      uVar9 = 1;\n      local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n      FUN_001c27f0(&local_48,&local_58,&local_60);\n      FUN_001a7ed0(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n  }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar4 = *(int *)(param_1 + 0xc);\n    local_50 = param_3;\n    if (*(char *)(param_1 + 0x10) == '\0') {\n      if (iVar4 == 0x20) {\n        local_58 = param_2 + 0x28;\n        lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n        local_40 = (ulong)*(uint *)(lVar6 + 0x20);\n        local_38 = (uint)*(ushort *)(lVar6 + 0x30);\n        local_30 = 0;\n        local_34 = (uint)*(ushort *)(lVar6 + 0x32);\n        sVar1 = *(short *)(lVar6 + 0x28);\n        local_48 = &local_58;\n        if (sVar1 != 0x34) {\n          uVar7 = gettext("bad e_ehsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x34);\n        }\n        sVar1 = *(short *)(lVar6 + 0x2e);\n        if (sVar1 != 0x28) {\n          uVar7 = gettext("bad e_shentsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x28);\n        }\n        uVar9 = 1;\n        FUN_001a8070(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n      else {\n        if (iVar4 != 0x40) {\n                    \n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        local_58 = param_2 + 0x28;\n        uVar9 = 1;\n        local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n        FUN_001c2b00(&local_48,&local_58,&local_60);\n        FUN_001a8200(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n    }\n    else if (iVar4 == 0x20) {\n      local_58 = param_2 + 0x28;\n      lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n      uVar3 = *(uint *)(lVar6 + 0x20);\n      local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n      local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8);\n      local_30 = 0;\n      local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8);\n      uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8;\n      local_48 = &local_58;\n      if (uVar10 != 0x34) {\n        uVar7 = gettext("bad e_ehsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x34);\n      }\n      uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8;\n      if (uVar10 != 0x28) {\n        uVar7 = gettext("bad e_shentsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x28);\n      }\n      uVar9 = 1;\n      FUN_001a7d30(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n    else {\n      if (iVar4 != 0x40) {\n                    \n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      local_58 = param_2 + 0x28;\n      uVar9 = 1;\n      local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n      FUN_001c27f0(&local_48,&local_58,&local_60);\n      FUN_001a7ed0(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n  }" { (expression_statement "iVar4 = *(int *)(param_1 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_1 + 0xc)" identifier = (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "local_50 = param_3;" (assignment_expression "local_50 = param_3" identifier = identifier) ;) (if_statement "if (*(char *)(param_1 + 0x10) == '\0') {\n      if (iVar4 == 0x20) {\n        local_58 = param_2 + 0x28;\n        lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n        local_40 = (ulong)*(uint *)(lVar6 + 0x20);\n        local_38 = (uint)*(ushort *)(lVar6 + 0x30);\n        local_30 = 0;\n        local_34 = (uint)*(ushort *)(lVar6 + 0x32);\n        sVar1 = *(short *)(lVar6 + 0x28);\n        local_48 = &local_58;\n        if (sVar1 != 0x34) {\n          uVar7 = gettext("bad e_ehsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x34);\n        }\n        sVar1 = *(short *)(lVar6 + 0x2e);\n        if (sVar1 != 0x28) {\n          uVar7 = gettext("bad e_shentsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x28);\n        }\n        uVar9 = 1;\n        FUN_001a8070(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n      else {\n        if (iVar4 != 0x40) {\n                    \n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        local_58 = param_2 + 0x28;\n        uVar9 = 1;\n        local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n        FUN_001c2b00(&local_48,&local_58,&local_60);\n        FUN_001a8200(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n    }\n    else if (iVar4 == 0x20) {\n      local_58 = param_2 + 0x28;\n      lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n      uVar3 = *(uint *)(lVar6 + 0x20);\n      local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n      local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8);\n      local_30 = 0;\n      local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8);\n      uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8;\n      local_48 = &local_58;\n      if (uVar10 != 0x34) {\n        uVar7 = gettext("bad e_ehsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x34);\n      }\n      uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8;\n      if (uVar10 != 0x28) {\n        uVar7 = gettext("bad e_shentsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x28);\n      }\n      uVar9 = 1;\n      FUN_001a7d30(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n    else {\n      if (iVar4 != 0x40) {\n                    \n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      local_58 = param_2 + 0x28;\n      uVar9 = 1;\n      local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n      FUN_001c27f0(&local_48,&local_58,&local_60);\n      FUN_001a7ed0(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x10) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x10) == '\0'" (pointer_expression "*(char *)(param_1 + 0x10)" * (cast_expression "(char *)(param_1 + 0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if (iVar4 == 0x20) {\n        local_58 = param_2 + 0x28;\n        lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n        local_40 = (ulong)*(uint *)(lVar6 + 0x20);\n        local_38 = (uint)*(ushort *)(lVar6 + 0x30);\n        local_30 = 0;\n        local_34 = (uint)*(ushort *)(lVar6 + 0x32);\n        sVar1 = *(short *)(lVar6 + 0x28);\n        local_48 = &local_58;\n        if (sVar1 != 0x34) {\n          uVar7 = gettext("bad e_ehsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x34);\n        }\n        sVar1 = *(short *)(lVar6 + 0x2e);\n        if (sVar1 != 0x28) {\n          uVar7 = gettext("bad e_shentsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x28);\n        }\n        uVar9 = 1;\n        FUN_001a8070(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n      else {\n        if (iVar4 != 0x40) {\n                    \n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        local_58 = param_2 + 0x28;\n        uVar9 = 1;\n        local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n        FUN_001c2b00(&local_48,&local_58,&local_60);\n        FUN_001a8200(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n    }" { (if_statement "if (iVar4 == 0x20) {\n        local_58 = param_2 + 0x28;\n        lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n        local_40 = (ulong)*(uint *)(lVar6 + 0x20);\n        local_38 = (uint)*(ushort *)(lVar6 + 0x30);\n        local_30 = 0;\n        local_34 = (uint)*(ushort *)(lVar6 + 0x32);\n        sVar1 = *(short *)(lVar6 + 0x28);\n        local_48 = &local_58;\n        if (sVar1 != 0x34) {\n          uVar7 = gettext("bad e_ehsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x34);\n        }\n        sVar1 = *(short *)(lVar6 + 0x2e);\n        if (sVar1 != 0x28) {\n          uVar7 = gettext("bad e_shentsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x28);\n        }\n        uVar9 = 1;\n        FUN_001a8070(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n      else {\n        if (iVar4 != 0x40) {\n                    \n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        local_58 = param_2 + 0x28;\n        uVar9 = 1;\n        local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n        FUN_001c2b00(&local_48,&local_58,&local_60);\n        FUN_001a8200(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }" if (parenthesized_expression "(iVar4 == 0x20)" ( (binary_expression "iVar4 == 0x20" identifier == number_literal) )) (compound_statement "{\n        local_58 = param_2 + 0x28;\n        lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n        local_40 = (ulong)*(uint *)(lVar6 + 0x20);\n        local_38 = (uint)*(ushort *)(lVar6 + 0x30);\n        local_30 = 0;\n        local_34 = (uint)*(ushort *)(lVar6 + 0x32);\n        sVar1 = *(short *)(lVar6 + 0x28);\n        local_48 = &local_58;\n        if (sVar1 != 0x34) {\n          uVar7 = gettext("bad e_ehsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x34);\n        }\n        sVar1 = *(short *)(lVar6 + 0x2e);\n        if (sVar1 != 0x28) {\n          uVar7 = gettext("bad e_shentsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x28);\n        }\n        uVar9 = 1;\n        FUN_001a8070(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }" { (expression_statement "local_58 = param_2 + 0x28;" (assignment_expression "local_58 = param_2 + 0x28" identifier = (binary_expression "param_2 + 0x28" identifier + number_literal)) ;) (expression_statement "lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);" (assignment_expression "lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0)" identifier = (call_expression "FUN_0034d600(local_58,param_3,0,0x34,1,0)" identifier (argument_list "(local_58,param_3,0,0x34,1,0)" ( identifier , identifier , number_literal , number_literal , number_literal , number_literal )))) ;) (expression_statement "local_40 = (ulong)*(uint *)(lVar6 + 0x20);" (assignment_expression "local_40 = (ulong)*(uint *)(lVar6 + 0x20)" identifier = (binary_expression "(ulong)*(uint *)(lVar6 + 0x20)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(lVar6 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x20)" ( (binary_expression "lVar6 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "local_38 = (uint)*(ushort *)(lVar6 + 0x30);" (assignment_expression "local_38 = (uint)*(ushort *)(lVar6 + 0x30)" identifier = (binary_expression "(uint)*(ushort *)(lVar6 + 0x30)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(lVar6 + 0x30)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x30)" ( (binary_expression "lVar6 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_34 = (uint)*(ushort *)(lVar6 + 0x32);" (assignment_expression "local_34 = (uint)*(ushort *)(lVar6 + 0x32)" identifier = (binary_expression "(uint)*(ushort *)(lVar6 + 0x32)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(lVar6 + 0x32)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x32)" ( (binary_expression "lVar6 + 0x32" identifier + number_literal) ))))) ;) (expression_statement "sVar1 = *(short *)(lVar6 + 0x28);" (assignment_expression "sVar1 = *(short *)(lVar6 + 0x28)" identifier = (pointer_expression "*(short *)(lVar6 + 0x28)" * (cast_expression "(short *)(lVar6 + 0x28)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x28)" ( (binary_expression "lVar6 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "local_48 = &local_58;" (assignment_expression "local_48 = &local_58" identifier = (pointer_expression "&local_58" & identifier)) ;) (if_statement "if (sVar1 != 0x34) {\n          uVar7 = gettext("bad e_ehsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x34);\n        }" if (parenthesized_expression "(sVar1 != 0x34)" ( (binary_expression "sVar1 != 0x34" identifier != number_literal) )) (compound_statement "{\n          uVar7 = gettext("bad e_ehsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x34);\n        }" { (expression_statement "uVar7 = gettext("bad e_ehsize (%d != %d)");" (assignment_expression "uVar7 = gettext("bad e_ehsize (%d != %d)")" identifier = (call_expression "gettext("bad e_ehsize (%d != %d)")" identifier (argument_list "("bad e_ehsize (%d != %d)")" ( (string_literal ""bad e_ehsize (%d != %d)"" " string_content ") )))) ;) (expression_statement "FUN_003926c0(&local_58,uVar7,sVar1,0x34);" (call_expression "FUN_003926c0(&local_58,uVar7,sVar1,0x34)" identifier (argument_list "(&local_58,uVar7,sVar1,0x34)" ( (pointer_expression "&local_58" & identifier) , identifier , identifier , number_literal ))) ;) })) (expression_statement "sVar1 = *(short *)(lVar6 + 0x2e);" (assignment_expression "sVar1 = *(short *)(lVar6 + 0x2e)" identifier = (pointer_expression "*(short *)(lVar6 + 0x2e)" * (cast_expression "(short *)(lVar6 + 0x2e)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x2e)" ( (binary_expression "lVar6 + 0x2e" identifier + number_literal) ))))) ;) (if_statement "if (sVar1 != 0x28) {\n          uVar7 = gettext("bad e_shentsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x28);\n        }" if (parenthesized_expression "(sVar1 != 0x28)" ( (binary_expression "sVar1 != 0x28" identifier != number_literal) )) (compound_statement "{\n          uVar7 = gettext("bad e_shentsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x28);\n        }" { (expression_statement "uVar7 = gettext("bad e_shentsize (%d != %d)");" (assignment_expression "uVar7 = gettext("bad e_shentsize (%d != %d)")" identifier = (call_expression "gettext("bad e_shentsize (%d != %d)")" identifier (argument_list "("bad e_shentsize (%d != %d)")" ( (string_literal ""bad e_shentsize (%d != %d)"" " string_content ") )))) ;) (expression_statement "FUN_003926c0(&local_58,uVar7,sVar1,0x28);" (call_expression "FUN_003926c0(&local_58,uVar7,sVar1,0x28)" identifier (argument_list "(&local_58,uVar7,sVar1,0x28)" ( (pointer_expression "&local_58" & identifier) , identifier , identifier , number_literal ))) ;) })) (expression_statement "uVar9 = 1;" (assignment_expression "uVar9 = 1" identifier = number_literal) ;) (expression_statement "FUN_001a8070(&local_48);" (call_expression "FUN_001a8070(&local_48)" identifier (argument_list "(&local_48)" ( (pointer_expression "&local_48" & identifier) ))) ;) (expression_statement "uVar3 = local_38;" (assignment_expression "uVar3 = local_38" identifier = identifier) ;) (if_statement "if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }" if (parenthesized_expression "(1 < local_38)" ( (binary_expression "1 < local_38" number_literal < identifier) )) (compound_statement "{\n          do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }" { (do_statement "do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);" do (compound_statement "{\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          }" { (expression_statement "iVar4 = FUN_001c29e0(&local_48,uVar9);" (assignment_expression "iVar4 = FUN_001c29e0(&local_48,uVar9)" identifier = (call_expression "FUN_001c29e0(&local_48,uVar9)" identifier (argument_list "(&local_48,uVar9)" ( (pointer_expression "&local_48" & identifier) , identifier )))) ;) (if_statement "if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }" if (parenthesized_expression "(iVar4 == 7)" ( (binary_expression "iVar4 == 7" identifier == number_literal) )) (compound_statement "{\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }" { (expression_statement "auVar11 = FUN_001c2a70(&local_48,uVar9);" (assignment_expression "auVar11 = FUN_001c2a70(&local_48,uVar9)" identifier = (call_expression "FUN_001c2a70(&local_48,uVar9)" identifier (argument_list "(&local_48,uVar9)" ( (pointer_expression "&local_48" & identifier) , identifier )))) ;) (if_statement "if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;" if (parenthesized_expression "(((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0))))))" ( (binary_expression "((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))" (parenthesized_expression "((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U))" ( (binary_expression "(((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)" (parenthesized_expression "(((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5))" ( (binary_expression "((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)" (parenthesized_expression "((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)" ( (binary_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_" (binary_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14" (parenthesized_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc)" ( (binary_expression "*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc" (binary_expression "*(long *)(param_1 + 0x68) + 4U" (pointer_expression "*(long *)(param_1 + 0x68)" * (cast_expression "(long *)(param_1 + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) + number_literal) & number_literal) )) + number_literal) <= (field_expression "auVar11._8_8_" identifier . field_identifier)) )) && (parenthesized_expression "(piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)" ( (comma_expression "piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5" (assignment_expression "piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0)" identifier = (cast_expression "(int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0)" identifier (argument_list "(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0)" ( identifier , (binary_expression "auVar11._0_8_ + local_50" (field_expression "auVar11._0_8_" identifier . field_identifier) + identifier) , number_literal , (field_expression "auVar11._8_8_" identifier . field_identifier) , number_literal , number_literal ))))) , (binary_expression "*piVar5 == 5" (pointer_expression "*piVar5" * identifier) == number_literal)) ))) )) && (parenthesized_expression "((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)" ( (binary_expression "(ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U" (cast_expression "(ulong)(uint)piVar5[1]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)piVar5[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar5[1]" identifier [ number_literal ]))) == (binary_expression "*(long *)(param_1 + 0x68) + 1U" (pointer_expression "*(long *)(param_1 + 0x68)" * (cast_expression "(long *)(param_1 + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) + number_literal)) ))) )) && (parenthesized_expression "(((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))" ( (parenthesized_expression "((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0))))" ( (binary_expression "(piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))" (parenthesized_expression "(piVar5[2] == 1 && (piVar5[3] == 0x6c43614e))" ( (binary_expression "piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)" (binary_expression "piVar5[2] == 1" (subscript_expression "piVar5[2]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "(piVar5[3] == 0x6c43614e)" ( (binary_expression "piVar5[3] == 0x6c43614e" (subscript_expression "piVar5[3]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "(((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))" ( (parenthesized_expression "((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0))" ( (binary_expression "(char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)" (binary_expression "(char)piVar5[4] == '\0'" (cast_expression "(char)piVar5[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar5[4]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)" ( (comma_expression "iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0" (assignment_expression "iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1])" identifier = (call_expression "memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1])" identifier (argument_list "(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1])" ( (binary_expression "piVar5 + 5" identifier + number_literal) , (pointer_expression "*(void **)(param_1 + 0x60)" * (cast_expression "(void **)(param_1 + 0x60)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) )))) , (cast_expression "(ulong)(uint)piVar5[1]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)piVar5[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar5[1]" identifier [ number_literal ]))) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) ))) )) ))) )) (goto_statement "goto LAB_002a49fc;" goto statement_identifier ;)) })) (expression_statement "uVar9 = uVar9 + 1;" (assignment_expression "uVar9 = uVar9 + 1" identifier = (binary_expression "uVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar3 != uVar9)" ( (binary_expression "uVar3 != uVar9" identifier != identifier) )) ;) })) }) (else_clause "else {\n        if (iVar4 != 0x40) {\n                    \n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        local_58 = param_2 + 0x28;\n        uVar9 = 1;\n        local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n        FUN_001c2b00(&local_48,&local_58,&local_60);\n        FUN_001a8200(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }" else (compound_statement "{\n        if (iVar4 != 0x40) {\n                    \n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        local_58 = param_2 + 0x28;\n        uVar9 = 1;\n        local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n        FUN_001c2b00(&local_48,&local_58,&local_60);\n        FUN_001a8200(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }" { (if_statement "if (iVar4 != 0x40) {\n                    \n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }" if (parenthesized_expression "(iVar4 != 0x40)" ( (binary_expression "iVar4 != 0x40" identifier != number_literal) )) (compound_statement "{\n                    \n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }" { (expression_statement "FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");" (call_expression "FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file")" identifier (argument_list "("../../gold/nacl.h",0xbd,"recognize_nacl_file")" ( (string_literal ""../../gold/nacl.h"" " string_content ") , number_literal , (string_literal ""recognize_nacl_file"" " string_content ") ))) ;) })) (expression_statement "local_58 = param_2 + 0x28;" (assignment_expression "local_58 = param_2 + 0x28" identifier = (binary_expression "param_2 + 0x28" identifier + number_literal)) ;) (expression_statement "uVar9 = 1;" (assignment_expression "uVar9 = 1" identifier = number_literal) ;) (expression_statement "local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);" (assignment_expression "local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0)" identifier = (call_expression "FUN_0034d600(local_58,param_3,0,0x40,1,0)" identifier (argument_list "(local_58,param_3,0,0x40,1,0)" ( identifier , identifier , number_literal , number_literal , number_literal , number_literal )))) ;) (expression_statement "FUN_001c2b00(&local_48,&local_58,&local_60);" (call_expression "FUN_001c2b00(&local_48,&local_58,&local_60)" identifier (argument_list "(&local_48,&local_58,&local_60)" ( (pointer_expression "&local_48" & identifier) , (pointer_expression "&local_58" & identifier) , (pointer_expression "&local_60" & identifier) ))) ;) (expression_statement "FUN_001a8200(&local_48);" (call_expression "FUN_001a8200(&local_48)" identifier (argument_list "(&local_48)" ( (pointer_expression "&local_48" & identifier) ))) ;) (expression_statement "uVar3 = local_38;" (assignment_expression "uVar3 = local_38" identifier = identifier) ;) (if_statement "if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }" if (parenthesized_expression "(1 < local_38)" ( (binary_expression "1 < local_38" number_literal < identifier) )) (compound_statement "{\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }" { (do_statement "do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);" do (compound_statement "{\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          }" { (expression_statement "iVar4 = FUN_001c2ba0(&local_48,uVar9);" (assignment_expression "iVar4 = FUN_001c2ba0(&local_48,uVar9)" identifier = (call_expression "FUN_001c2ba0(&local_48,uVar9)" identifier (argument_list "(&local_48,uVar9)" ( (pointer_expression "&local_48" & identifier) , identifier )))) ;) (if_statement "if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }" if (parenthesized_expression "(iVar4 == 7)" ( (binary_expression "iVar4 == 7" identifier == number_literal) )) (compound_statement "{\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }" { (expression_statement "auVar11 = FUN_001c2c30(&local_48,uVar9);" (assignment_expression "auVar11 = FUN_001c2c30(&local_48,uVar9)" identifier = (call_expression "FUN_001c2c30(&local_48,uVar9)" identifier (argument_list "(&local_48,uVar9)" ( (pointer_expression "&local_48" & identifier) , identifier )))) ;) (if_statement "if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;" if (parenthesized_expression "(((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0))" ( (binary_expression "((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)" (parenthesized_expression "((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))" ( (binary_expression "(((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))))" (parenthesized_expression "(((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5))" ( (binary_expression "((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)" (parenthesized_expression "((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)" ( (binary_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_" (binary_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14" (parenthesized_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc)" ( (binary_expression "*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc" (binary_expression "*(long *)(param_1 + 0x68) + 4U" (pointer_expression "*(long *)(param_1 + 0x68)" * (cast_expression "(long *)(param_1 + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) + number_literal) & number_literal) )) + number_literal) <= (field_expression "auVar11._8_8_" identifier . field_identifier)) )) && (parenthesized_expression "(piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)" ( (comma_expression "piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5" (assignment_expression "piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0)" identifier = (cast_expression "(int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0)" identifier (argument_list "(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0)" ( identifier , (binary_expression "auVar11._0_8_ + local_50" (field_expression "auVar11._0_8_" identifier . field_identifier) + identifier) , number_literal , (field_expression "auVar11._8_8_" identifier . field_identifier) , number_literal , number_literal ))))) , (binary_expression "*piVar5 == 5" (pointer_expression "*piVar5" * identifier) == number_literal)) ))) )) && (parenthesized_expression "(((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))))" ( (parenthesized_expression "((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))" ( (binary_expression "(ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))" (binary_expression "(ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U" (cast_expression "(ulong)(uint)piVar5[1]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)piVar5[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar5[1]" identifier [ number_literal ]))) == (binary_expression "*(long *)(param_1 + 0x68) + 1U" (pointer_expression "*(long *)(param_1 + 0x68)" * (cast_expression "(long *)(param_1 + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) + number_literal)) && (parenthesized_expression "(((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))" ( (parenthesized_expression "((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))" ( (binary_expression "(piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')" (parenthesized_expression "(piVar5[2] == 1 && (piVar5[3] == 0x6c43614e))" ( (binary_expression "piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)" (binary_expression "piVar5[2] == 1" (subscript_expression "piVar5[2]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "(piVar5[3] == 0x6c43614e)" ( (binary_expression "piVar5[3] == 0x6c43614e" (subscript_expression "piVar5[3]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "((char)piVar5[4] == '\0')" ( (binary_expression "(char)piVar5[4] == '\0'" (cast_expression "(char)piVar5[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar5[4]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) ))) )) && (parenthesized_expression "(iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)" ( (comma_expression "iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0" (assignment_expression "iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1])" identifier = (call_expression "memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1])" identifier (argument_list "(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1])" ( (binary_expression "piVar5 + 5" identifier + number_literal) , (pointer_expression "*(void **)(param_1 + 0x60)" * (cast_expression "(void **)(param_1 + 0x60)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) )))) , (cast_expression "(ulong)(uint)piVar5[1]" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)piVar5[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar5[1]" identifier [ number_literal ]))) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_002a49fc;" goto statement_identifier ;)) })) (expression_statement "uVar9 = uVar9 + 1;" (assignment_expression "uVar9 = uVar9 + 1" identifier = (binary_expression "uVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar3 != uVar9)" ( (binary_expression "uVar3 != uVar9" identifier != identifier) )) ;) })) }))) }) (else_clause "else if (iVar4 == 0x20) {\n      local_58 = param_2 + 0x28;\n      lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n      uVar3 = *(uint *)(lVar6 + 0x20);\n      local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n      local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8);\n      local_30 = 0;\n      local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8);\n      uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8;\n      local_48 = &local_58;\n      if (uVar10 != 0x34) {\n        uVar7 = gettext("bad e_ehsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x34);\n      }\n      uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8;\n      if (uVar10 != 0x28) {\n        uVar7 = gettext("bad e_shentsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x28);\n      }\n      uVar9 = 1;\n      FUN_001a7d30(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n    else {\n      if (iVar4 != 0x40) {\n                    \n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      local_58 = param_2 + 0x28;\n      uVar9 = 1;\n      local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n      FUN_001c27f0(&local_48,&local_58,&local_60);\n      FUN_001a7ed0(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }" else (if_statement "if (iVar4 == 0x20) {\n      local_58 = param_2 + 0x28;\n      lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n      uVar3 = *(uint *)(lVar6 + 0x20);\n      local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n      local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8);\n      local_30 = 0;\n      local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8);\n      uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8;\n      local_48 = &local_58;\n      if (uVar10 != 0x34) {\n        uVar7 = gettext("bad e_ehsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x34);\n      }\n      uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8;\n      if (uVar10 != 0x28) {\n        uVar7 = gettext("bad e_shentsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x28);\n      }\n      uVar9 = 1;\n      FUN_001a7d30(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n    else {\n      if (iVar4 != 0x40) {\n                    \n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      local_58 = param_2 + 0x28;\n      uVar9 = 1;\n      local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n      FUN_001c27f0(&local_48,&local_58,&local_60);\n      FUN_001a7ed0(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }" if (parenthesized_expression "(iVar4 == 0x20)" ( (binary_expression "iVar4 == 0x20" identifier == number_literal) )) (compound_statement "{\n      local_58 = param_2 + 0x28;\n      lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n      uVar3 = *(uint *)(lVar6 + 0x20);\n      local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n      local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8);\n      local_30 = 0;\n      local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8);\n      uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8;\n      local_48 = &local_58;\n      if (uVar10 != 0x34) {\n        uVar7 = gettext("bad e_ehsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x34);\n      }\n      uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8;\n      if (uVar10 != 0x28) {\n        uVar7 = gettext("bad e_shentsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x28);\n      }\n      uVar9 = 1;\n      FUN_001a7d30(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }" { (expression_statement "local_58 = param_2 + 0x28;" (assignment_expression "local_58 = param_2 + 0x28" identifier = (binary_expression "param_2 + 0x28" identifier + number_literal)) ;) (expression_statement "lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);" (assignment_expression "lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0)" identifier = (call_expression "FUN_0034d600(local_58,param_3,0,0x34,1,0)" identifier (argument_list "(local_58,param_3,0,0x34,1,0)" ( identifier , identifier , number_literal , number_literal , number_literal , number_literal )))) ;) (expression_statement "uVar3 = *(uint *)(lVar6 + 0x20);" (assignment_expression "uVar3 = *(uint *)(lVar6 + 0x20)" identifier = (pointer_expression "*(uint *)(lVar6 + 0x20)" * (cast_expression "(uint *)(lVar6 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x20)" ( (binary_expression "lVar6 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);" (assignment_expression "local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18)" identifier = (call_expression "(ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18)" ( (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8" (binary_expression "uVar3 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar3 & 0xff0000) >> 8" (parenthesized_expression "(uVar3 & 0xff0000)" ( (binary_expression "uVar3 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar3 & 0xff00) << 8" (parenthesized_expression "(uVar3 & 0xff00)" ( (binary_expression "uVar3 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar3 << 0x18" identifier << number_literal)) )))) ;) (expression_statement "local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8);" (assignment_expression "local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8)" identifier = (call_expression "(uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8)" (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ushort)" ( identifier ))) (argument_list "(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8)" ( (binary_expression "*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8" (binary_expression "*(ushort *)(lVar6 + 0x30) << 8" (pointer_expression "*(ushort *)(lVar6 + 0x30)" * (cast_expression "(ushort *)(lVar6 + 0x30)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x30)" ( (binary_expression "lVar6 + 0x30" identifier + number_literal) )))) << number_literal) | (binary_expression "*(ushort *)(lVar6 + 0x30) >> 8" (pointer_expression "*(ushort *)(lVar6 + 0x30)" * (cast_expression "(ushort *)(lVar6 + 0x30)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x30)" ( (binary_expression "lVar6 + 0x30" identifier + number_literal) )))) >> number_literal)) )))) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8);" (assignment_expression "local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8)" identifier = (call_expression "(uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8)" (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ushort)" ( identifier ))) (argument_list "(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8)" ( (binary_expression "*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8" (binary_expression "*(ushort *)(lVar6 + 0x32) << 8" (pointer_expression "*(ushort *)(lVar6 + 0x32)" * (cast_expression "(ushort *)(lVar6 + 0x32)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x32)" ( (binary_expression "lVar6 + 0x32" identifier + number_literal) )))) << number_literal) | (binary_expression "*(ushort *)(lVar6 + 0x32) >> 8" (pointer_expression "*(ushort *)(lVar6 + 0x32)" * (cast_expression "(ushort *)(lVar6 + 0x32)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x32)" ( (binary_expression "lVar6 + 0x32" identifier + number_literal) )))) >> number_literal)) )))) ;) (expression_statement "uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8;" (assignment_expression "uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8" identifier = (binary_expression "*(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8" (binary_expression "*(ushort *)(lVar6 + 0x28) << 8" (pointer_expression "*(ushort *)(lVar6 + 0x28)" * (cast_expression "(ushort *)(lVar6 + 0x28)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x28)" ( (binary_expression "lVar6 + 0x28" identifier + number_literal) )))) << number_literal) | (binary_expression "*(ushort *)(lVar6 + 0x28) >> 8" (pointer_expression "*(ushort *)(lVar6 + 0x28)" * (cast_expression "(ushort *)(lVar6 + 0x28)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x28)" ( (binary_expression "lVar6 + 0x28" identifier + number_literal) )))) >> number_literal))) ;) (expression_statement "local_48 = &local_58;" (assignment_expression "local_48 = &local_58" identifier = (pointer_expression "&local_58" & identifier)) ;) (if_statement "if (uVar10 != 0x34) {\n        uVar7 = gettext("bad e_ehsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x34);\n      }" if (parenthesized_expression "(uVar10 != 0x34)" ( (binary_expression "uVar10 != 0x34" identifier != number_literal) )) (compound_statement "{\n        uVar7 = gettext("bad e_ehsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x34);\n      }" { (expression_statement "uVar7 = gettext("bad e_ehsize (%d != %d)");" (assignment_expression "uVar7 = gettext("bad e_ehsize (%d != %d)")" identifier = (call_expression "gettext("bad e_ehsize (%d != %d)")" identifier (argument_list "("bad e_ehsize (%d != %d)")" ( (string_literal ""bad e_ehsize (%d != %d)"" " string_content ") )))) ;) (expression_statement "FUN_003926c0(&local_58,uVar7,uVar10,0x34);" (call_expression "FUN_003926c0(&local_58,uVar7,uVar10,0x34)" identifier (argument_list "(&local_58,uVar7,uVar10,0x34)" ( (pointer_expression "&local_58" & identifier) , identifier , identifier , number_literal ))) ;) })) (expression_statement "uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8;" (assignment_expression "uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8" identifier = (binary_expression "*(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8" (binary_expression "*(ushort *)(lVar6 + 0x2e) << 8" (pointer_expression "*(ushort *)(lVar6 + 0x2e)" * (cast_expression "(ushort *)(lVar6 + 0x2e)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x2e)" ( (binary_expression "lVar6 + 0x2e" identifier + number_literal) )))) << number_literal) | (binary_expression "*(ushort *)(lVar6 + 0x2e) >> 8" (pointer_expression "*(ushort *)(lVar6 + 0x2e)" * (cast_expression "(ushort *)(lVar6 + 0x2e)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x2e)" ( (binary_expression "lVar6 + 0x2e" identifier + number_literal) )))) >> number_literal))) ;) (if_statement "if (uVar10 != 0x28) {\n        uVar7 = gettext("bad e_shentsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x28);\n      }" if (parenthesized_expression "(uVar10 != 0x28)" ( (binary_expression "uVar10 != 0x28" identifier != number_literal) )) (compound_statement "{\n        uVar7 = gettext("bad e_shentsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x28);\n      }" { (expression_statement "uVar7 = gettext("bad e_shentsize (%d != %d)");" (assignment_expression "uVar7 = gettext("bad e_shentsize (%d != %d)")" identifier = (call_expression "gettext("bad e_shentsize (%d != %d)")" identifier (argument_list "("bad e_shentsize (%d != %d)")" ( (string_literal ""bad e_shentsize (%d != %d)"" " string_content ") )))) ;) (expression_statement "FUN_003926c0(&local_58,uVar7,uVar10,0x28);" (call_expression "FUN_003926c0(&local_58,uVar7,uVar10,0x28)" identifier (argument_list "(&local_58,uVar7,uVar10,0x28)" ( (pointer_expression "&local_58" & identifier) , identifier , identifier , number_literal ))) ;) })) (expression_statement "uVar9 = 1;" (assignment_expression "uVar9 = 1" identifier = number_literal) ;) (expression_statement "FUN_001a7d30(&local_48);" (call_expression "FUN_001a7d30(&local_48)" identifier (argument_list "(&local_48)" ( (pointer_expression "&local_48" & identifier) ))) ;) (expression_statement "uVar3 = local_38;" (assignment_expression "uVar3 = local_38" identifier = identifier) ;) (if_statement "if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }" if (parenthesized_expression "(1 < local_38)" ( (binary_expression "1 < local_38" number_literal < identifier) )) (compound_statement "{\n        do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }" { (do_statement "do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);" do (compound_statement "{\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        }" { (expression_statement "iVar4 = FUN_001c26c0(&local_48,uVar9);" (assignment_expression "iVar4 = FUN_001c26c0(&local_48,uVar9)" identifier = (call_expression "FUN_001c26c0(&local_48,uVar9)" identifier (argument_list "(&local_48,uVar9)" ( (pointer_expression "&local_48" & identifier) , identifier )))) ;) (if_statement "if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }" if (parenthesized_expression "(iVar4 == 7)" ( (binary_expression "iVar4 == 7" identifier == number_literal) )) (compound_statement "{\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }" { (expression_statement "auVar11 = FUN_001c2750(&local_48,uVar9);" (assignment_expression "auVar11 = FUN_001c2750(&local_48,uVar9)" identifier = (call_expression "FUN_001c2750(&local_48,uVar9)" identifier (argument_list "(&local_48,uVar9)" ( (pointer_expression "&local_48" & identifier) , identifier )))) ;) (if_statement "if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }" if (parenthesized_expression "(((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000))" ( (binary_expression "((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)" (parenthesized_expression "((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)" ( (binary_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_" (binary_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14" (parenthesized_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc)" ( (binary_expression "*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc" (binary_expression "*(long *)(param_1 + 0x68) + 4U" (pointer_expression "*(long *)(param_1 + 0x68)" * (cast_expression "(long *)(param_1 + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) + number_literal) & number_literal) )) + number_literal) <= (field_expression "auVar11._8_8_" identifier . field_identifier)) )) && (parenthesized_expression "(piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)" ( (comma_expression "piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000" (assignment_expression "piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0)" identifier = (cast_expression "(int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0)" identifier (argument_list "(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0)" ( identifier , (binary_expression "auVar11._0_8_ + local_50" (field_expression "auVar11._0_8_" identifier . field_identifier) + identifier) , number_literal , (field_expression "auVar11._8_8_" identifier . field_identifier) , number_literal , number_literal ))))) , (binary_expression "*piVar5 == 0x5000000" (pointer_expression "*piVar5" * identifier) == number_literal)) ))) )) (compound_statement "{\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }" { (expression_statement "uVar2 = piVar5[1];" (assignment_expression "uVar2 = piVar5[1]" identifier = (subscript_expression "piVar5[1]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);" (assignment_expression "uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18)" identifier = (call_expression "(ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18)" ( (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar2 << 0x18" identifier << number_literal)) )))) ;) (if_statement "if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;" if (parenthesized_expression "((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))" ( (binary_expression "(((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)" (parenthesized_expression "(((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0'))" ( (binary_expression "((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')" (parenthesized_expression "((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e))))" ( (binary_expression "(uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))" (parenthesized_expression "(uVar8 == *(long *)(param_1 + 0x68) + 1U)" ( (binary_expression "uVar8 == *(long *)(param_1 + 0x68) + 1U" identifier == (binary_expression "*(long *)(param_1 + 0x68) + 1U" (pointer_expression "*(long *)(param_1 + 0x68)" * (cast_expression "(long *)(param_1 + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) + number_literal)) )) && (parenthesized_expression "((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))" ( (parenthesized_expression "(piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e))" ( (binary_expression "piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)" (binary_expression "piVar5[2] == 0x1000000" (subscript_expression "piVar5[2]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "(piVar5[3] == 0x6c43614e)" ( (binary_expression "piVar5[3] == 0x6c43614e" (subscript_expression "piVar5[3]" identifier [ number_literal ]) == number_literal) ))) )) ))) )) && (parenthesized_expression "((char)piVar5[4] == '\0')" ( (binary_expression "(char)piVar5[4] == '\0'" (cast_expression "(char)piVar5[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar5[4]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)" ( (comma_expression "iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0" (assignment_expression "iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8)" identifier = (call_expression "memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8)" identifier (argument_list "(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8)" ( (binary_expression "piVar5 + 5" identifier + number_literal) , (pointer_expression "*(void **)(param_1 + 0x60)" * (cast_expression "(void **)(param_1 + 0x60)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) )))) , identifier )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_002a49fc;" goto statement_identifier ;)) })) })) (expression_statement "uVar9 = uVar9 + 1;" (assignment_expression "uVar9 = uVar9 + 1" identifier = (binary_expression "uVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar3 != uVar9)" ( (binary_expression "uVar3 != uVar9" identifier != identifier) )) ;) })) }) (else_clause "else {\n      if (iVar4 != 0x40) {\n                    \n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      local_58 = param_2 + 0x28;\n      uVar9 = 1;\n      local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n      FUN_001c27f0(&local_48,&local_58,&local_60);\n      FUN_001a7ed0(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }" else (compound_statement "{\n      if (iVar4 != 0x40) {\n                    \n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      local_58 = param_2 + 0x28;\n      uVar9 = 1;\n      local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n      FUN_001c27f0(&local_48,&local_58,&local_60);\n      FUN_001a7ed0(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }" { (if_statement "if (iVar4 != 0x40) {\n                    \n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }" if (parenthesized_expression "(iVar4 != 0x40)" ( (binary_expression "iVar4 != 0x40" identifier != number_literal) )) (compound_statement "{\n                    \n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }" { (expression_statement "FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");" (call_expression "FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file")" identifier (argument_list "("../../gold/nacl.h",0xaf,"recognize_nacl_file")" ( (string_literal ""../../gold/nacl.h"" " string_content ") , number_literal , (string_literal ""recognize_nacl_file"" " string_content ") ))) ;) })) (expression_statement "local_58 = param_2 + 0x28;" (assignment_expression "local_58 = param_2 + 0x28" identifier = (binary_expression "param_2 + 0x28" identifier + number_literal)) ;) (expression_statement "uVar9 = 1;" (assignment_expression "uVar9 = 1" identifier = number_literal) ;) (expression_statement "local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);" (assignment_expression "local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0)" identifier = (call_expression "FUN_0034d600(local_58,param_3,0,0x40,1,0)" identifier (argument_list "(local_58,param_3,0,0x40,1,0)" ( identifier , identifier , number_literal , number_literal , number_literal , number_literal )))) ;) (expression_statement "FUN_001c27f0(&local_48,&local_58,&local_60);" (call_expression "FUN_001c27f0(&local_48,&local_58,&local_60)" identifier (argument_list "(&local_48,&local_58,&local_60)" ( (pointer_expression "&local_48" & identifier) , (pointer_expression "&local_58" & identifier) , (pointer_expression "&local_60" & identifier) ))) ;) (expression_statement "FUN_001a7ed0(&local_48);" (call_expression "FUN_001a7ed0(&local_48)" identifier (argument_list "(&local_48)" ( (pointer_expression "&local_48" & identifier) ))) ;) (expression_statement "uVar3 = local_38;" (assignment_expression "uVar3 = local_38" identifier = identifier) ;) (if_statement "if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }" if (parenthesized_expression "(1 < local_38)" ( (binary_expression "1 < local_38" number_literal < identifier) )) (compound_statement "{\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }" { (do_statement "do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);" do (compound_statement "{\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        }" { (expression_statement "iVar4 = FUN_001c28b0(&local_48,uVar9);" (assignment_expression "iVar4 = FUN_001c28b0(&local_48,uVar9)" identifier = (call_expression "FUN_001c28b0(&local_48,uVar9)" identifier (argument_list "(&local_48,uVar9)" ( (pointer_expression "&local_48" & identifier) , identifier )))) ;) (if_statement "if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }" if (parenthesized_expression "(iVar4 == 7)" ( (binary_expression "iVar4 == 7" identifier == number_literal) )) (compound_statement "{\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }" { (expression_statement "auVar11 = FUN_001c2940(&local_48,uVar9);" (assignment_expression "auVar11 = FUN_001c2940(&local_48,uVar9)" identifier = (call_expression "FUN_001c2940(&local_48,uVar9)" identifier (argument_list "(&local_48,uVar9)" ( (pointer_expression "&local_48" & identifier) , identifier )))) ;) (if_statement "if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }" if (parenthesized_expression "(((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000))" ( (binary_expression "((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)" (parenthesized_expression "((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)" ( (binary_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_" (binary_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14" (parenthesized_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc)" ( (binary_expression "*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc" (binary_expression "*(long *)(param_1 + 0x68) + 4U" (pointer_expression "*(long *)(param_1 + 0x68)" * (cast_expression "(long *)(param_1 + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) + number_literal) & number_literal) )) + number_literal) <= (field_expression "auVar11._8_8_" identifier . field_identifier)) )) && (parenthesized_expression "(piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)" ( (comma_expression "piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000" (assignment_expression "piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0)" identifier = (cast_expression "(int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0)" identifier (argument_list "(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0)" ( identifier , (binary_expression "auVar11._0_8_ + local_50" (field_expression "auVar11._0_8_" identifier . field_identifier) + identifier) , number_literal , (field_expression "auVar11._8_8_" identifier . field_identifier) , number_literal , number_literal ))))) , (binary_expression "*piVar5 == 0x5000000" (pointer_expression "*piVar5" * identifier) == number_literal)) ))) )) (compound_statement "{\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }" { (expression_statement "uVar2 = piVar5[1];" (assignment_expression "uVar2 = piVar5[1]" identifier = (subscript_expression "piVar5[1]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);" (assignment_expression "uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18)" identifier = (call_expression "(ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18)" ( (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar2 << 0x18" identifier << number_literal)) )))) ;) (if_statement "if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }" if (parenthesized_expression "((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))))" ( (binary_expression "(uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))" (parenthesized_expression "(uVar8 == *(long *)(param_1 + 0x68) + 1U)" ( (binary_expression "uVar8 == *(long *)(param_1 + 0x68) + 1U" identifier == (binary_expression "*(long *)(param_1 + 0x68) + 1U" (pointer_expression "*(long *)(param_1 + 0x68)" * (cast_expression "(long *)(param_1 + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) + number_literal)) )) && (parenthesized_expression "((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))" ( (parenthesized_expression "(((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))" ( (binary_expression "((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)" (parenthesized_expression "((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0'))" ( (binary_expression "(piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')" (parenthesized_expression "(piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e))" ( (binary_expression "piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)" (binary_expression "piVar5[2] == 0x1000000" (subscript_expression "piVar5[2]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "(piVar5[3] == 0x6c43614e)" ( (binary_expression "piVar5[3] == 0x6c43614e" (subscript_expression "piVar5[3]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "((char)piVar5[4] == '\0')" ( (binary_expression "(char)piVar5[4] == '\0'" (cast_expression "(char)piVar5[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar5[4]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)" ( (comma_expression "iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0" (assignment_expression "iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8)" identifier = (call_expression "memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8)" identifier (argument_list "(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8)" ( (binary_expression "piVar5 + 5" identifier + number_literal) , (pointer_expression "*(void **)(param_1 + 0x60)" * (cast_expression "(void **)(param_1 + 0x60)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) )))) , identifier )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) ))) )) (compound_statement "{\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }" { (labeled_statement "LAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;" statement_identifier : (expression_statement "*(undefined1 *)(param_1 + 0x58) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x58) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x58)" * (cast_expression "(undefined1 *)(param_1 + 0x58)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x58)" ( (binary_expression "param_1 + 0x58" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "FUN_0045b0a0(param_1);" (call_expression "FUN_0045b0a0(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (return_statement "return;" return ;) })) })) })) (expression_statement "uVar9 = uVar9 + 1;" (assignment_expression "uVar9 = uVar9 + 1" identifier = (binary_expression "uVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar3 != uVar9)" ( (binary_expression "uVar3 != uVar9" identifier != identifier) )) ;) })) }))))) })) (expression_statement "*(undefined1 *)(param_1 + 0x58) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x58) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x58)" * (cast_expression "(undefined1 *)(param_1 + 0x58)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x58)" ( (binary_expression "param_1 + 0x58" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0045b0a0(param_1);" (call_expression "FUN_0045b0a0(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) ))) (compound_statement { (declaration (sized_type_specifier short) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (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 = IDENT) ;) (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 { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , LIT , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (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 ( (string_literal " string_content ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) & LIT) )) + LIT) <= (field_expression IDENT . field_identifier)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (binary_expression (field_expression IDENT . field_identifier) + IDENT) , LIT , (field_expression IDENT . field_identifier) , LIT , LIT ))))) , (binary_expression (pointer_expression * IDENT) == LIT)) ))) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) == (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == (char_literal ' escape_sequence ')) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )))) , (binary_expression IDENT == LIT)) ))) )) ))) )) ))) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , LIT , LIT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) & LIT) )) + LIT) <= (field_expression IDENT . field_identifier)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (binary_expression (field_expression IDENT . field_identifier) + IDENT) , LIT , (field_expression IDENT . field_identifier) , LIT , LIT ))))) , (binary_expression (pointer_expression * IDENT) == LIT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) == (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == (char_literal ' escape_sequence ')) ))) )) ))) )) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )))) , (binary_expression IDENT == LIT)) ))) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , LIT , LIT , 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 (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT)) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) & LIT) )) + LIT) <= (field_expression IDENT . field_identifier)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (binary_expression (field_expression IDENT . field_identifier) + IDENT) , LIT , (field_expression IDENT . field_identifier) , LIT , LIT ))))) , (binary_expression (pointer_expression * IDENT) == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) ))) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == (char_literal ' escape_sequence ')) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (goto_statement goto statement_identifier ;)) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , LIT , LIT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) & LIT) )) + LIT) <= (field_expression IDENT . field_identifier)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (binary_expression (field_expression IDENT . field_identifier) + IDENT) , LIT , (field_expression IDENT . field_identifier) , LIT , LIT ))))) , (binary_expression (pointer_expression * IDENT) == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == (char_literal ' escape_sequence ')) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return ;) })) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) }))))) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return ;) })))
(function_definition "void FUN_002a4760(long param_1,long param_2,long param_3)\n\n{\n  short sVar1;\n  uint uVar2;\n  uint uVar3;\n  int iVar4;\n  int *piVar5;\n  long lVar6;\n  undefined8 uVar7;\n  ulong uVar8;\n  uint uVar9;\n  ushort uVar10;\n  undefined1 auVar11 [16];\n  undefined8 local_60;\n  long local_58;\n  long local_50;\n  long *local_48;\n  ulong local_40;\n  uint local_38;\n  uint local_34;\n  undefined4 local_30;\n  \n  if (param_2 != 0) {\n    iVar4 = *(int *)(param_1 + 0xc);\n    local_50 = param_3;\n    if (*(char *)(param_1 + 0x10) == '\0') {\n      if (iVar4 == 0x20) {\n        local_58 = param_2 + 0x28;\n        lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n        local_40 = (ulong)*(uint *)(lVar6 + 0x20);\n        local_38 = (uint)*(ushort *)(lVar6 + 0x30);\n        local_30 = 0;\n        local_34 = (uint)*(ushort *)(lVar6 + 0x32);\n        sVar1 = *(short *)(lVar6 + 0x28);\n        local_48 = &local_58;\n        if (sVar1 != 0x34) {\n          uVar7 = gettext("bad e_ehsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x34);\n        }\n        sVar1 = *(short *)(lVar6 + 0x2e);\n        if (sVar1 != 0x28) {\n          uVar7 = gettext("bad e_shentsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x28);\n        }\n        uVar9 = 1;\n        FUN_001a8070(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n      else {\n        if (iVar4 != 0x40) {\n                    \n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        local_58 = param_2 + 0x28;\n        uVar9 = 1;\n        local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n        FUN_001c2b00(&local_48,&local_58,&local_60);\n        FUN_001a8200(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n    }\n    else if (iVar4 == 0x20) {\n      local_58 = param_2 + 0x28;\n      lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n      uVar3 = *(uint *)(lVar6 + 0x20);\n      local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n      local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8);\n      local_30 = 0;\n      local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8);\n      uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8;\n      local_48 = &local_58;\n      if (uVar10 != 0x34) {\n        uVar7 = gettext("bad e_ehsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x34);\n      }\n      uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8;\n      if (uVar10 != 0x28) {\n        uVar7 = gettext("bad e_shentsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x28);\n      }\n      uVar9 = 1;\n      FUN_001a7d30(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n    else {\n      if (iVar4 != 0x40) {\n                    \n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      local_58 = param_2 + 0x28;\n      uVar9 = 1;\n      local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n      FUN_001c27f0(&local_48,&local_58,&local_60);\n      FUN_001a7ed0(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n  }\n  *(undefined1 *)(param_1 + 0x58) = 0;\n  FUN_0045b0a0(param_1);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_002a4760(long param_1,long param_2,long param_3)" (identifier "FUN_002a4760") (parameter_list "(long param_1,long param_2,long param_3)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "long param_2" (sized_type_specifier "long" (long "long")) (identifier "param_2")) (, ",") (parameter_declaration "long param_3" (sized_type_specifier "long" (long "long")) (identifier "param_3")) () ")"))) (compound_statement "{\n  short sVar1;\n  uint uVar2;\n  uint uVar3;\n  int iVar4;\n  int *piVar5;\n  long lVar6;\n  undefined8 uVar7;\n  ulong uVar8;\n  uint uVar9;\n  ushort uVar10;\n  undefined1 auVar11 [16];\n  undefined8 local_60;\n  long local_58;\n  long local_50;\n  long *local_48;\n  ulong local_40;\n  uint local_38;\n  uint local_34;\n  undefined4 local_30;\n  \n  if (param_2 != 0) {\n    iVar4 = *(int *)(param_1 + 0xc);\n    local_50 = param_3;\n    if (*(char *)(param_1 + 0x10) == '\0') {\n      if (iVar4 == 0x20) {\n        local_58 = param_2 + 0x28;\n        lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n        local_40 = (ulong)*(uint *)(lVar6 + 0x20);\n        local_38 = (uint)*(ushort *)(lVar6 + 0x30);\n        local_30 = 0;\n        local_34 = (uint)*(ushort *)(lVar6 + 0x32);\n        sVar1 = *(short *)(lVar6 + 0x28);\n        local_48 = &local_58;\n        if (sVar1 != 0x34) {\n          uVar7 = gettext("bad e_ehsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x34);\n        }\n        sVar1 = *(short *)(lVar6 + 0x2e);\n        if (sVar1 != 0x28) {\n          uVar7 = gettext("bad e_shentsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x28);\n        }\n        uVar9 = 1;\n        FUN_001a8070(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n      else {\n        if (iVar4 != 0x40) {\n                    \n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        local_58 = param_2 + 0x28;\n        uVar9 = 1;\n        local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n        FUN_001c2b00(&local_48,&local_58,&local_60);\n        FUN_001a8200(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n    }\n    else if (iVar4 == 0x20) {\n      local_58 = param_2 + 0x28;\n      lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n      uVar3 = *(uint *)(lVar6 + 0x20);\n      local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n      local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8);\n      local_30 = 0;\n      local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8);\n      uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8;\n      local_48 = &local_58;\n      if (uVar10 != 0x34) {\n        uVar7 = gettext("bad e_ehsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x34);\n      }\n      uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8;\n      if (uVar10 != 0x28) {\n        uVar7 = gettext("bad e_shentsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x28);\n      }\n      uVar9 = 1;\n      FUN_001a7d30(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n    else {\n      if (iVar4 != 0x40) {\n                    \n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      local_58 = param_2 + 0x28;\n      uVar9 = 1;\n      local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n      FUN_001c27f0(&local_48,&local_58,&local_60);\n      FUN_001a7ed0(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n  }\n  *(undefined1 *)(param_1 + 0x58) = 0;\n  FUN_0045b0a0(param_1);\n  return;\n}" ({ "{") (declaration "short sVar1;" (sized_type_specifier "short" (short "short")) (identifier "sVar1") (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "long lVar6;" (sized_type_specifier "long" (long "long")) (identifier "lVar6") (; ";")) (declaration "undefined8 uVar7;" (type_identifier "undefined8") (identifier "uVar7") (; ";")) (declaration "ulong uVar8;" (type_identifier "ulong") (identifier "uVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "ushort uVar10;" (type_identifier "ushort") (identifier "uVar10") (; ";")) (declaration "undefined1 auVar11 [16];" (type_identifier "undefined1") (array_declarator "auVar11 [16]" (identifier "auVar11") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined8 local_60;" (type_identifier "undefined8") (identifier "local_60") (; ";")) (declaration "long local_58;" (sized_type_specifier "long" (long "long")) (identifier "local_58") (; ";")) (declaration "long local_50;" (sized_type_specifier "long" (long "long")) (identifier "local_50") (; ";")) (declaration "long *local_48;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*local_48" (* "*") (identifier "local_48")) (; ";")) (declaration "ulong local_40;" (type_identifier "ulong") (identifier "local_40") (; ";")) (declaration "uint local_38;" (type_identifier "uint") (identifier "local_38") (; ";")) (declaration "uint local_34;" (type_identifier "uint") (identifier "local_34") (; ";")) (declaration "undefined4 local_30;" (type_identifier "undefined4") (identifier "local_30") (; ";")) (if_statement "if (param_2 != 0) {\n    iVar4 = *(int *)(param_1 + 0xc);\n    local_50 = param_3;\n    if (*(char *)(param_1 + 0x10) == '\0') {\n      if (iVar4 == 0x20) {\n        local_58 = param_2 + 0x28;\n        lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n        local_40 = (ulong)*(uint *)(lVar6 + 0x20);\n        local_38 = (uint)*(ushort *)(lVar6 + 0x30);\n        local_30 = 0;\n        local_34 = (uint)*(ushort *)(lVar6 + 0x32);\n        sVar1 = *(short *)(lVar6 + 0x28);\n        local_48 = &local_58;\n        if (sVar1 != 0x34) {\n          uVar7 = gettext("bad e_ehsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x34);\n        }\n        sVar1 = *(short *)(lVar6 + 0x2e);\n        if (sVar1 != 0x28) {\n          uVar7 = gettext("bad e_shentsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x28);\n        }\n        uVar9 = 1;\n        FUN_001a8070(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n      else {\n        if (iVar4 != 0x40) {\n                    \n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        local_58 = param_2 + 0x28;\n        uVar9 = 1;\n        local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n        FUN_001c2b00(&local_48,&local_58,&local_60);\n        FUN_001a8200(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n    }\n    else if (iVar4 == 0x20) {\n      local_58 = param_2 + 0x28;\n      lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n      uVar3 = *(uint *)(lVar6 + 0x20);\n      local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n      local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8);\n      local_30 = 0;\n      local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8);\n      uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8;\n      local_48 = &local_58;\n      if (uVar10 != 0x34) {\n        uVar7 = gettext("bad e_ehsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x34);\n      }\n      uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8;\n      if (uVar10 != 0x28) {\n        uVar7 = gettext("bad e_shentsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x28);\n      }\n      uVar9 = 1;\n      FUN_001a7d30(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n    else {\n      if (iVar4 != 0x40) {\n                    \n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      local_58 = param_2 + 0x28;\n      uVar9 = 1;\n      local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n      FUN_001c27f0(&local_48,&local_58,&local_60);\n      FUN_001a7ed0(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n  }" (if "if") (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar4 = *(int *)(param_1 + 0xc);\n    local_50 = param_3;\n    if (*(char *)(param_1 + 0x10) == '\0') {\n      if (iVar4 == 0x20) {\n        local_58 = param_2 + 0x28;\n        lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n        local_40 = (ulong)*(uint *)(lVar6 + 0x20);\n        local_38 = (uint)*(ushort *)(lVar6 + 0x30);\n        local_30 = 0;\n        local_34 = (uint)*(ushort *)(lVar6 + 0x32);\n        sVar1 = *(short *)(lVar6 + 0x28);\n        local_48 = &local_58;\n        if (sVar1 != 0x34) {\n          uVar7 = gettext("bad e_ehsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x34);\n        }\n        sVar1 = *(short *)(lVar6 + 0x2e);\n        if (sVar1 != 0x28) {\n          uVar7 = gettext("bad e_shentsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x28);\n        }\n        uVar9 = 1;\n        FUN_001a8070(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n      else {\n        if (iVar4 != 0x40) {\n                    \n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        local_58 = param_2 + 0x28;\n        uVar9 = 1;\n        local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n        FUN_001c2b00(&local_48,&local_58,&local_60);\n        FUN_001a8200(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n    }\n    else if (iVar4 == 0x20) {\n      local_58 = param_2 + 0x28;\n      lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n      uVar3 = *(uint *)(lVar6 + 0x20);\n      local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n      local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8);\n      local_30 = 0;\n      local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8);\n      uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8;\n      local_48 = &local_58;\n      if (uVar10 != 0x34) {\n        uVar7 = gettext("bad e_ehsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x34);\n      }\n      uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8;\n      if (uVar10 != 0x28) {\n        uVar7 = gettext("bad e_shentsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x28);\n      }\n      uVar9 = 1;\n      FUN_001a7d30(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n    else {\n      if (iVar4 != 0x40) {\n                    \n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      local_58 = param_2 + 0x28;\n      uVar9 = 1;\n      local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n      FUN_001c27f0(&local_48,&local_58,&local_60);\n      FUN_001a7ed0(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n  }" ({ "{") (expression_statement "iVar4 = *(int *)(param_1 + 0xc);" (assignment_expression "iVar4 = *(int *)(param_1 + 0xc)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_1 + 0xc)" (* "*") (cast_expression "(int *)(param_1 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "local_50 = param_3;" (assignment_expression "local_50 = param_3" (identifier "local_50") (= "=") (identifier "param_3")) (; ";")) (if_statement "if (*(char *)(param_1 + 0x10) == '\0') {\n      if (iVar4 == 0x20) {\n        local_58 = param_2 + 0x28;\n        lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n        local_40 = (ulong)*(uint *)(lVar6 + 0x20);\n        local_38 = (uint)*(ushort *)(lVar6 + 0x30);\n        local_30 = 0;\n        local_34 = (uint)*(ushort *)(lVar6 + 0x32);\n        sVar1 = *(short *)(lVar6 + 0x28);\n        local_48 = &local_58;\n        if (sVar1 != 0x34) {\n          uVar7 = gettext("bad e_ehsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x34);\n        }\n        sVar1 = *(short *)(lVar6 + 0x2e);\n        if (sVar1 != 0x28) {\n          uVar7 = gettext("bad e_shentsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x28);\n        }\n        uVar9 = 1;\n        FUN_001a8070(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n      else {\n        if (iVar4 != 0x40) {\n                    \n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        local_58 = param_2 + 0x28;\n        uVar9 = 1;\n        local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n        FUN_001c2b00(&local_48,&local_58,&local_60);\n        FUN_001a8200(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n    }\n    else if (iVar4 == 0x20) {\n      local_58 = param_2 + 0x28;\n      lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n      uVar3 = *(uint *)(lVar6 + 0x20);\n      local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n      local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8);\n      local_30 = 0;\n      local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8);\n      uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8;\n      local_48 = &local_58;\n      if (uVar10 != 0x34) {\n        uVar7 = gettext("bad e_ehsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x34);\n      }\n      uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8;\n      if (uVar10 != 0x28) {\n        uVar7 = gettext("bad e_shentsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x28);\n      }\n      uVar9 = 1;\n      FUN_001a7d30(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n    else {\n      if (iVar4 != 0x40) {\n                    \n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      local_58 = param_2 + 0x28;\n      uVar9 = 1;\n      local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n      FUN_001c27f0(&local_48,&local_58,&local_60);\n      FUN_001a7ed0(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x10) == '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x10) == '\0'" (pointer_expression "*(char *)(param_1 + 0x10)" (* "*") (cast_expression "(char *)(param_1 + 0x10)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      if (iVar4 == 0x20) {\n        local_58 = param_2 + 0x28;\n        lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n        local_40 = (ulong)*(uint *)(lVar6 + 0x20);\n        local_38 = (uint)*(ushort *)(lVar6 + 0x30);\n        local_30 = 0;\n        local_34 = (uint)*(ushort *)(lVar6 + 0x32);\n        sVar1 = *(short *)(lVar6 + 0x28);\n        local_48 = &local_58;\n        if (sVar1 != 0x34) {\n          uVar7 = gettext("bad e_ehsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x34);\n        }\n        sVar1 = *(short *)(lVar6 + 0x2e);\n        if (sVar1 != 0x28) {\n          uVar7 = gettext("bad e_shentsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x28);\n        }\n        uVar9 = 1;\n        FUN_001a8070(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n      else {\n        if (iVar4 != 0x40) {\n                    \n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        local_58 = param_2 + 0x28;\n        uVar9 = 1;\n        local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n        FUN_001c2b00(&local_48,&local_58,&local_60);\n        FUN_001a8200(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n    }" ({ "{") (if_statement "if (iVar4 == 0x20) {\n        local_58 = param_2 + 0x28;\n        lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n        local_40 = (ulong)*(uint *)(lVar6 + 0x20);\n        local_38 = (uint)*(ushort *)(lVar6 + 0x30);\n        local_30 = 0;\n        local_34 = (uint)*(ushort *)(lVar6 + 0x32);\n        sVar1 = *(short *)(lVar6 + 0x28);\n        local_48 = &local_58;\n        if (sVar1 != 0x34) {\n          uVar7 = gettext("bad e_ehsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x34);\n        }\n        sVar1 = *(short *)(lVar6 + 0x2e);\n        if (sVar1 != 0x28) {\n          uVar7 = gettext("bad e_shentsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x28);\n        }\n        uVar9 = 1;\n        FUN_001a8070(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }\n      else {\n        if (iVar4 != 0x40) {\n                    \n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        local_58 = param_2 + 0x28;\n        uVar9 = 1;\n        local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n        FUN_001c2b00(&local_48,&local_58,&local_60);\n        FUN_001a8200(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }" (if "if") (parenthesized_expression "(iVar4 == 0x20)" (( "(") (binary_expression "iVar4 == 0x20" (identifier "iVar4") (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n        local_58 = param_2 + 0x28;\n        lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n        local_40 = (ulong)*(uint *)(lVar6 + 0x20);\n        local_38 = (uint)*(ushort *)(lVar6 + 0x30);\n        local_30 = 0;\n        local_34 = (uint)*(ushort *)(lVar6 + 0x32);\n        sVar1 = *(short *)(lVar6 + 0x28);\n        local_48 = &local_58;\n        if (sVar1 != 0x34) {\n          uVar7 = gettext("bad e_ehsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x34);\n        }\n        sVar1 = *(short *)(lVar6 + 0x2e);\n        if (sVar1 != 0x28) {\n          uVar7 = gettext("bad e_shentsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x28);\n        }\n        uVar9 = 1;\n        FUN_001a8070(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }" ({ "{") (expression_statement "local_58 = param_2 + 0x28;" (assignment_expression "local_58 = param_2 + 0x28" (identifier "local_58") (= "=") (binary_expression "param_2 + 0x28" (identifier "param_2") (+ "+") (number_literal "0x28"))) (; ";")) (expression_statement "lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);" (assignment_expression "lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0)" (identifier "lVar6") (= "=") (call_expression "FUN_0034d600(local_58,param_3,0,0x34,1,0)" (identifier "FUN_0034d600") (argument_list "(local_58,param_3,0,0x34,1,0)" (( "(") (identifier "local_58") (, ",") (identifier "param_3") (, ",") (number_literal "0") (, ",") (number_literal "0x34") (, ",") (number_literal "1") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "local_40 = (ulong)*(uint *)(lVar6 + 0x20);" (assignment_expression "local_40 = (ulong)*(uint *)(lVar6 + 0x20)" (identifier "local_40") (= "=") (binary_expression "(ulong)*(uint *)(lVar6 + 0x20)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(uint *)(lVar6 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + 0x20)" (( "(") (binary_expression "lVar6 + 0x20" (identifier "lVar6") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "local_38 = (uint)*(ushort *)(lVar6 + 0x30);" (assignment_expression "local_38 = (uint)*(ushort *)(lVar6 + 0x30)" (identifier "local_38") (= "=") (binary_expression "(uint)*(ushort *)(lVar6 + 0x30)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(ushort *)(lVar6 + 0x30)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + 0x30)" (( "(") (binary_expression "lVar6 + 0x30" (identifier "lVar6") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_34 = (uint)*(ushort *)(lVar6 + 0x32);" (assignment_expression "local_34 = (uint)*(ushort *)(lVar6 + 0x32)" (identifier "local_34") (= "=") (binary_expression "(uint)*(ushort *)(lVar6 + 0x32)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(ushort *)(lVar6 + 0x32)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + 0x32)" (( "(") (binary_expression "lVar6 + 0x32" (identifier "lVar6") (+ "+") (number_literal "0x32")) () ")"))))) (; ";")) (expression_statement "sVar1 = *(short *)(lVar6 + 0x28);" (assignment_expression "sVar1 = *(short *)(lVar6 + 0x28)" (identifier "sVar1") (= "=") (pointer_expression "*(short *)(lVar6 + 0x28)" (* "*") (cast_expression "(short *)(lVar6 + 0x28)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + 0x28)" (( "(") (binary_expression "lVar6 + 0x28" (identifier "lVar6") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "local_48 = &local_58;" (assignment_expression "local_48 = &local_58" (identifier "local_48") (= "=") (pointer_expression "&local_58" (& "&") (identifier "local_58"))) (; ";")) (if_statement "if (sVar1 != 0x34) {\n          uVar7 = gettext("bad e_ehsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x34);\n        }" (if "if") (parenthesized_expression "(sVar1 != 0x34)" (( "(") (binary_expression "sVar1 != 0x34" (identifier "sVar1") (!= "!=") (number_literal "0x34")) () ")")) (compound_statement "{\n          uVar7 = gettext("bad e_ehsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x34);\n        }" ({ "{") (expression_statement "uVar7 = gettext("bad e_ehsize (%d != %d)");" (assignment_expression "uVar7 = gettext("bad e_ehsize (%d != %d)")" (identifier "uVar7") (= "=") (call_expression "gettext("bad e_ehsize (%d != %d)")" (identifier "gettext") (argument_list "("bad e_ehsize (%d != %d)")" (( "(") (string_literal ""bad e_ehsize (%d != %d)"" (" """) (string_content "bad e_ehsize (%d != %d)") (" """)) () ")")))) (; ";")) (expression_statement "FUN_003926c0(&local_58,uVar7,sVar1,0x34);" (call_expression "FUN_003926c0(&local_58,uVar7,sVar1,0x34)" (identifier "FUN_003926c0") (argument_list "(&local_58,uVar7,sVar1,0x34)" (( "(") (pointer_expression "&local_58" (& "&") (identifier "local_58")) (, ",") (identifier "uVar7") (, ",") (identifier "sVar1") (, ",") (number_literal "0x34") () ")"))) (; ";")) (} "}"))) (expression_statement "sVar1 = *(short *)(lVar6 + 0x2e);" (assignment_expression "sVar1 = *(short *)(lVar6 + 0x2e)" (identifier "sVar1") (= "=") (pointer_expression "*(short *)(lVar6 + 0x2e)" (* "*") (cast_expression "(short *)(lVar6 + 0x2e)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + 0x2e)" (( "(") (binary_expression "lVar6 + 0x2e" (identifier "lVar6") (+ "+") (number_literal "0x2e")) () ")"))))) (; ";")) (if_statement "if (sVar1 != 0x28) {\n          uVar7 = gettext("bad e_shentsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x28);\n        }" (if "if") (parenthesized_expression "(sVar1 != 0x28)" (( "(") (binary_expression "sVar1 != 0x28" (identifier "sVar1") (!= "!=") (number_literal "0x28")) () ")")) (compound_statement "{\n          uVar7 = gettext("bad e_shentsize (%d != %d)");\n          FUN_003926c0(&local_58,uVar7,sVar1,0x28);\n        }" ({ "{") (expression_statement "uVar7 = gettext("bad e_shentsize (%d != %d)");" (assignment_expression "uVar7 = gettext("bad e_shentsize (%d != %d)")" (identifier "uVar7") (= "=") (call_expression "gettext("bad e_shentsize (%d != %d)")" (identifier "gettext") (argument_list "("bad e_shentsize (%d != %d)")" (( "(") (string_literal ""bad e_shentsize (%d != %d)"" (" """) (string_content "bad e_shentsize (%d != %d)") (" """)) () ")")))) (; ";")) (expression_statement "FUN_003926c0(&local_58,uVar7,sVar1,0x28);" (call_expression "FUN_003926c0(&local_58,uVar7,sVar1,0x28)" (identifier "FUN_003926c0") (argument_list "(&local_58,uVar7,sVar1,0x28)" (( "(") (pointer_expression "&local_58" (& "&") (identifier "local_58")) (, ",") (identifier "uVar7") (, ",") (identifier "sVar1") (, ",") (number_literal "0x28") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar9 = 1;" (assignment_expression "uVar9 = 1" (identifier "uVar9") (= "=") (number_literal "1")) (; ";")) (expression_statement "FUN_001a8070(&local_48);" (call_expression "FUN_001a8070(&local_48)" (identifier "FUN_001a8070") (argument_list "(&local_48)" (( "(") (pointer_expression "&local_48" (& "&") (identifier "local_48")) () ")"))) (; ";")) (expression_statement "uVar3 = local_38;" (assignment_expression "uVar3 = local_38" (identifier "uVar3") (= "=") (identifier "local_38")) (; ";")) (if_statement "if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }" (if "if") (parenthesized_expression "(1 < local_38)" (( "(") (binary_expression "1 < local_38" (number_literal "1") (< "<") (identifier "local_38")) () ")")) (compound_statement "{\n          do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }" ({ "{") (do_statement "do {\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);" (do "do") (compound_statement "{\n            iVar4 = FUN_001c29e0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          }" ({ "{") (expression_statement "iVar4 = FUN_001c29e0(&local_48,uVar9);" (assignment_expression "iVar4 = FUN_001c29e0(&local_48,uVar9)" (identifier "iVar4") (= "=") (call_expression "FUN_001c29e0(&local_48,uVar9)" (identifier "FUN_001c29e0") (argument_list "(&local_48,uVar9)" (( "(") (pointer_expression "&local_48" (& "&") (identifier "local_48")) (, ",") (identifier "uVar9") () ")")))) (; ";")) (if_statement "if (iVar4 == 7) {\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }" (if "if") (parenthesized_expression "(iVar4 == 7)" (( "(") (binary_expression "iVar4 == 7" (identifier "iVar4") (== "==") (number_literal "7")) () ")")) (compound_statement "{\n              auVar11 = FUN_001c2a70(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;\n            }" ({ "{") (expression_statement "auVar11 = FUN_001c2a70(&local_48,uVar9);" (assignment_expression "auVar11 = FUN_001c2a70(&local_48,uVar9)" (identifier "auVar11") (= "=") (call_expression "FUN_001c2a70(&local_48,uVar9)" (identifier "FUN_001c2a70") (argument_list "(&local_48,uVar9)" (( "(") (pointer_expression "&local_48" (& "&") (identifier "local_48")) (, ",") (identifier "uVar9") () ")")))) (; ";")) (if_statement "if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))) goto LAB_002a49fc;" (if "if") (parenthesized_expression "(((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0))))))" (( "(") (binary_expression "((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&\n                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))" (parenthesized_expression "((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U))" (( "(") (binary_expression "(((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)" (parenthesized_expression "(((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5))" (( "(") (binary_expression "((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)" (parenthesized_expression "((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)" (( "(") (binary_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_" (binary_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14" (parenthesized_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc)" (( "(") (binary_expression "*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc" (binary_expression "*(long *)(param_1 + 0x68) + 4U" (pointer_expression "*(long *)(param_1 + 0x68)" (* "*") (cast_expression "(long *)(param_1 + 0x68)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x68)" (( "(") (binary_expression "param_1 + 0x68" (identifier "param_1") (+ "+") (number_literal "0x68")) () ")")))) (+ "+") (number_literal "4U")) (& "&") (number_literal "0xfffffffffffffffc")) () ")")) (+ "+") (number_literal "0x14")) (<= "<=") (field_expression "auVar11._8_8_" (identifier "auVar11") (. ".") (field_identifier "_8_8_"))) () ")")) (&& "&&") (parenthesized_expression "(piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)" (( "(") (comma_expression "piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5" (assignment_expression "piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0)" (identifier "piVar5") (= "=") (cast_expression "(int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0)" (identifier "FUN_0034d600") (argument_list "(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0)" (( "(") (identifier "local_58") (, ",") (binary_expression "auVar11._0_8_ + local_50" (field_expression "auVar11._0_8_" (identifier "auVar11") (. ".") (field_identifier "_0_8_")) (+ "+") (identifier "local_50")) (, ",") (number_literal "0") (, ",") (field_expression "auVar11._8_8_" (identifier "auVar11") (. ".") (field_identifier "_8_8_")) (, ",") (number_literal "1") (, ",") (number_literal "0") () ")"))))) (, ",") (binary_expression "*piVar5 == 5" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (== "==") (number_literal "5"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)" (( "(") (binary_expression "(ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U" (cast_expression "(ulong)(uint)piVar5[1]" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (cast_expression "(uint)piVar5[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar5[1]" (identifier "piVar5") ([ "[") (number_literal "1") (] "]")))) (== "==") (binary_expression "*(long *)(param_1 + 0x68) + 1U" (pointer_expression "*(long *)(param_1 + 0x68)" (* "*") (cast_expression "(long *)(param_1 + 0x68)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x68)" (( "(") (binary_expression "param_1 + 0x68" (identifier "param_1") (+ "+") (number_literal "0x68")) () ")")))) (+ "+") (number_literal "1U"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))))" (( "(") (parenthesized_expression "((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0))))" (( "(") (binary_expression "(piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&\n                  (((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))" (parenthesized_expression "(piVar5[2] == 1 && (piVar5[3] == 0x6c43614e))" (( "(") (binary_expression "piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)" (binary_expression "piVar5[2] == 1" (subscript_expression "piVar5[2]" (identifier "piVar5") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "1")) (&& "&&") (parenthesized_expression "(piVar5[3] == 0x6c43614e)" (( "(") (binary_expression "piVar5[3] == 0x6c43614e" (subscript_expression "piVar5[3]" (identifier "piVar5") ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0x6c43614e")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)))" (( "(") (parenthesized_expression "((char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0))" (( "(") (binary_expression "(char)piVar5[4] == '\0' &&\n                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)" (binary_expression "(char)piVar5[4] == '\0'" (cast_expression "(char)piVar5[4]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "piVar5[4]" (identifier "piVar5") ([ "[") (number_literal "4") (] "]"))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (&& "&&") (parenthesized_expression "(iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0)" (( "(") (comma_expression "iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                   iVar4 == 0" (assignment_expression "iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1])" (identifier "iVar4") (= "=") (call_expression "memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1])" (identifier "memcmp") (argument_list "(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1])" (( "(") (binary_expression "piVar5 + 5" (identifier "piVar5") (+ "+") (number_literal "5")) (, ",") (pointer_expression "*(void **)(param_1 + 0x60)" (* "*") (cast_expression "(void **)(param_1 + 0x60)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x60)" (( "(") (binary_expression "param_1 + 0x60" (identifier "param_1") (+ "+") (number_literal "0x60")) () ")")))) (, ",") (cast_expression "(ulong)(uint)piVar5[1]" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (cast_expression "(uint)piVar5[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar5[1]" (identifier "piVar5") ([ "[") (number_literal "1") (] "]")))) () ")")))) (, ",") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0"))) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_002a49fc;" (goto "goto") (statement_identifier "LAB_002a49fc") (; ";"))) (} "}"))) (expression_statement "uVar9 = uVar9 + 1;" (assignment_expression "uVar9 = uVar9 + 1" (identifier "uVar9") (= "=") (binary_expression "uVar9 + 1" (identifier "uVar9") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar3 != uVar9)" (( "(") (binary_expression "uVar3 != uVar9" (identifier "uVar3") (!= "!=") (identifier "uVar9")) () ")")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        if (iVar4 != 0x40) {\n                    \n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        local_58 = param_2 + 0x28;\n        uVar9 = 1;\n        local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n        FUN_001c2b00(&local_48,&local_58,&local_60);\n        FUN_001a8200(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }" (else "else") (compound_statement "{\n        if (iVar4 != 0x40) {\n                    \n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }\n        local_58 = param_2 + 0x28;\n        uVar9 = 1;\n        local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n        FUN_001c2b00(&local_48,&local_58,&local_60);\n        FUN_001a8200(&local_48);\n        uVar3 = local_38;\n        if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }\n      }" ({ "{") (if_statement "if (iVar4 != 0x40) {\n                    \n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }" (if "if") (parenthesized_expression "(iVar4 != 0x40)" (( "(") (binary_expression "iVar4 != 0x40" (identifier "iVar4") (!= "!=") (number_literal "0x40")) () ")")) (compound_statement "{\n                    \n          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");\n        }" ({ "{") (expression_statement "FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");" (call_expression "FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file")" (identifier "FUN_00352af0") (argument_list "("../../gold/nacl.h",0xbd,"recognize_nacl_file")" (( "(") (string_literal ""../../gold/nacl.h"" (" """) (string_content "../../gold/nacl.h") (" """)) (, ",") (number_literal "0xbd") (, ",") (string_literal ""recognize_nacl_file"" (" """) (string_content "recognize_nacl_file") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "local_58 = param_2 + 0x28;" (assignment_expression "local_58 = param_2 + 0x28" (identifier "local_58") (= "=") (binary_expression "param_2 + 0x28" (identifier "param_2") (+ "+") (number_literal "0x28"))) (; ";")) (expression_statement "uVar9 = 1;" (assignment_expression "uVar9 = 1" (identifier "uVar9") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);" (assignment_expression "local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0)" (identifier "local_60") (= "=") (call_expression "FUN_0034d600(local_58,param_3,0,0x40,1,0)" (identifier "FUN_0034d600") (argument_list "(local_58,param_3,0,0x40,1,0)" (( "(") (identifier "local_58") (, ",") (identifier "param_3") (, ",") (number_literal "0") (, ",") (number_literal "0x40") (, ",") (number_literal "1") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "FUN_001c2b00(&local_48,&local_58,&local_60);" (call_expression "FUN_001c2b00(&local_48,&local_58,&local_60)" (identifier "FUN_001c2b00") (argument_list "(&local_48,&local_58,&local_60)" (( "(") (pointer_expression "&local_48" (& "&") (identifier "local_48")) (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) (, ",") (pointer_expression "&local_60" (& "&") (identifier "local_60")) () ")"))) (; ";")) (expression_statement "FUN_001a8200(&local_48);" (call_expression "FUN_001a8200(&local_48)" (identifier "FUN_001a8200") (argument_list "(&local_48)" (( "(") (pointer_expression "&local_48" (& "&") (identifier "local_48")) () ")"))) (; ";")) (expression_statement "uVar3 = local_38;" (assignment_expression "uVar3 = local_38" (identifier "uVar3") (= "=") (identifier "local_38")) (; ";")) (if_statement "if (1 < local_38) {\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }" (if "if") (parenthesized_expression "(1 < local_38)" (( "(") (binary_expression "1 < local_38" (number_literal "1") (< "<") (identifier "local_38")) () ")")) (compound_statement "{\n          do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);\n        }" ({ "{") (do_statement "do {\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          } while (uVar3 != uVar9);" (do "do") (compound_statement "{\n            iVar4 = FUN_001c2ba0(&local_48,uVar9);\n            if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }\n            uVar9 = uVar9 + 1;\n          }" ({ "{") (expression_statement "iVar4 = FUN_001c2ba0(&local_48,uVar9);" (assignment_expression "iVar4 = FUN_001c2ba0(&local_48,uVar9)" (identifier "iVar4") (= "=") (call_expression "FUN_001c2ba0(&local_48,uVar9)" (identifier "FUN_001c2ba0") (argument_list "(&local_48,uVar9)" (( "(") (pointer_expression "&local_48" (& "&") (identifier "local_48")) (, ",") (identifier "uVar9") () ")")))) (; ";")) (if_statement "if (iVar4 == 7) {\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }" (if "if") (parenthesized_expression "(iVar4 == 7)" (( "(") (binary_expression "iVar4 == 7" (identifier "iVar4") (== "==") (number_literal "7")) () ")")) (compound_statement "{\n              auVar11 = FUN_001c2c30(&local_48,uVar9);\n              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;\n            }" ({ "{") (expression_statement "auVar11 = FUN_001c2c30(&local_48,uVar9);" (assignment_expression "auVar11 = FUN_001c2c30(&local_48,uVar9)" (identifier "auVar11") (= "=") (call_expression "FUN_001c2c30(&local_48,uVar9)" (identifier "FUN_001c2c30") (argument_list "(&local_48,uVar9)" (( "(") (pointer_expression "&local_48" (& "&") (identifier "local_48")) (, ",") (identifier "uVar9") () ")")))) (; ";")) (if_statement "if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)) goto LAB_002a49fc;" (if "if") (parenthesized_expression "(((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0))" (( "(") (binary_expression "((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))\n                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)" (parenthesized_expression "((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))" (( "(") (binary_expression "(((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&\n                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))))" (parenthesized_expression "(((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5))" (( "(") (binary_expression "((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)\n                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)" (parenthesized_expression "((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)" (( "(") (binary_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_" (binary_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14" (parenthesized_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc)" (( "(") (binary_expression "*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc" (binary_expression "*(long *)(param_1 + 0x68) + 4U" (pointer_expression "*(long *)(param_1 + 0x68)" (* "*") (cast_expression "(long *)(param_1 + 0x68)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x68)" (( "(") (binary_expression "param_1 + 0x68" (identifier "param_1") (+ "+") (number_literal "0x68")) () ")")))) (+ "+") (number_literal "4U")) (& "&") (number_literal "0xfffffffffffffffc")) () ")")) (+ "+") (number_literal "0x14")) (<= "<=") (field_expression "auVar11._8_8_" (identifier "auVar11") (. ".") (field_identifier "_8_8_"))) () ")")) (&& "&&") (parenthesized_expression "(piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5)" (( "(") (comma_expression "piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0), *piVar5 == 5" (assignment_expression "piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0)" (identifier "piVar5") (= "=") (cast_expression "(int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0)" (identifier "FUN_0034d600") (argument_list "(local_58,auVar11._0_8_ + local_50,0,\n                                                    auVar11._8_8_,1,0)" (( "(") (identifier "local_58") (, ",") (binary_expression "auVar11._0_8_ + local_50" (field_expression "auVar11._0_8_" (identifier "auVar11") (. ".") (field_identifier "_0_8_")) (+ "+") (identifier "local_50")) (, ",") (number_literal "0") (, ",") (field_expression "auVar11._8_8_" (identifier "auVar11") (. ".") (field_identifier "_8_8_")) (, ",") (number_literal "1") (, ",") (number_literal "0") () ")"))))) (, ",") (binary_expression "*piVar5 == 5" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (== "==") (number_literal "5"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))))" (( "(") (parenthesized_expression "((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))" (( "(") (binary_expression "(ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&\n                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))" (binary_expression "(ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U" (cast_expression "(ulong)(uint)piVar5[1]" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (cast_expression "(uint)piVar5[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar5[1]" (identifier "piVar5") ([ "[") (number_literal "1") (] "]")))) (== "==") (binary_expression "*(long *)(param_1 + 0x68) + 1U" (pointer_expression "*(long *)(param_1 + 0x68)" (* "*") (cast_expression "(long *)(param_1 + 0x68)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x68)" (( "(") (binary_expression "param_1 + 0x68" (identifier "param_1") (+ "+") (number_literal "0x68")) () ")")))) (+ "+") (number_literal "1U"))) (&& "&&") (parenthesized_expression "(((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')))" (( "(") (parenthesized_expression "((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))" (( "(") (binary_expression "(piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0')" (parenthesized_expression "(piVar5[2] == 1 && (piVar5[3] == 0x6c43614e))" (( "(") (binary_expression "piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)" (binary_expression "piVar5[2] == 1" (subscript_expression "piVar5[2]" (identifier "piVar5") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "1")) (&& "&&") (parenthesized_expression "(piVar5[3] == 0x6c43614e)" (( "(") (binary_expression "piVar5[3] == 0x6c43614e" (subscript_expression "piVar5[3]" (identifier "piVar5") ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0x6c43614e")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((char)piVar5[4] == '\0')" (( "(") (binary_expression "(char)piVar5[4] == '\0'" (cast_expression "(char)piVar5[4]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "piVar5[4]" (identifier "piVar5") ([ "[") (number_literal "4") (] "]"))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0)" (( "(") (comma_expression "iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),\n                    iVar4 == 0" (assignment_expression "iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1])" (identifier "iVar4") (= "=") (call_expression "memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1])" (identifier "memcmp") (argument_list "(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1])" (( "(") (binary_expression "piVar5 + 5" (identifier "piVar5") (+ "+") (number_literal "5")) (, ",") (pointer_expression "*(void **)(param_1 + 0x60)" (* "*") (cast_expression "(void **)(param_1 + 0x60)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x60)" (( "(") (binary_expression "param_1 + 0x60" (identifier "param_1") (+ "+") (number_literal "0x60")) () ")")))) (, ",") (cast_expression "(ulong)(uint)piVar5[1]" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (cast_expression "(uint)piVar5[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar5[1]" (identifier "piVar5") ([ "[") (number_literal "1") (] "]")))) () ")")))) (, ",") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_002a49fc;" (goto "goto") (statement_identifier "LAB_002a49fc") (; ";"))) (} "}"))) (expression_statement "uVar9 = uVar9 + 1;" (assignment_expression "uVar9 = uVar9 + 1" (identifier "uVar9") (= "=") (binary_expression "uVar9 + 1" (identifier "uVar9") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar3 != uVar9)" (( "(") (binary_expression "uVar3 != uVar9" (identifier "uVar3") (!= "!=") (identifier "uVar9")) () ")")) (; ";")) (} "}"))) (} "}")))) (} "}")) (else_clause "else if (iVar4 == 0x20) {\n      local_58 = param_2 + 0x28;\n      lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n      uVar3 = *(uint *)(lVar6 + 0x20);\n      local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n      local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8);\n      local_30 = 0;\n      local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8);\n      uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8;\n      local_48 = &local_58;\n      if (uVar10 != 0x34) {\n        uVar7 = gettext("bad e_ehsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x34);\n      }\n      uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8;\n      if (uVar10 != 0x28) {\n        uVar7 = gettext("bad e_shentsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x28);\n      }\n      uVar9 = 1;\n      FUN_001a7d30(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n    else {\n      if (iVar4 != 0x40) {\n                    \n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      local_58 = param_2 + 0x28;\n      uVar9 = 1;\n      local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n      FUN_001c27f0(&local_48,&local_58,&local_60);\n      FUN_001a7ed0(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }" (else "else") (if_statement "if (iVar4 == 0x20) {\n      local_58 = param_2 + 0x28;\n      lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n      uVar3 = *(uint *)(lVar6 + 0x20);\n      local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n      local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8);\n      local_30 = 0;\n      local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8);\n      uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8;\n      local_48 = &local_58;\n      if (uVar10 != 0x34) {\n        uVar7 = gettext("bad e_ehsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x34);\n      }\n      uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8;\n      if (uVar10 != 0x28) {\n        uVar7 = gettext("bad e_shentsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x28);\n      }\n      uVar9 = 1;\n      FUN_001a7d30(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }\n    else {\n      if (iVar4 != 0x40) {\n                    \n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      local_58 = param_2 + 0x28;\n      uVar9 = 1;\n      local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n      FUN_001c27f0(&local_48,&local_58,&local_60);\n      FUN_001a7ed0(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }" (if "if") (parenthesized_expression "(iVar4 == 0x20)" (( "(") (binary_expression "iVar4 == 0x20" (identifier "iVar4") (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n      local_58 = param_2 + 0x28;\n      lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);\n      uVar3 = *(uint *)(lVar6 + 0x20);\n      local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n      local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8);\n      local_30 = 0;\n      local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8);\n      uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8;\n      local_48 = &local_58;\n      if (uVar10 != 0x34) {\n        uVar7 = gettext("bad e_ehsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x34);\n      }\n      uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8;\n      if (uVar10 != 0x28) {\n        uVar7 = gettext("bad e_shentsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x28);\n      }\n      uVar9 = 1;\n      FUN_001a7d30(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }" ({ "{") (expression_statement "local_58 = param_2 + 0x28;" (assignment_expression "local_58 = param_2 + 0x28" (identifier "local_58") (= "=") (binary_expression "param_2 + 0x28" (identifier "param_2") (+ "+") (number_literal "0x28"))) (; ";")) (expression_statement "lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);" (assignment_expression "lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0)" (identifier "lVar6") (= "=") (call_expression "FUN_0034d600(local_58,param_3,0,0x34,1,0)" (identifier "FUN_0034d600") (argument_list "(local_58,param_3,0,0x34,1,0)" (( "(") (identifier "local_58") (, ",") (identifier "param_3") (, ",") (number_literal "0") (, ",") (number_literal "0x34") (, ",") (number_literal "1") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "uVar3 = *(uint *)(lVar6 + 0x20);" (assignment_expression "uVar3 = *(uint *)(lVar6 + 0x20)" (identifier "uVar3") (= "=") (pointer_expression "*(uint *)(lVar6 + 0x20)" (* "*") (cast_expression "(uint *)(lVar6 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + 0x20)" (( "(") (binary_expression "lVar6 + 0x20" (identifier "lVar6") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);" (assignment_expression "local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18)" (identifier "local_40") (= "=") (call_expression "(ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18)" (( "(") (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8" (binary_expression "uVar3 >> 0x18" (identifier "uVar3") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar3 & 0xff0000) >> 8" (parenthesized_expression "(uVar3 & 0xff0000)" (( "(") (binary_expression "uVar3 & 0xff0000" (identifier "uVar3") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar3 & 0xff00) << 8" (parenthesized_expression "(uVar3 & 0xff00)" (( "(") (binary_expression "uVar3 & 0xff00" (identifier "uVar3") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar3 << 0x18" (identifier "uVar3") (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (expression_statement "local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8);" (assignment_expression "local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8)" (identifier "local_38") (= "=") (call_expression "(uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8)" (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(ushort)" (( "(") (identifier "ushort") () ")"))) (argument_list "(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8)" (( "(") (binary_expression "*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8" (binary_expression "*(ushort *)(lVar6 + 0x30) << 8" (pointer_expression "*(ushort *)(lVar6 + 0x30)" (* "*") (cast_expression "(ushort *)(lVar6 + 0x30)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + 0x30)" (( "(") (binary_expression "lVar6 + 0x30" (identifier "lVar6") (+ "+") (number_literal "0x30")) () ")")))) (<< "<<") (number_literal "8")) (| "|") (binary_expression "*(ushort *)(lVar6 + 0x30) >> 8" (pointer_expression "*(ushort *)(lVar6 + 0x30)" (* "*") (cast_expression "(ushort *)(lVar6 + 0x30)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + 0x30)" (( "(") (binary_expression "lVar6 + 0x30" (identifier "lVar6") (+ "+") (number_literal "0x30")) () ")")))) (>> ">>") (number_literal "8"))) () ")")))) (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8);" (assignment_expression "local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8)" (identifier "local_34") (= "=") (call_expression "(uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8)" (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(ushort)" (( "(") (identifier "ushort") () ")"))) (argument_list "(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8)" (( "(") (binary_expression "*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8" (binary_expression "*(ushort *)(lVar6 + 0x32) << 8" (pointer_expression "*(ushort *)(lVar6 + 0x32)" (* "*") (cast_expression "(ushort *)(lVar6 + 0x32)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + 0x32)" (( "(") (binary_expression "lVar6 + 0x32" (identifier "lVar6") (+ "+") (number_literal "0x32")) () ")")))) (<< "<<") (number_literal "8")) (| "|") (binary_expression "*(ushort *)(lVar6 + 0x32) >> 8" (pointer_expression "*(ushort *)(lVar6 + 0x32)" (* "*") (cast_expression "(ushort *)(lVar6 + 0x32)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + 0x32)" (( "(") (binary_expression "lVar6 + 0x32" (identifier "lVar6") (+ "+") (number_literal "0x32")) () ")")))) (>> ">>") (number_literal "8"))) () ")")))) (; ";")) (expression_statement "uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8;" (assignment_expression "uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8" (identifier "uVar10") (= "=") (binary_expression "*(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8" (binary_expression "*(ushort *)(lVar6 + 0x28) << 8" (pointer_expression "*(ushort *)(lVar6 + 0x28)" (* "*") (cast_expression "(ushort *)(lVar6 + 0x28)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + 0x28)" (( "(") (binary_expression "lVar6 + 0x28" (identifier "lVar6") (+ "+") (number_literal "0x28")) () ")")))) (<< "<<") (number_literal "8")) (| "|") (binary_expression "*(ushort *)(lVar6 + 0x28) >> 8" (pointer_expression "*(ushort *)(lVar6 + 0x28)" (* "*") (cast_expression "(ushort *)(lVar6 + 0x28)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + 0x28)" (( "(") (binary_expression "lVar6 + 0x28" (identifier "lVar6") (+ "+") (number_literal "0x28")) () ")")))) (>> ">>") (number_literal "8")))) (; ";")) (expression_statement "local_48 = &local_58;" (assignment_expression "local_48 = &local_58" (identifier "local_48") (= "=") (pointer_expression "&local_58" (& "&") (identifier "local_58"))) (; ";")) (if_statement "if (uVar10 != 0x34) {\n        uVar7 = gettext("bad e_ehsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x34);\n      }" (if "if") (parenthesized_expression "(uVar10 != 0x34)" (( "(") (binary_expression "uVar10 != 0x34" (identifier "uVar10") (!= "!=") (number_literal "0x34")) () ")")) (compound_statement "{\n        uVar7 = gettext("bad e_ehsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x34);\n      }" ({ "{") (expression_statement "uVar7 = gettext("bad e_ehsize (%d != %d)");" (assignment_expression "uVar7 = gettext("bad e_ehsize (%d != %d)")" (identifier "uVar7") (= "=") (call_expression "gettext("bad e_ehsize (%d != %d)")" (identifier "gettext") (argument_list "("bad e_ehsize (%d != %d)")" (( "(") (string_literal ""bad e_ehsize (%d != %d)"" (" """) (string_content "bad e_ehsize (%d != %d)") (" """)) () ")")))) (; ";")) (expression_statement "FUN_003926c0(&local_58,uVar7,uVar10,0x34);" (call_expression "FUN_003926c0(&local_58,uVar7,uVar10,0x34)" (identifier "FUN_003926c0") (argument_list "(&local_58,uVar7,uVar10,0x34)" (( "(") (pointer_expression "&local_58" (& "&") (identifier "local_58")) (, ",") (identifier "uVar7") (, ",") (identifier "uVar10") (, ",") (number_literal "0x34") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8;" (assignment_expression "uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8" (identifier "uVar10") (= "=") (binary_expression "*(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8" (binary_expression "*(ushort *)(lVar6 + 0x2e) << 8" (pointer_expression "*(ushort *)(lVar6 + 0x2e)" (* "*") (cast_expression "(ushort *)(lVar6 + 0x2e)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + 0x2e)" (( "(") (binary_expression "lVar6 + 0x2e" (identifier "lVar6") (+ "+") (number_literal "0x2e")) () ")")))) (<< "<<") (number_literal "8")) (| "|") (binary_expression "*(ushort *)(lVar6 + 0x2e) >> 8" (pointer_expression "*(ushort *)(lVar6 + 0x2e)" (* "*") (cast_expression "(ushort *)(lVar6 + 0x2e)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + 0x2e)" (( "(") (binary_expression "lVar6 + 0x2e" (identifier "lVar6") (+ "+") (number_literal "0x2e")) () ")")))) (>> ">>") (number_literal "8")))) (; ";")) (if_statement "if (uVar10 != 0x28) {\n        uVar7 = gettext("bad e_shentsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x28);\n      }" (if "if") (parenthesized_expression "(uVar10 != 0x28)" (( "(") (binary_expression "uVar10 != 0x28" (identifier "uVar10") (!= "!=") (number_literal "0x28")) () ")")) (compound_statement "{\n        uVar7 = gettext("bad e_shentsize (%d != %d)");\n        FUN_003926c0(&local_58,uVar7,uVar10,0x28);\n      }" ({ "{") (expression_statement "uVar7 = gettext("bad e_shentsize (%d != %d)");" (assignment_expression "uVar7 = gettext("bad e_shentsize (%d != %d)")" (identifier "uVar7") (= "=") (call_expression "gettext("bad e_shentsize (%d != %d)")" (identifier "gettext") (argument_list "("bad e_shentsize (%d != %d)")" (( "(") (string_literal ""bad e_shentsize (%d != %d)"" (" """) (string_content "bad e_shentsize (%d != %d)") (" """)) () ")")))) (; ";")) (expression_statement "FUN_003926c0(&local_58,uVar7,uVar10,0x28);" (call_expression "FUN_003926c0(&local_58,uVar7,uVar10,0x28)" (identifier "FUN_003926c0") (argument_list "(&local_58,uVar7,uVar10,0x28)" (( "(") (pointer_expression "&local_58" (& "&") (identifier "local_58")) (, ",") (identifier "uVar7") (, ",") (identifier "uVar10") (, ",") (number_literal "0x28") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar9 = 1;" (assignment_expression "uVar9 = 1" (identifier "uVar9") (= "=") (number_literal "1")) (; ";")) (expression_statement "FUN_001a7d30(&local_48);" (call_expression "FUN_001a7d30(&local_48)" (identifier "FUN_001a7d30") (argument_list "(&local_48)" (( "(") (pointer_expression "&local_48" (& "&") (identifier "local_48")) () ")"))) (; ";")) (expression_statement "uVar3 = local_38;" (assignment_expression "uVar3 = local_38" (identifier "uVar3") (= "=") (identifier "local_38")) (; ";")) (if_statement "if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }" (if "if") (parenthesized_expression "(1 < local_38)" (( "(") (binary_expression "1 < local_38" (number_literal "1") (< "<") (identifier "local_38")) () ")")) (compound_statement "{\n        do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }" ({ "{") (do_statement "do {\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);" (do "do") (compound_statement "{\n          iVar4 = FUN_001c26c0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }\n          uVar9 = uVar9 + 1;\n        }" ({ "{") (expression_statement "iVar4 = FUN_001c26c0(&local_48,uVar9);" (assignment_expression "iVar4 = FUN_001c26c0(&local_48,uVar9)" (identifier "iVar4") (= "=") (call_expression "FUN_001c26c0(&local_48,uVar9)" (identifier "FUN_001c26c0") (argument_list "(&local_48,uVar9)" (( "(") (pointer_expression "&local_48" (& "&") (identifier "local_48")) (, ",") (identifier "uVar9") () ")")))) (; ";")) (if_statement "if (iVar4 == 7) {\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }" (if "if") (parenthesized_expression "(iVar4 == 7)" (( "(") (binary_expression "iVar4 == 7" (identifier "iVar4") (== "==") (number_literal "7")) () ")")) (compound_statement "{\n            auVar11 = FUN_001c2750(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }\n          }" ({ "{") (expression_statement "auVar11 = FUN_001c2750(&local_48,uVar9);" (assignment_expression "auVar11 = FUN_001c2750(&local_48,uVar9)" (identifier "auVar11") (= "=") (call_expression "FUN_001c2750(&local_48,uVar9)" (identifier "FUN_001c2750") (argument_list "(&local_48,uVar9)" (( "(") (pointer_expression "&local_48" (& "&") (identifier "local_48")) (, ",") (identifier "uVar9") () ")")))) (; ";")) (if_statement "if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }" (if "if") (parenthesized_expression "(((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000))" (( "(") (binary_expression "((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)" (parenthesized_expression "((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)" (( "(") (binary_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_" (binary_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14" (parenthesized_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc)" (( "(") (binary_expression "*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc" (binary_expression "*(long *)(param_1 + 0x68) + 4U" (pointer_expression "*(long *)(param_1 + 0x68)" (* "*") (cast_expression "(long *)(param_1 + 0x68)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x68)" (( "(") (binary_expression "param_1 + 0x68" (identifier "param_1") (+ "+") (number_literal "0x68")) () ")")))) (+ "+") (number_literal "4U")) (& "&") (number_literal "0xfffffffffffffffc")) () ")")) (+ "+") (number_literal "0x14")) (<= "<=") (field_expression "auVar11._8_8_" (identifier "auVar11") (. ".") (field_identifier "_8_8_"))) () ")")) (&& "&&") (parenthesized_expression "(piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)" (( "(") (comma_expression "piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000" (assignment_expression "piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0)" (identifier "piVar5") (= "=") (cast_expression "(int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0)" (identifier "FUN_0034d600") (argument_list "(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0)" (( "(") (identifier "local_58") (, ",") (binary_expression "auVar11._0_8_ + local_50" (field_expression "auVar11._0_8_" (identifier "auVar11") (. ".") (field_identifier "_0_8_")) (+ "+") (identifier "local_50")) (, ",") (number_literal "0") (, ",") (field_expression "auVar11._8_8_" (identifier "auVar11") (. ".") (field_identifier "_8_8_")) (, ",") (number_literal "1") (, ",") (number_literal "0") () ")"))))) (, ",") (binary_expression "*piVar5 == 0x5000000" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (== "==") (number_literal "0x5000000"))) () ")"))) () ")")) (compound_statement "{\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;\n            }" ({ "{") (expression_statement "uVar2 = piVar5[1];" (assignment_expression "uVar2 = piVar5[1]" (identifier "uVar2") (= "=") (subscript_expression "piVar5[1]" (identifier "piVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);" (assignment_expression "uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18)" (identifier "uVar8") (= "=") (call_expression "(ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18)" (( "(") (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" (identifier "uVar2") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" (( "(") (binary_expression "uVar2 & 0xff0000" (identifier "uVar2") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" (( "(") (binary_expression "uVar2 & 0xff00" (identifier "uVar2") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar2 << 0x18" (identifier "uVar2") (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (if_statement "if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))\n              goto LAB_002a49fc;" (if "if") (parenthesized_expression "((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))" (( "(") (binary_expression "(((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')) &&\n                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)" (parenthesized_expression "(((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0'))" (( "(") (binary_expression "((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&\n                  ((char)piVar5[4] == '\0')" (parenthesized_expression "((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e))))" (( "(") (binary_expression "(uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))" (parenthesized_expression "(uVar8 == *(long *)(param_1 + 0x68) + 1U)" (( "(") (binary_expression "uVar8 == *(long *)(param_1 + 0x68) + 1U" (identifier "uVar8") (== "==") (binary_expression "*(long *)(param_1 + 0x68) + 1U" (pointer_expression "*(long *)(param_1 + 0x68)" (* "*") (cast_expression "(long *)(param_1 + 0x68)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x68)" (( "(") (binary_expression "param_1 + 0x68" (identifier "param_1") (+ "+") (number_literal "0x68")) () ")")))) (+ "+") (number_literal "1U"))) () ")")) (&& "&&") (parenthesized_expression "((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))" (( "(") (parenthesized_expression "(piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e))" (( "(") (binary_expression "piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)" (binary_expression "piVar5[2] == 0x1000000" (subscript_expression "piVar5[2]" (identifier "piVar5") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0x1000000")) (&& "&&") (parenthesized_expression "(piVar5[3] == 0x6c43614e)" (( "(") (binary_expression "piVar5[3] == 0x6c43614e" (subscript_expression "piVar5[3]" (identifier "piVar5") ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0x6c43614e")) () ")"))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((char)piVar5[4] == '\0')" (( "(") (binary_expression "(char)piVar5[4] == '\0'" (cast_expression "(char)piVar5[4]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "piVar5[4]" (identifier "piVar5") ([ "[") (number_literal "4") (] "]"))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)" (( "(") (comma_expression "iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0" (assignment_expression "iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8)" (identifier "iVar4") (= "=") (call_expression "memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8)" (identifier "memcmp") (argument_list "(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8)" (( "(") (binary_expression "piVar5 + 5" (identifier "piVar5") (+ "+") (number_literal "5")) (, ",") (pointer_expression "*(void **)(param_1 + 0x60)" (* "*") (cast_expression "(void **)(param_1 + 0x60)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x60)" (( "(") (binary_expression "param_1 + 0x60" (identifier "param_1") (+ "+") (number_literal "0x60")) () ")")))) (, ",") (identifier "uVar8") () ")")))) (, ",") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_002a49fc;" (goto "goto") (statement_identifier "LAB_002a49fc") (; ";"))) (} "}"))) (} "}"))) (expression_statement "uVar9 = uVar9 + 1;" (assignment_expression "uVar9 = uVar9 + 1" (identifier "uVar9") (= "=") (binary_expression "uVar9 + 1" (identifier "uVar9") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar3 != uVar9)" (( "(") (binary_expression "uVar3 != uVar9" (identifier "uVar3") (!= "!=") (identifier "uVar9")) () ")")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      if (iVar4 != 0x40) {\n                    \n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      local_58 = param_2 + 0x28;\n      uVar9 = 1;\n      local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n      FUN_001c27f0(&local_48,&local_58,&local_60);\n      FUN_001a7ed0(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }" (else "else") (compound_statement "{\n      if (iVar4 != 0x40) {\n                    \n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }\n      local_58 = param_2 + 0x28;\n      uVar9 = 1;\n      local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);\n      FUN_001c27f0(&local_48,&local_58,&local_60);\n      FUN_001a7ed0(&local_48);\n      uVar3 = local_38;\n      if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }\n    }" ({ "{") (if_statement "if (iVar4 != 0x40) {\n                    \n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }" (if "if") (parenthesized_expression "(iVar4 != 0x40)" (( "(") (binary_expression "iVar4 != 0x40" (identifier "iVar4") (!= "!=") (number_literal "0x40")) () ")")) (compound_statement "{\n                    \n        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");\n      }" ({ "{") (expression_statement "FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");" (call_expression "FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file")" (identifier "FUN_00352af0") (argument_list "("../../gold/nacl.h",0xaf,"recognize_nacl_file")" (( "(") (string_literal ""../../gold/nacl.h"" (" """) (string_content "../../gold/nacl.h") (" """)) (, ",") (number_literal "0xaf") (, ",") (string_literal ""recognize_nacl_file"" (" """) (string_content "recognize_nacl_file") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "local_58 = param_2 + 0x28;" (assignment_expression "local_58 = param_2 + 0x28" (identifier "local_58") (= "=") (binary_expression "param_2 + 0x28" (identifier "param_2") (+ "+") (number_literal "0x28"))) (; ";")) (expression_statement "uVar9 = 1;" (assignment_expression "uVar9 = 1" (identifier "uVar9") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);" (assignment_expression "local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0)" (identifier "local_60") (= "=") (call_expression "FUN_0034d600(local_58,param_3,0,0x40,1,0)" (identifier "FUN_0034d600") (argument_list "(local_58,param_3,0,0x40,1,0)" (( "(") (identifier "local_58") (, ",") (identifier "param_3") (, ",") (number_literal "0") (, ",") (number_literal "0x40") (, ",") (number_literal "1") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "FUN_001c27f0(&local_48,&local_58,&local_60);" (call_expression "FUN_001c27f0(&local_48,&local_58,&local_60)" (identifier "FUN_001c27f0") (argument_list "(&local_48,&local_58,&local_60)" (( "(") (pointer_expression "&local_48" (& "&") (identifier "local_48")) (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) (, ",") (pointer_expression "&local_60" (& "&") (identifier "local_60")) () ")"))) (; ";")) (expression_statement "FUN_001a7ed0(&local_48);" (call_expression "FUN_001a7ed0(&local_48)" (identifier "FUN_001a7ed0") (argument_list "(&local_48)" (( "(") (pointer_expression "&local_48" (& "&") (identifier "local_48")) () ")"))) (; ";")) (expression_statement "uVar3 = local_38;" (assignment_expression "uVar3 = local_38" (identifier "uVar3") (= "=") (identifier "local_38")) (; ";")) (if_statement "if (1 < local_38) {\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }" (if "if") (parenthesized_expression "(1 < local_38)" (( "(") (binary_expression "1 < local_38" (number_literal "1") (< "<") (identifier "local_38")) () ")")) (compound_statement "{\n        do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);\n      }" ({ "{") (do_statement "do {\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar3 != uVar9);" (do "do") (compound_statement "{\n          iVar4 = FUN_001c28b0(&local_48,uVar9);\n          if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }\n          uVar9 = uVar9 + 1;\n        }" ({ "{") (expression_statement "iVar4 = FUN_001c28b0(&local_48,uVar9);" (assignment_expression "iVar4 = FUN_001c28b0(&local_48,uVar9)" (identifier "iVar4") (= "=") (call_expression "FUN_001c28b0(&local_48,uVar9)" (identifier "FUN_001c28b0") (argument_list "(&local_48,uVar9)" (( "(") (pointer_expression "&local_48" (& "&") (identifier "local_48")) (, ",") (identifier "uVar9") () ")")))) (; ";")) (if_statement "if (iVar4 == 7) {\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }" (if "if") (parenthesized_expression "(iVar4 == 7)" (( "(") (binary_expression "iVar4 == 7" (identifier "iVar4") (== "==") (number_literal "7")) () ")")) (compound_statement "{\n            auVar11 = FUN_001c2940(&local_48,uVar9);\n            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }\n          }" ({ "{") (expression_statement "auVar11 = FUN_001c2940(&local_48,uVar9);" (assignment_expression "auVar11 = FUN_001c2940(&local_48,uVar9)" (identifier "auVar11") (= "=") (call_expression "FUN_001c2940(&local_48,uVar9)" (identifier "FUN_001c2940") (argument_list "(&local_48,uVar9)" (( "(") (pointer_expression "&local_48" (& "&") (identifier "local_48")) (, ",") (identifier "uVar9") () ")")))) (; ";")) (if_statement "if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)) {\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }" (if "if") (parenthesized_expression "(((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000))" (( "(") (binary_expression "((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&\n               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)" (parenthesized_expression "((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)" (( "(") (binary_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_" (binary_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14" (parenthesized_expression "(*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc)" (( "(") (binary_expression "*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc" (binary_expression "*(long *)(param_1 + 0x68) + 4U" (pointer_expression "*(long *)(param_1 + 0x68)" (* "*") (cast_expression "(long *)(param_1 + 0x68)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x68)" (( "(") (binary_expression "param_1 + 0x68" (identifier "param_1") (+ "+") (number_literal "0x68")) () ")")))) (+ "+") (number_literal "4U")) (& "&") (number_literal "0xfffffffffffffffc")) () ")")) (+ "+") (number_literal "0x14")) (<= "<=") (field_expression "auVar11._8_8_" (identifier "auVar11") (. ".") (field_identifier "_8_8_"))) () ")")) (&& "&&") (parenthesized_expression "(piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000)" (( "(") (comma_expression "piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),\n               *piVar5 == 0x5000000" (assignment_expression "piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0)" (identifier "piVar5") (= "=") (cast_expression "(int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0)" (identifier "FUN_0034d600") (argument_list "(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0)" (( "(") (identifier "local_58") (, ",") (binary_expression "auVar11._0_8_ + local_50" (field_expression "auVar11._0_8_" (identifier "auVar11") (. ".") (field_identifier "_0_8_")) (+ "+") (identifier "local_50")) (, ",") (number_literal "0") (, ",") (field_expression "auVar11._8_8_" (identifier "auVar11") (. ".") (field_identifier "_8_8_")) (, ",") (number_literal "1") (, ",") (number_literal "0") () ")"))))) (, ",") (binary_expression "*piVar5 == 0x5000000" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (== "==") (number_literal "0x5000000"))) () ")"))) () ")")) (compound_statement "{\n              uVar2 = piVar5[1];\n              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);\n              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }\n            }" ({ "{") (expression_statement "uVar2 = piVar5[1];" (assignment_expression "uVar2 = piVar5[1]" (identifier "uVar2") (= "=") (subscript_expression "piVar5[1]" (identifier "piVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18);" (assignment_expression "uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18)" (identifier "uVar8") (= "=") (call_expression "(ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18)" (( "(") (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                             uVar2 << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" (identifier "uVar2") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" (( "(") (binary_expression "uVar2 & 0xff0000" (identifier "uVar2") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" (( "(") (binary_expression "uVar2 & 0xff00" (identifier "uVar2") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar2 << 0x18" (identifier "uVar2") (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (if_statement "if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }" (if "if") (parenthesized_expression "((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))))" (( "(") (binary_expression "(uVar8 == *(long *)(param_1 + 0x68) + 1U) &&\n                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))" (parenthesized_expression "(uVar8 == *(long *)(param_1 + 0x68) + 1U)" (( "(") (binary_expression "uVar8 == *(long *)(param_1 + 0x68) + 1U" (identifier "uVar8") (== "==") (binary_expression "*(long *)(param_1 + 0x68) + 1U" (pointer_expression "*(long *)(param_1 + 0x68)" (* "*") (cast_expression "(long *)(param_1 + 0x68)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x68)" (( "(") (binary_expression "param_1 + 0x68" (identifier "param_1") (+ "+") (number_literal "0x68")) () ")")))) (+ "+") (number_literal "1U"))) () ")")) (&& "&&") (parenthesized_expression "((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))" (( "(") (parenthesized_expression "(((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))" (( "(") (binary_expression "((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')) &&\n                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)" (parenthesized_expression "((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0'))" (( "(") (binary_expression "(piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&\n                   ((char)piVar5[4] == '\0')" (parenthesized_expression "(piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e))" (( "(") (binary_expression "piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)" (binary_expression "piVar5[2] == 0x1000000" (subscript_expression "piVar5[2]" (identifier "piVar5") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0x1000000")) (&& "&&") (parenthesized_expression "(piVar5[3] == 0x6c43614e)" (( "(") (binary_expression "piVar5[3] == 0x6c43614e" (subscript_expression "piVar5[3]" (identifier "piVar5") ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0x6c43614e")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((char)piVar5[4] == '\0')" (( "(") (binary_expression "(char)piVar5[4] == '\0'" (cast_expression "(char)piVar5[4]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "piVar5[4]" (identifier "piVar5") ([ "[") (number_literal "4") (] "]"))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)" (( "(") (comma_expression "iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0" (assignment_expression "iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8)" (identifier "iVar4") (= "=") (call_expression "memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8)" (identifier "memcmp") (argument_list "(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8)" (( "(") (binary_expression "piVar5 + 5" (identifier "piVar5") (+ "+") (number_literal "5")) (, ",") (pointer_expression "*(void **)(param_1 + 0x60)" (* "*") (cast_expression "(void **)(param_1 + 0x60)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x60)" (( "(") (binary_expression "param_1 + 0x60" (identifier "param_1") (+ "+") (number_literal "0x60")) () ")")))) (, ",") (identifier "uVar8") () ")")))) (, ",") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\nLAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;\n                FUN_0045b0a0(param_1);\n                return;\n              }" ({ "{") (labeled_statement "LAB_002a49fc:\n                *(undefined1 *)(param_1 + 0x58) = 1;" (statement_identifier "LAB_002a49fc") (: ":") (expression_statement "*(undefined1 *)(param_1 + 0x58) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x58) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x58)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x58)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x58)" (( "(") (binary_expression "param_1 + 0x58" (identifier "param_1") (+ "+") (number_literal "0x58")) () ")")))) (= "=") (number_literal "1")) (; ";"))) (expression_statement "FUN_0045b0a0(param_1);" (call_expression "FUN_0045b0a0(param_1)" (identifier "FUN_0045b0a0") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "uVar9 = uVar9 + 1;" (assignment_expression "uVar9 = uVar9 + 1" (identifier "uVar9") (= "=") (binary_expression "uVar9 + 1" (identifier "uVar9") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar3 != uVar9)" (( "(") (binary_expression "uVar3 != uVar9" (identifier "uVar3") (!= "!=") (identifier "uVar9")) () ")")) (; ";")) (} "}"))) (} "}")))))) (} "}"))) (expression_statement "*(undefined1 *)(param_1 + 0x58) = 0;" (assignment_expression "*(undefined1 *)(param_1 + 0x58) = 0" (pointer_expression "*(undefined1 *)(param_1 + 0x58)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x58)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x58)" (( "(") (binary_expression "param_1 + 0x58" (identifier "param_1") (+ "+") (number_literal "0x58")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0045b0a0(param_1);" (call_expression "FUN_0045b0a0(param_1)" (identifier "FUN_0045b0a0") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: Target *
   do_recognize(Target_selector_nacl<(anonymous_namespace)::Target_selector_mips<32,_true>,_(anonymous_namespace)::Target_mips_nacl<32,_true>_>
   * this, Input_file * file, off_t offset, int machine, int osabi, int abiversion) */

type_3 * __thiscall
gold::
Target_selector_nacl<(anonymous_namespace)::Target_selector_mips<32,_true>,_(anonymous_namespace)::Target_mips_nacl<32,_true>_>
::do_recognize(Target_selector_nacl<(anonymous_namespace)::Target_selector_mips<32,_true>,_(anonymous_namespace)::Target_mips_nacl<32,_true>_>
               *this,type_10 *var_2,off_t offset,int machine,int osabi,int abiversion)

{
  type_1 var_17;
  type_1 var_15;
  type_2 var_10;
  int var_3;
  int *var_13;
  type_3 *pTVar6;
  type_4 *var_5;
  char *pcVar8;
  type_5 var_18;
  type_1 var_14;
  type_6 var_6;
  type_7 LVar12;
  type_8 local_60;
  type_9 file_1;
  Elf_file<64,_true,_gold::type_9> var_1;
  
  if (var_2 != (type_10 *)0x0) {
    var_3 = (this->super_Target_selector_mips<32,_true>).super_Target_selector.size_;
    file_1.offset_ = offset;
    if ((this->super_Target_selector_mips<32,_true>).super_Target_selector.is_big_endian_ == false)
    {
      if (var_3 == 0x20) {
        file_1.file_ = &var_2->file_;
        var_5 = File_read::var_4(file_1.file_,offset,0,0x34,true,false);
        var_1.shoff_ = (off_t)*(type_1 *)(var_5 + 0x20);
        var_1.shnum_ = (type_1)*(type_6 *)(var_5 + 0x30);
        var_1.large_shndx_offset_ = 0;
        var_1.shstrndx_ = (type_1)*(type_6 *)(var_5 + 0x32);
        var_6 = *(type_6 *)(var_5 + 0x28);
        var_1.file_ = &file_1;
        if (var_6 != 0x34) {
          pcVar8 = (char *)var_7("bad e_ehsize (%d != %d)");
          Sniff_file::var_8(&file_1,pcVar8,(type_5)var_6,0x34);
        }
        var_6 = *(type_6 *)(var_5 + 0x2e);
        if (var_6 != 0x28) {
          pcVar8 = (char *)var_7("bad e_shentsize (%d != %d)");
          Sniff_file::var_8(&file_1,pcVar8,(type_5)var_6,0x28);
        }
        var_14 = 1;
        elfcpp::Elf_file<32,_false,_gold::type_9>::var_20
                  ((Elf_file<32,_false,_gold::type_9> *)&var_1);
        var_15 = var_1.shnum_;
        if (1 < var_1.shnum_) {
          do {
            var_10 = elfcpp::Elf_file<32,_false,_gold::type_9>::var_9
                              ((Elf_file<32,_false,_gold::type_9> *)&var_1,var_14);
            if (var_10 == 7) {
              LVar12 = elfcpp::Elf_file<32,_false,_gold::type_9>::var_11
                                 ((Elf_file<32,_false,_gold::type_9> *)&var_1,var_14);
              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=
                     LVar12.size_) &&
                   (var_13 = (int *)File_read::var_4(file_1.file_,LVar12.offset_ + file_1.offset_
                                                        ,0,LVar12.size_,true,false), *var_13 == 5))
                  && ((type_5)(type_1)var_13[1] == (this->nacl_abi_name_)._M_string_length + 1)) &&
                 (((var_13[2] == 1 && (var_13[3] == 0x6c43614e)) &&
                  (((char)var_13[4] == '\0' &&
                   (var_3 = var_12(var_13 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,
                                   (type_5)(type_1)var_13[1]), var_3 == 0)))))) goto LAB_002a49fc;
            }
            var_14 = var_14 + 1;
          } while (var_15 != var_14);
        }
      }
      else {
        if (var_3 != 0x40) {
                    /* WARNING: Subroutine does not return */
          var_16("../../gold/nacl.h",0xbd,"recognize_nacl_file");
        }
        file_1.file_ = &var_2->file_;
        var_14 = 1;
        local_60.p_ = (Ehdr_data<64> *)File_read::var_4(file_1.file_,offset,0,0x40,true,false);
        elfcpp::Elf_file<64,_false,_gold::type_9>::var_19
                  ((Elf_file<64,_false,_gold::type_9> *)&var_1,&file_1,(type_8 *)&local_60);
        elfcpp::Elf_file<64,_false,_gold::type_9>::var_20
                  ((Elf_file<64,_false,_gold::type_9> *)&var_1);
        var_15 = var_1.shnum_;
        if (1 < var_1.shnum_) {
          do {
            var_10 = elfcpp::Elf_file<64,_false,_gold::type_9>::var_9
                              ((Elf_file<64,_false,_gold::type_9> *)&var_1,var_14);
            if (var_10 == 7) {
              LVar12 = elfcpp::Elf_file<64,_false,_gold::type_9>::var_11
                                 ((Elf_file<64,_false,_gold::type_9> *)&var_1,var_14);
              if ((((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=
                     LVar12.size_) &&
                   (var_13 = (int *)File_read::var_4(file_1.file_,LVar12.offset_ + file_1.offset_
                                                        ,0,LVar12.size_,true,false), *var_13 == 5))
                  && (((type_5)(type_1)var_13[1] == (this->nacl_abi_name_)._M_string_length + 1 &&
                      (((var_13[2] == 1 && (var_13[3] == 0x6c43614e)) && ((char)var_13[4] == '\0')))
                      ))) &&
                 (var_3 = var_12(var_13 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,
                                 (type_5)(type_1)var_13[1]), var_3 == 0)) goto LAB_002a49fc;
            }
            var_14 = var_14 + 1;
          } while (var_15 != var_14);
        }
      }
    }
    else if (var_3 == 0x20) {
      file_1.file_ = &var_2->file_;
      var_5 = File_read::var_4(file_1.file_,offset,0,0x34,true,false);
      var_15 = *(type_1 *)(var_5 + 0x20);
      var_1.shoff_ =
           (off_t)(var_15 >> 0x18 | (var_15 & 0xff0000) >> 8 | (var_15 & 0xff00) << 8 | var_15 << 0x18);
      var_1.shnum_ =
           (type_1)(type_6)(*(type_6 *)(var_5 + 0x30) << 8 | *(type_6 *)(var_5 + 0x30) >> 8);
      var_1.large_shndx_offset_ = 0;
      var_1.shstrndx_ =
           (type_1)(type_6)(*(type_6 *)(var_5 + 0x32) << 8 | *(type_6 *)(var_5 + 0x32) >> 8);
      var_6 = *(type_6 *)(var_5 + 0x28) << 8 | *(type_6 *)(var_5 + 0x28) >> 8;
      var_1.file_ = &file_1;
      if (var_6 != 0x34) {
        pcVar8 = (char *)var_7("bad e_ehsize (%d != %d)");
        Sniff_file::var_8(&file_1,pcVar8,(type_5)var_6,0x34);
      }
      var_6 = *(type_6 *)(var_5 + 0x2e) << 8 | *(type_6 *)(var_5 + 0x2e) >> 8;
      if (var_6 != 0x28) {
        pcVar8 = (char *)var_7("bad e_shentsize (%d != %d)");
        Sniff_file::var_8(&file_1,pcVar8,(type_5)var_6,0x28);
      }
      var_14 = 1;
      elfcpp::Elf_file<32,_true,_gold::type_9>::var_20
                ((Elf_file<32,_true,_gold::type_9> *)&var_1);
      var_15 = var_1.shnum_;
      if (1 < var_1.shnum_) {
        do {
          var_10 = elfcpp::Elf_file<32,_true,_gold::type_9>::var_9
                            ((Elf_file<32,_true,_gold::type_9> *)&var_1,var_14);
          if (var_10 == 7) {
            LVar12 = elfcpp::Elf_file<32,_true,_gold::type_9>::var_11
                               ((Elf_file<32,_true,_gold::type_9> *)&var_1,var_14);
            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=
                 LVar12.size_) &&
               (var_13 = (int *)File_read::var_4(file_1.file_,LVar12.offset_ + file_1.offset_,0,
                                                    LVar12.size_,true,false), *var_13 == 0x5000000))
            {
              var_17 = var_13[1];
              var_18 = (type_5)(var_17 >> 0x18 | (var_17 & 0xff0000) >> 8 | (var_17 & 0xff00) << 8 |
                             var_17 << 0x18);
              if ((((var_18 == (this->nacl_abi_name_)._M_string_length + 1) &&
                   ((var_13[2] == 0x1000000 && (var_13[3] == 0x6c43614e)))) &&
                  ((char)var_13[4] == '\0')) &&
                 (var_3 = var_12(var_13 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,var_18),
                 var_3 == 0)) goto LAB_002a49fc;
            }
          }
          var_14 = var_14 + 1;
        } while (var_15 != var_14);
      }
    }
    else {
      if (var_3 != 0x40) {
                    /* WARNING: Subroutine does not return */
        var_16("../../gold/nacl.h",0xaf,"recognize_nacl_file");
      }
      file_1.file_ = &var_2->file_;
      var_14 = 1;
      local_60.p_ = (Ehdr_data<64> *)File_read::var_4(file_1.file_,offset,0,0x40,true,false);
      elfcpp::Elf_file<64,_true,_gold::type_9>::var_19(&var_1,&file_1,&local_60);
      elfcpp::Elf_file<64,_true,_gold::type_9>::var_20(&var_1);
      var_15 = var_1.shnum_;
      if (1 < var_1.shnum_) {
        do {
          var_10 = elfcpp::Elf_file<64,_true,_gold::type_9>::var_9(&var_1,var_14);
          if (var_10 == 7) {
            LVar12 = elfcpp::Elf_file<64,_true,_gold::type_9>::var_11
                               (&var_1,var_14);
            if ((((this->nacl_abi_name_)._M_string_length + 4 & 0xfffffffffffffffc) + 0x14 <=
                 LVar12.size_) &&
               (var_13 = (int *)File_read::var_4(file_1.file_,LVar12.offset_ + file_1.offset_,0,
                                                    LVar12.size_,true,false), *var_13 == 0x5000000))
            {
              var_17 = var_13[1];
              var_18 = (type_5)(var_17 >> 0x18 | (var_17 & 0xff0000) >> 8 | (var_17 & 0xff00) << 8 |
                             var_17 << 0x18);
              if ((var_18 == (this->nacl_abi_name_)._M_string_length + 1) &&
                 ((((var_13[2] == 0x1000000 && (var_13[3] == 0x6c43614e)) &&
                   ((char)var_13[4] == '\0')) &&
                  (var_3 = var_12(var_13 + 5,(this->nacl_abi_name_)._M_dataplus._M_p,var_18),
                  var_3 == 0)))) {
LAB_002a49fc:
                this->is_nacl_ = true;
                pTVar6 = type_11::var_21((type_11 *)this);
                return pTVar6;
              }
            }
          }
          var_14 = var_14 + 1;
        } while (var_15 != var_14);
      }
    }
  }
  this->is_nacl_ = false;
  pTVar6 = type_11::var_21((type_11 *)this);
  return pTVar6;
}


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

void MASKED(long param_1,long param_2,long param_3)

{
  short sVar1;
  uint uVar2;
  uint uVar3;
  int iVar4;
  int *piVar5;
  long lVar6;
  undefined8 uVar7;
  ulong uVar8;
  uint uVar9;
  ushort uVar10;
  undefined1 auVar11 [16];
  undefined8 local_60;
  long local_58;
  long local_50;
  long *local_48;
  ulong local_40;
  uint local_38;
  uint local_34;
  undefined4 local_30;
  
  if (param_2 != 0) {
    iVar4 = *(int *)(param_1 + 0xc);
    local_50 = param_3;
    if (*(char *)(param_1 + 0x10) == '\0') {
      if (iVar4 == 0x20) {
        local_58 = param_2 + 0x28;
        lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);
        local_40 = (ulong)*(uint *)(lVar6 + 0x20);
        local_38 = (uint)*(ushort *)(lVar6 + 0x30);
        local_30 = 0;
        local_34 = (uint)*(ushort *)(lVar6 + 0x32);
        sVar1 = *(short *)(lVar6 + 0x28);
        local_48 = &local_58;
        if (sVar1 != 0x34) {
          uVar7 = gettext("bad e_ehsize (%d != %d)");
          FUN_003926c0(&local_58,uVar7,sVar1,0x34);
        }
        sVar1 = *(short *)(lVar6 + 0x2e);
        if (sVar1 != 0x28) {
          uVar7 = gettext("bad e_shentsize (%d != %d)");
          FUN_003926c0(&local_58,uVar7,sVar1,0x28);
        }
        uVar9 = 1;
        FUN_001a8070(&local_48);
        uVar3 = local_38;
        if (1 < local_38) {
          do {
            iVar4 = FUN_001c29e0(&local_48,uVar9);
            if (iVar4 == 7) {
              auVar11 = FUN_001c2a70(&local_48,uVar9);
              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)
                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,
                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&
                  ((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U)) &&
                 (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) &&
                  (((char)piVar5[4] == '\0' &&
                   (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),
                   iVar4 == 0)))))) goto LAB_002a49fc;
            }
            uVar9 = uVar9 + 1;
          } while (uVar3 != uVar9);
        }
      }
      else {
        if (iVar4 != 0x40) {
                    /* WARNING: Subroutine does not return */
          FUN_00352af0("../../gold/nacl.h",0xbd,"recognize_nacl_file");
        }
        local_58 = param_2 + 0x28;
        uVar9 = 1;
        local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);
        FUN_001c2b00(&local_48,&local_58,&local_60);
        FUN_001a8200(&local_48);
        uVar3 = local_38;
        if (1 < local_38) {
          do {
            iVar4 = FUN_001c2ba0(&local_48,uVar9);
            if (iVar4 == 7) {
              auVar11 = FUN_001c2c30(&local_48,uVar9);
              if (((((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_)
                   && (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,
                                                    auVar11._8_8_,1,0), *piVar5 == 5)) &&
                  (((ulong)(uint)piVar5[1] == *(long *)(param_1 + 0x68) + 1U &&
                   (((piVar5[2] == 1 && (piVar5[3] == 0x6c43614e)) && ((char)piVar5[4] == '\0'))))))
                 && (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),(ulong)(uint)piVar5[1]),
                    iVar4 == 0)) goto LAB_002a49fc;
            }
            uVar9 = uVar9 + 1;
          } while (uVar3 != uVar9);
        }
      }
    }
    else if (iVar4 == 0x20) {
      local_58 = param_2 + 0x28;
      lVar6 = FUN_0034d600(local_58,param_3,0,0x34,1,0);
      uVar3 = *(uint *)(lVar6 + 0x20);
      local_40 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |
                        uVar3 << 0x18);
      local_38 = (uint)(ushort)(*(ushort *)(lVar6 + 0x30) << 8 | *(ushort *)(lVar6 + 0x30) >> 8);
      local_30 = 0;
      local_34 = (uint)(ushort)(*(ushort *)(lVar6 + 0x32) << 8 | *(ushort *)(lVar6 + 0x32) >> 8);
      uVar10 = *(ushort *)(lVar6 + 0x28) << 8 | *(ushort *)(lVar6 + 0x28) >> 8;
      local_48 = &local_58;
      if (uVar10 != 0x34) {
        uVar7 = gettext("bad e_ehsize (%d != %d)");
        FUN_003926c0(&local_58,uVar7,uVar10,0x34);
      }
      uVar10 = *(ushort *)(lVar6 + 0x2e) << 8 | *(ushort *)(lVar6 + 0x2e) >> 8;
      if (uVar10 != 0x28) {
        uVar7 = gettext("bad e_shentsize (%d != %d)");
        FUN_003926c0(&local_58,uVar7,uVar10,0x28);
      }
      uVar9 = 1;
      FUN_001a7d30(&local_48);
      uVar3 = local_38;
      if (1 < local_38) {
        do {
          iVar4 = FUN_001c26c0(&local_48,uVar9);
          if (iVar4 == 7) {
            auVar11 = FUN_001c2750(&local_48,uVar9);
            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&
               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),
               *piVar5 == 0x5000000)) {
              uVar2 = piVar5[1];
              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |
                             uVar2 << 0x18);
              if ((((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&
                   ((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)))) &&
                  ((char)piVar5[4] == '\0')) &&
                 (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0))
              goto LAB_002a49fc;
            }
          }
          uVar9 = uVar9 + 1;
        } while (uVar3 != uVar9);
      }
    }
    else {
      if (iVar4 != 0x40) {
                    /* WARNING: Subroutine does not return */
        FUN_00352af0("../../gold/nacl.h",0xaf,"recognize_nacl_file");
      }
      local_58 = param_2 + 0x28;
      uVar9 = 1;
      local_60 = FUN_0034d600(local_58,param_3,0,0x40,1,0);
      FUN_001c27f0(&local_48,&local_58,&local_60);
      FUN_001a7ed0(&local_48);
      uVar3 = local_38;
      if (1 < local_38) {
        do {
          iVar4 = FUN_001c28b0(&local_48,uVar9);
          if (iVar4 == 7) {
            auVar11 = FUN_001c2940(&local_48,uVar9);
            if (((*(long *)(param_1 + 0x68) + 4U & 0xfffffffffffffffc) + 0x14 <= auVar11._8_8_) &&
               (piVar5 = (int *)FUN_0034d600(local_58,auVar11._0_8_ + local_50,0,auVar11._8_8_,1,0),
               *piVar5 == 0x5000000)) {
              uVar2 = piVar5[1];
              uVar8 = (ulong)(uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |
                             uVar2 << 0x18);
              if ((uVar8 == *(long *)(param_1 + 0x68) + 1U) &&
                 ((((piVar5[2] == 0x1000000 && (piVar5[3] == 0x6c43614e)) &&
                   ((char)piVar5[4] == '\0')) &&
                  (iVar4 = memcmp(piVar5 + 5,*(void **)(param_1 + 0x60),uVar8), iVar4 == 0)))) {
LAB_002a49fc:
                *(undefined1 *)(param_1 + 0x58) = 1;
                FUN_0045b0a0(param_1);
                return;
              }
            }
          }
          uVar9 = uVar9 + 1;
        } while (uVar3 != uVar9);
      }
    }
  }
  *(undefined1 *)(param_1 + 0x58) = 0;
  FUN_0045b0a0(param_1);
  return;
}

