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

int __regparm3 display_debug_pubnames_worker(dwarf_section *section,void *file,int is_gnu)

{
  uint uVar1;
  ushort uVar2;
  char *pcVar3;
  uchar *puVar4;
  uchar *puVar5;
  char *pcVar6;
  int iVar7;
  undefined4 uVar8;
  undefined4 uVar9;
  size_t sVar10;
  int iVar11;
  char *message;
  dwarf_section *section_1;
  dwarf_vma *pdVar12;
  uchar *puVar13;
  uint uVar14;
  uchar *puVar15;
  uchar *puVar16;
  uint num_bytes;
  elf_vma eVar17;
  elf_vma eVar18;
  char *in_stack_ffffff98;
  void *in_stack_ffffffa4;
  undefined8 local_54;
  uchar *local_48;
  int local_34;
  uint local_28;
  uchar *local_24;
  
  puVar16 = section->start;
  puVar13 = puVar16 + (int)section->size;
  load_debug_info(in_stack_ffffffa4);
  introduce((dwarf_section *)section->name,(bfd_boolean)&section->filename,section_1);
  do {
    if (puVar13 <= puVar16) {
LAB_00035816:
      putchar(10);
      return 1;
    }
    puVar15 = puVar16 + 4;
    if (puVar15 < puVar13) {
      puVar4 = (uchar *)0x4;
LAB_0003540f:
      eVar17 = (*byte_get)(puVar16,(int)puVar4);
      if (eVar17 == 0xffffffff) {
        puVar16 = puVar16 + 0xc;
        if (puVar16 < puVar13) {
          puVar5 = (uchar *)0x8;
        }
        else if ((puVar13 <= puVar15) ||
                (puVar5 = puVar13 + -(int)puVar15, (uchar *)0x7 < puVar5 + -1)) {
          local_34 = 0xc;
          local_48 = (uchar *)0x8;
          puVar15 = puVar16;
          goto LAB_00035266;
        }
        eVar17 = (*byte_get)(puVar15,(int)puVar5);
        local_34 = 0xc;
        local_48 = (uchar *)0x8;
        puVar15 = puVar16;
        puVar4 = puVar5;
      }
      else {
        local_34 = 4;
        local_48 = (uchar *)0x4;
      }
      num_bytes = (uint)eVar17;
      uVar14 = (int)puVar15 - (int)section->start;
      local_54 = eVar17 + uVar14;
      if ((uint)((uint)local_54 < uVar14) <= (uint)(local_54 >> 0x20)) goto LAB_0003527f;
LAB_000357ce:
      pcVar6 = dwarf_vmatoa_1("x",ZEXT48(puVar4) << 0x20,num_bytes);
      pcVar3 = section->name;
      message = (char *)dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);
      warn(message,pcVar3,uVar14 - local_34,pcVar6);
      goto LAB_00035816;
    }
    puVar4 = puVar13 + -(int)puVar16;
    if (puVar4 + -1 < (uchar *)0x8) goto LAB_0003540f;
    local_34 = 4;
    local_48 = (uchar *)0x4;
    puVar4 = (uchar *)in_stack_ffffff98;
LAB_00035266:
    eVar17 = 0;
    uVar14 = (int)puVar15 - (int)section->start;
    local_54 = (ulonglong)uVar14;
LAB_0003527f:
    num_bytes = (uint)eVar17;
    uVar1 = *(uint *)((int)&section->size + 4);
    if (uVar1 < local_54._4_4_ ||
        uVar1 - local_54._4_4_ < (uint)((uint)section->size < (uint)local_54)) goto LAB_000357ce;
    puVar16 = puVar15 + num_bytes;
    puVar4 = puVar15 + 2;
    puVar5 = local_48;
    if (puVar4 < puVar13) {
      eVar17 = (*byte_get)(puVar15,2);
      uVar14 = (uint)eVar17;
      if (puVar4 + (int)local_48 < puVar13) {
LAB_00035730:
        local_28 = uVar14 & 0xffff;
        uVar2 = (short)uVar14 - 2;
      }
      else {
        local_28 = uVar14 & 0xffff;
        uVar2 = (short)eVar17 - 2;
        puVar5 = puVar13 + -(int)puVar4;
        if ((uchar *)0x7 < puVar13 + -(int)puVar4 + -1) goto LAB_000354ec;
      }
LAB_000352fb:
      eVar17 = (*byte_get)(puVar4,(int)puVar5);
      local_34 = (int)eVar17;
    }
    else if ((puVar15 < puVar13) && (((int)puVar13 - (int)puVar15) - 1U < 8)) {
      eVar17 = (*byte_get)(puVar15,(int)puVar13 - (int)puVar15);
      uVar14 = (uint)eVar17;
      if (puVar4 + (int)local_48 < puVar13) goto LAB_00035730;
      local_28 = uVar14 & 0xffff;
      uVar2 = (short)eVar17 - 2;
      local_34 = 0;
    }
    else {
      local_28 = 0;
      uVar2 = 0xfffe;
      if (puVar4 + (int)local_48 < puVar13) goto LAB_000352fb;
LAB_000354ec:
      local_34 = 0;
    }
    puVar4 = puVar4 + (int)local_48;
    if (num_debug_info_entries - 1 < 0xfffffffe) {
      uVar14 = 0;
      pdVar12 = &debug_information->cu_offset;
      do {
        if ((int)*pdVar12 == local_34 && *(int *)((int)pdVar12 + 4) == 0) goto LAB_00035321;
        uVar14 = uVar14 + 1;
        pdVar12 = pdVar12 + 10;
      } while (num_debug_info_entries != uVar14);
      pcVar3 = section->name;
      pcVar6 = (char *)dcgettext(0,
                                 ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"
                                 ,5);
      warn(pcVar6,local_34,pcVar3);
    }
LAB_00035321:
    puVar15 = puVar4 + (int)local_48;
    puVar5 = local_48;
    if ((puVar15 < puVar13) ||
       ((local_24 = (uchar *)0x0, puVar4 < puVar13 &&
        (puVar5 = puVar13 + -(int)puVar4, puVar13 + -(int)puVar4 + -1 < (uchar *)0x8)))) {
      eVar17 = (*byte_get)(puVar4,(int)puVar5);
      local_24 = (uchar *)eVar17;
    }
    pcVar3 = (char *)dcgettext(0,"  Length:                              %ld\n",5);
    printf(pcVar3,num_bytes);
    pcVar3 = (char *)dcgettext(0,"  Version:                             %d\n",5);
    printf(pcVar3,local_28);
    pcVar3 = (char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5);
    printf(pcVar3,local_34);
    pcVar3 = (char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5);
    printf(pcVar3);
    if (uVar2 < 2) {
      if (is_gnu == 0) {
        in_stack_ffffff98 = "\n    Offset\tName\n";
      }
      else {
        in_stack_ffffff98 = "\n    Offset  Kind          Name\n";
      }
      pcVar3 = (char *)dcgettext(0,in_stack_ffffff98,5);
      printf(pcVar3);
      do {
        puVar4 = puVar15 + (int)local_48;
        if (puVar13 <= puVar4) {
          if ((puVar15 < puVar13) && (puVar4 = puVar13 + -(int)puVar15, puVar4 + -1 < (uchar *)0x8))
          {
            (*byte_get)(puVar15,(int)puVar4);
            in_stack_ffffff98 = (char *)puVar4;
          }
          break;
        }
        in_stack_ffffff98 = (char *)local_48;
        eVar17 = (*byte_get)(puVar15,(int)local_48);
        if (eVar17 == 0) break;
        iVar7 = (int)puVar13 - (int)puVar4;
        in_stack_ffffff98 = (char *)(iVar7 + -1);
        if (is_gnu == 0) {
          printf("    %-6lx\t%.*s\n",(int)eVar17,in_stack_ffffff98,puVar4);
        }
        else {
          puVar15 = puVar4 + 1;
          iVar11 = is_gnu;
          if ((puVar15 < puVar13) || (iVar11 = iVar7, in_stack_ffffff98 < (uchar *)0x8)) {
            eVar18 = (*byte_get)(puVar4,iVar11);
            uVar14 = (int)eVar18 << 0x18;
            uVar8 = dcgettext(0,*(undefined4 *)(kinds_11357 + (uVar14 >> 0x1c & 7) * 4),5);
            if (-1 < (int)uVar14) goto LAB_0003565a;
            uVar9 = dcgettext(0,"s",5);
          }
          else {
            uVar8 = dcgettext(0,"no info",5);
LAB_0003565a:
            uVar9 = dcgettext(0,"g",5);
          }
          printf("    %-6lx  %s,%-10s  %.*s\n",(int)eVar17,uVar9,uVar8,(uchar *)(iVar7 + -2),puVar15
                );
          puVar4 = puVar15;
          in_stack_ffffff98 = (char *)(iVar7 + -2);
        }
        sVar10 = strnlen((char *)puVar4,(size_t)in_stack_ffffff98);
        puVar15 = puVar4 + sVar10 + 1;
      } while (puVar15 < puVar13);
    }
    else {
      in_stack_ffffff98 = (char *)local_24;
      if (display_debug_pubnames_worker::lexical_block_6::lexical_block_6_9::warned == 0) {
        in_stack_ffffff98 = "Only DWARF 2 and 3 pubnames are currently supported\n";
        pcVar3 = (char *)dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);
        warn(pcVar3);
        display_debug_pubnames_worker::lexical_block_6::lexical_block_6_9::warned = 1;
      }
    }
  } while( true );
}



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

undefined4 __regparm3 FUN_000351f0(int param_1,undefined4 param_2,int param_3)

{
  ulonglong uVar1;
  ushort uVar2;
  char *pcVar3;
  int iVar4;
  undefined4 uVar5;
  size_t sVar6;
  int iVar7;
  undefined4 uVar8;
  undefined4 uVar9;
  int *piVar10;
  char *pcVar11;
  uint uVar12;
  char *pcVar13;
  char *pcVar14;
  longlong lVar15;
  char *local_54;
  uint local_50;
  int local_48;
  int local_34;
  uint local_28;
  undefined4 local_24;
  
  pcVar14 = *(char **)(param_1 + 0x10);
  pcVar11 = pcVar14 + *(int *)(param_1 + 0x1c);
  FUN_00032500();
  FUN_0001ec20();
  do {
    if (pcVar11 <= pcVar14) {
LAB_00035816:
      putchar(10);
      return 1;
    }
    pcVar13 = pcVar14 + 4;
    if (pcVar13 < pcVar11) {
      iVar4 = 4;
LAB_0003540f:
      lVar15 = (*DAT_00076b4c)(pcVar14,iVar4);
      if (lVar15 == 0xffffffff) {
        pcVar14 = pcVar14 + 0xc;
        if (pcVar14 < pcVar11) {
          iVar4 = 8;
        }
        else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {
          local_34 = 0xc;
          local_48 = 8;
          pcVar13 = pcVar14;
          goto LAB_00035266;
        }
        lVar15 = (*DAT_00076b4c)(pcVar13,iVar4);
        local_34 = 0xc;
        local_48 = 8;
        pcVar13 = pcVar14;
      }
      else {
        local_34 = 4;
        local_48 = 4;
      }
      iVar4 = (int)lVar15;
      uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);
      uVar1 = lVar15 + (ulonglong)uVar12;
      if ((uint)((uint)uVar1 < uVar12) <= (uint)(uVar1 >> 0x20)) goto LAB_0003527f;
LAB_000357ce:
      uVar5 = FUN_0001cbf0(0);
      uVar8 = *(undefined4 *)(param_1 + 8);
      uVar9 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);
      warn(uVar9,uVar8,uVar12 - local_34,uVar5);
      goto LAB_00035816;
    }
    iVar4 = (int)pcVar11 - (int)pcVar14;
    if (iVar4 - 1U < 8) goto LAB_0003540f;
    local_34 = 4;
    local_48 = 4;
LAB_00035266:
    iVar4 = 0;
    uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);
    uVar1 = (ulonglong)uVar12;
LAB_0003527f:
    local_50 = (uint)(uVar1 >> 0x20);
    local_54 = (char *)uVar1;
    if (*(uint *)(param_1 + 0x20) < local_50 ||
        *(uint *)(param_1 + 0x20) - local_50 < (uint)(*(uint *)(param_1 + 0x1c) < local_54))
    goto LAB_000357ce;
    pcVar14 = pcVar13 + iVar4;
    local_54 = pcVar13 + 2;
    iVar7 = local_48;
    if (local_54 < pcVar11) {
      uVar2 = (*DAT_00076b4c)(pcVar13,2);
      if (local_54 + local_48 < pcVar11) {
LAB_00035730:
        local_28 = (uint)uVar2;
        uVar2 = uVar2 - 2;
      }
      else {
        local_28 = (uint)uVar2;
        uVar2 = uVar2 - 2;
        iVar7 = (int)pcVar11 - (int)local_54;
        if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;
      }
LAB_000352fb:
      local_34 = (*DAT_00076b4c)(local_54,iVar7);
    }
    else if (pcVar13 < pcVar11) {
      uVar12 = ((int)pcVar11 - (int)pcVar13) - 1;
      if (7 < uVar12) goto LAB_000352c7;
      uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12);
      if (local_54 + local_48 < pcVar11) goto LAB_00035730;
      local_28 = (uint)uVar2;
      uVar2 = uVar2 - 2;
      local_34 = 0;
    }
    else {
LAB_000352c7:
      local_28 = 0;
      uVar2 = 0xfffe;
      if (local_54 + local_48 < pcVar11) goto LAB_000352fb;
LAB_000354ec:
      local_34 = 0;
    }
    if (DAT_0007694c - 1U < 0xfffffffe) {
      iVar7 = 0;
      piVar10 = (int *)(DAT_00076944 + 0xc);
      do {
        if (*piVar10 == local_34 && piVar10[1] == 0) goto LAB_00035321;
        iVar7 = iVar7 + 1;
        piVar10 = piVar10 + 0x14;
      } while (DAT_0007694c != iVar7);
      uVar8 = *(undefined4 *)(param_1 + 8);
      uVar5 = dcgettext(0,
                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"
                        ,5);
      warn(uVar5,local_34,uVar8);
    }
LAB_00035321:
    local_54 = local_54 + local_48;
    pcVar13 = local_54 + local_48;
    iVar7 = local_48;
    if ((pcVar13 < pcVar11) ||
       ((local_24 = 0, local_54 < pcVar11 &&
        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)))) {
      local_24 = (*DAT_00076b4c)(local_54,iVar7);
    }
    pcVar3 = (char *)dcgettext(0,"  Length:                              %ld\n",5);
    printf(pcVar3,iVar4);
    pcVar3 = (char *)dcgettext(0,"  Version:                             %d\n",5);
    printf(pcVar3,local_28);
    pcVar3 = (char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5);
    printf(pcVar3,local_34);
    pcVar3 = (char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5);
    printf(pcVar3,local_24);
    if (uVar2 < 2) {
      if (param_3 == 0) {
        pcVar3 = "\n    Offset\tName\n";
      }
      else {
        pcVar3 = "\n    Offset  Kind          Name\n";
      }
      pcVar3 = (char *)dcgettext(0,pcVar3,5);
      printf(pcVar3);
      do {
        pcVar3 = pcVar13 + local_48;
        if (pcVar11 <= pcVar3) {
          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {
            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);
          }
          break;
        }
        lVar15 = (*DAT_00076b4c)(pcVar13,local_48);
        if (lVar15 == 0) break;
        iVar4 = (int)pcVar11 - (int)pcVar3;
        local_54 = (char *)(iVar4 - 1);
        if (param_3 == 0) {
          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);
        }
        else {
          pcVar13 = pcVar3 + 1;
          iVar7 = param_3;
          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {
            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);
            uVar8 = dcgettext(0,*(undefined4 *)
                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);
            if (-1 < iVar7 << 0x18) goto LAB_0003565a;
            uVar5 = dcgettext(0,"s",5);
          }
          else {
            uVar8 = dcgettext(0,"no info",5);
LAB_0003565a:
            uVar5 = dcgettext(0,"g",5);
          }
          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);
          pcVar3 = pcVar13;
          local_54 = (char *)(iVar4 - 2U);
        }
        sVar6 = strnlen(pcVar3,(size_t)local_54);
        pcVar13 = pcVar3 + sVar6 + 1;
      } while (pcVar13 < pcVar11);
    }
    else if (DAT_00074224 == 0) {
      uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);
      warn(uVar8);
      DAT_00074224 = 1;
    }
  } while( true );
}


PUSH EBP
PUSH EDI
MOV EDI,EAX
PUSH ESI
PUSH EBX
CALL 0x000153d0
ADD EBX,0x3de05
SUB ESP,0x4c
MOV EBP,dword ptr [EDI + 0x10]
MOV ESI,dword ptr [EDI + 0x1c]
MOV dword ptr [ESP + 0x2c],EAX
MOV EAX,EDX
ADD ESI,EBP
MOV dword ptr [ESP + 0x20],ECX
MOV dword ptr [ESP + 0x18],EBP
MOV dword ptr [ESP + 0x10],ESI
CALL 0x00032500
MOV EAX,dword ptr [EDI + 0x8]
LEA EDX,[EDI + 0xc]
CALL 0x0001ec20
LEA EAX,[EBX + 0x3b4c]
MOV dword ptr [ESP + 0x24],EAX
CMP EBP,ESI
JC 0x000353f7
JMP 0x00035816
SUB EAX,EDI
LEA EDX,[EAX + -0x1]
CMP EDX,0x7
JBE 0x0003540f
MOV dword ptr [ESP + 0x28],0x4
MOV dword ptr [ESP + 0x14],0x4
MOV EAX,dword ptr [ESP + 0x2c]
MOV ESI,ECX
MOV dword ptr [ESP + 0xc],0x0
XOR EDI,EDI
XOR EBP,EBP
SUB ESI,dword ptr [EAX + 0x10]
MOV dword ptr [ESP + 0x8],ESI
MOV EAX,dword ptr [ESP + 0x2c]
MOV EDX,dword ptr [EAX + 0x20]
MOV dword ptr [ESP + 0x18],EDX
MOV EDX,dword ptr [ESP + 0x8]
CMP dword ptr [EAX + 0x1c],EDX
MOV EDX,dword ptr [ESP + 0x18]
SBB EDX,dword ptr [ESP + 0xc]
JC 0x000357ce
LEA EAX,[ECX + EDI*0x1]
LEA ESI,[ECX + 0x2]
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,dword ptr [ESP + 0x10]
CMP ESI,EAX
JC 0x000354a0
CMP EAX,ECX
JBE 0x000352c7
SUB EAX,ECX
LEA EDX,[EAX + -0x1]
CMP EDX,0x7
JBE 0x00035869
MOV EAX,dword ptr [ESP + 0x14]
MOV ECX,0xfffffffe
MOV dword ptr [ESP + 0x34],0x0
MOV word ptr [ESP + 0x30],CX
ADD EAX,ESI
CMP EAX,dword ptr [ESP + 0x10]
MOV dword ptr [ESP + 0x8],EAX
JNC 0x000354ec
LEA EAX,[EBX + 0x3b4c]
MOV dword ptr [ESP + 0x28],EAX
MOV EAX,dword ptr [ESP + 0x14]
SUB ESP,0x8
PUSH EAX
PUSH ESI
MOV EAX,dword ptr [ESP + 0x38]
CALL dword ptr [EAX]
MOV dword ptr [ESP + 0x38],EAX
ADD ESP,0x10
MOV EDX,dword ptr [EBX + 0x394c]
MOV ESI,EDX
SUB EDX,0x1
CMP EDX,-0x3
JBE 0x0003550a
MOV EAX,dword ptr [ESP + 0x8]
MOV ESI,dword ptr [ESP + 0x14]
MOV ECX,dword ptr [ESP + 0x10]
ADD ESI,EAX
CMP ESI,ECX
JC 0x00035478
MOV dword ptr [ESP + 0x38],0x0
CMP ECX,EAX
JBE 0x00035353
SUB ECX,EAX
LEA EDX,[ECX + -0x1]
MOV EAX,ECX
CMP EDX,0x7
JBE 0x0003547c
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe02b8]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141f0
POP EDX
POP ECX
PUSH EDI
PUSH EAX
CALL 0x000140b0
ADD ESP,0xc
LEA EAX,[EBX + 0xfffe02e4]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141f0
POP EDI
POP EBP
PUSH dword ptr [ESP + 0x3c]
PUSH EAX
CALL 0x000140b0
ADD ESP,0xc
LEA EAX,[EBX + 0xfffe0310]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141f0
POP EDX
POP ECX
PUSH dword ptr [ESP + 0x30]
PUSH EAX
CALL 0x000140b0
ADD ESP,0xc
LEA EAX,[EBX + 0xfffe0340]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141f0
POP EDI
POP EBP
PUSH dword ptr [ESP + 0x40]
PUSH EAX
CALL 0x000140b0
ADD ESP,0x10
CMP word ptr [ESP + 0x30],0x1
JBE 0x00035570
MOV EBP,dword ptr [EBX + 0x1224]
TEST EBP,EBP
JZ 0x00035748
MOV EDI,dword ptr [ESP + 0x18]
CMP dword ptr [ESP + 0x10],EDI
JBE 0x00035816
MOV EDI,dword ptr [ESP + 0x18]
MOV EAX,dword ptr [ESP + 0x10]
LEA ECX,[EDI + 0x4]
CMP ECX,EAX
JNC 0x00035248
MOV EAX,0x4
LEA EDI,[EBX + 0x3b4c]
MOV dword ptr [ESP + 0x8],ECX
SUB ESP,0x8
MOV dword ptr [ESP + 0x30],EDI
PUSH EAX
MOV ESI,dword ptr [ESP + 0x24]
PUSH ESI
CALL dword ptr [EDI]
MOV ECX,dword ptr [ESP + 0x18]
MOV EDI,EAX
NOT EAX
MOV EBP,EDX
ADD ESP,0x10
OR EDX,EAX
JNZ 0x00035830
MOV EAX,dword ptr [ESP + 0x10]
ADD ESI,0xc
CMP ESI,EAX
JC 0x00035778
CMP ECX,EAX
JNC 0x0003545e
SUB EAX,ECX
LEA EDX,[EAX + -0x1]
CMP EDX,0x7
JBE 0x0003577d
MOV ECX,ESI
MOV dword ptr [ESP + 0x28],0xc
MOV dword ptr [ESP + 0x14],0x8
JMP 0x00035266
MOV EAX,dword ptr [ESP + 0x14]
SUB ESP,0x8
LEA EDX,[EBX + 0x3b4c]
PUSH EAX
PUSH dword ptr [ESP + 0x14]
CALL dword ptr [EDX]
MOV dword ptr [ESP + 0x48],EAX
ADD ESP,0x10
JMP 0x00035353
LEA EAX,[EBX + 0x3b4c]
SUB ESP,0x8
MOV dword ptr [ESP + 0x30],EAX
PUSH 0x2
PUSH ECX
CALL dword ptr [EAX]
MOV ECX,dword ptr [ESP + 0x24]
MOV EDX,EAX
ADD ECX,ESI
MOV dword ptr [ESP + 0x18],ECX
ADD ESP,0x10
CMP ECX,dword ptr [ESP + 0x10]
JC 0x00035730
MOVZX EDX,AX
SUB EAX,0x2
MOV word ptr [ESP + 0x30],AX
MOV EAX,dword ptr [ESP + 0x10]
MOV dword ptr [ESP + 0x34],EDX
SUB EAX,ESI
LEA EDX,[EAX + -0x1]
CMP EDX,0x7
JBE 0x000352fb
MOV EDX,dword ptr [EBX + 0x394c]
MOV dword ptr [ESP + 0x28],0x0
XOR EAX,EAX
MOV ESI,EDX
SUB EDX,0x1
CMP EDX,-0x3
JA 0x00035321
MOV EDX,dword ptr [EBX + 0x3944]
MOV dword ptr [ESP + 0x38],EDI
XOR ECX,ECX
MOV dword ptr [ESP + 0x3c],EBP
MOV EBP,ESI
ADD EDX,0xc
NOP
MOV ESI,dword ptr [EDX]
XOR ESI,EAX
OR ESI,dword ptr [EDX + 0x4]
JZ 0x00035860
ADD ECX,0x1
ADD EDX,0x50
CMP EBP,ECX
JNZ 0x00035520
MOV EAX,dword ptr [ESP + 0x2c]
MOV EDI,dword ptr [ESP + 0x38]
SUB ESP,0x4
MOV ESI,dword ptr [EAX + 0x8]
LEA EAX,[EBX + 0xfffe03c8]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141f0
ADD ESP,0xc
PUSH ESI
PUSH dword ptr [ESP + 0x30]
PUSH EAX
CALL 0x00048d70
ADD ESP,0x10
JMP 0x00035321
MOV EDI,dword ptr [ESP + 0x20]
TEST EDI,EDI
JZ 0x00035848
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe03a4]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141f0
MOV dword ptr [ESP],EAX
CALL 0x000140b0
ADD ESP,0x10
LEA EAX,[EBX + 0xfffe2244]
MOV dword ptr [ESP + 0x34],EAX
LEA ESI,[ESI]
MOV ECX,dword ptr [ESP + 0x14]
LEA EDI,[ESI + ECX*0x1]
CMP EDI,dword ptr [ESP + 0x10]
JC 0x000355e8
MOV EAX,dword ptr [ESP + 0x10]
CMP ESI,EAX
JNC 0x000353e9
SUB EAX,ESI
LEA EDX,[EAX + -0x1]
CMP EDX,0x7
JA 0x000353e9
SUB ESP,0x8
LEA EDI,[EBX + 0x3b4c]
PUSH EAX
PUSH ESI
CALL dword ptr [EDI]
ADD ESP,0x10
JMP 0x000353e9
SUB ESP,0x8
PUSH ECX
PUSH ESI
MOV ECX,dword ptr [ESP + 0x34]
CALL dword ptr [ECX]
MOV EBP,EAX
ADD ESP,0x10
OR EDX,EBP
JZ 0x000353e9
MOV EAX,dword ptr [ESP + 0x10]
MOV ESI,dword ptr [ESP + 0x20]
SUB EAX,EDI
LEA EDX,[EAX + -0x1]
MOV ECX,EDX
MOV dword ptr [ESP + 0x8],EDX
SAR ECX,0x1f
MOV dword ptr [ESP + 0xc],ECX
TEST ESI,ESI
JZ 0x00035710
ADD dword ptr [ESP + 0x8],-0x1
MOV ECX,dword ptr [ESP + 0x8]
LEA ESI,[EDI + 0x1]
ADC dword ptr [ESP + 0xc],-0x1
MOV dword ptr [ESP + 0x28],ECX
CMP ESI,dword ptr [ESP + 0x10]
JC 0x000356b0
CMP EDX,0x7
JBE 0x000356b4
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe2254]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141f0
ADD ESP,0x10
MOV EDI,EAX
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe7235]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141f0
ADD ESP,0x10
SUB ESP,0x8
PUSH ESI
PUSH dword ptr [ESP + 0x34]
PUSH EDI
PUSH EAX
LEA EAX,[EBX + 0xfffe2229]
PUSH EBP
PUSH EAX
CALL 0x000140b0
ADD ESP,0x20
SUB ESP,0x8
PUSH dword ptr [ESP + 0x10]
PUSH ESI
CALL 0x000145e0
ADD ESP,0x10
LEA ESI,[ESI + EAX*0x1 + 0x1]
CMP dword ptr [ESP + 0x10],ESI
JA 0x000355a8
JMP 0x000353e9
MOV EAX,dword ptr [ESP + 0x20]
SUB ESP,0x8
PUSH EAX
PUSH EDI
MOV EAX,dword ptr [ESP + 0x34]
CALL dword ptr [EAX]
ADD ESP,0xc
SHL EAX,0x18
PUSH 0x5
MOV dword ptr [ESP + 0x38],EAX
SHR EAX,0x1c
AND EAX,0x7
PUSH dword ptr [EBX + EAX*0x4 + 0xfffff2c0]
PUSH 0x0
CALL 0x000141f0
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x30]
MOV EDI,EAX
TEST EDX,EDX
JNS 0x0003565a
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe0da9]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141f0
ADD ESP,0x10
JMP 0x00035670
PUSH EDI
MOV ESI,EDI
PUSH EDX
PUSH EBP
PUSH dword ptr [ESP + 0x40]
CALL 0x000140b0
ADD ESP,0x10
JMP 0x0003568a
MOVZX EAX,DX
MOV dword ptr [ESP + 0x34],EAX
LEA EAX,[EDX + -0x2]
MOV word ptr [ESP + 0x30],AX
JMP 0x000352f7
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe036c]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141f0
MOV dword ptr [ESP],EAX
CALL 0x00048d70
ADD ESP,0x10
MOV dword ptr [EBX + 0x1224],0x1
JMP 0x000353e9
MOV EAX,0x8
SUB ESP,0x8
PUSH EAX
PUSH ECX
MOV EAX,dword ptr [ESP + 0x38]
CALL dword ptr [EAX]
MOV ECX,ESI
ADD ESP,0x10
MOV dword ptr [ESP + 0x28],0xc
MOV EDI,EAX
MOV EBP,EDX
MOV dword ptr [ESP + 0x14],0x8
MOV EAX,dword ptr [ESP + 0x2c]
MOV ESI,ECX
XOR EDX,EDX
MOV dword ptr [ESP + 0x1c],EDX
SUB ESI,dword ptr [EAX + 0x10]
MOV EAX,ESI
MOV dword ptr [ESP + 0x18],ESI
ADD EAX,EDI
ADC EDX,EBP
CMP EAX,ESI
MOV dword ptr [ESP + 0x8],EAX
MOV dword ptr [ESP + 0xc],EDX
SBB EDX,dword ptr [ESP + 0x1c]
JNC 0x0003527f
MOV dword ptr [ESP + 0x10],ESI
SUB ESP,0xc
MOV EDX,EDI
MOV ECX,EBP
PUSH 0x0
LEA EAX,[EBX + 0xfffdc7d9]
CALL 0x0001cbf0
MOV ESI,EAX
MOV EAX,dword ptr [ESP + 0x3c]
ADD ESP,0xc
MOV EDI,dword ptr [EAX + 0x8]
LEA EAX,[EBX + 0xfffde278]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141f0
PUSH ESI
MOV EDX,dword ptr [ESP + 0x24]
SUB EDX,dword ptr [ESP + 0x3c]
PUSH EDX
PUSH EDI
PUSH EAX
CALL 0x00048d70
ADD ESP,0x20
SUB ESP,0xc
PUSH 0xa
CALL 0x00014530
ADD ESP,0x5c
MOV EAX,0x1
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV dword ptr [ESP + 0x28],0x4
MOV dword ptr [ESP + 0x14],0x4
JMP 0x000357a1
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe2217]
PUSH 0x5
JMP 0x00035587
MOV EDI,dword ptr [ESP + 0x38]
JMP 0x00035321
PUSH EDX
PUSH EDX
LEA EDX,[EBX + 0x3b4c]
MOV dword ptr [ESP + 0x30],EDX
PUSH EAX
PUSH ECX
CALL dword ptr [EDX]
MOV ECX,dword ptr [ESP + 0x24]
MOV EDX,EAX
ADD ECX,ESI
MOV dword ptr [ESP + 0x18],ECX
ADD ESP,0x10
CMP dword ptr [ESP + 0x10],ECX
JA 0x00035730
MOVZX EDX,AX
SUB EAX,0x2
MOV dword ptr [ESP + 0x28],0x0
MOV word ptr [ESP + 0x30],AX
XOR EAX,EAX
MOV dword ptr [ESP + 0x34],EDX
JMP 0x0003530d
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 __regparm3 FUN_000351f0(int param_1,undefined4 param_2,int param_3)\n\n{\n  ulonglong uVar1;\n  ushort uVar2;\n  char *pcVar3;\n  int iVar4;\n  undefined4 uVar5;\n  size_t sVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  int *piVar10;\n  char *pcVar11;\n  uint uVar12;\n  char *pcVar13;\n  char *pcVar14;\n  longlong lVar15;\n  char *local_54;\n  uint local_50;\n  int local_48;\n  int local_34;\n  uint local_28;\n  undefined4 local_24;\n  \n  pcVar14 = *(char **)(param_1 + 0x10);\n  pcVar11 = pcVar14 + *(int *)(param_1 + 0x1c);\n  FUN_00032500();\n  FUN_0001ec20();\n  do {\n    if (pcVar11 <= pcVar14) {\nLAB_00035816:\n      putchar(10);\n      return 1;\n    }\n    pcVar13 = pcVar14 + 4;\n    if (pcVar13 < pcVar11) {\n      iVar4 = 4;\nLAB_0003540f:\n      lVar15 = (*DAT_00076b4c)(pcVar14,iVar4);\n      if (lVar15 == 0xffffffff) {\n        pcVar14 = pcVar14 + 0xc;\n        if (pcVar14 < pcVar11) {\n          iVar4 = 8;\n        }\n        else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,iVar4);\n        local_34 = 0xc;\n        local_48 = 8;\n        pcVar13 = pcVar14;\n      }\n      else {\n        local_34 = 4;\n        local_48 = 4;\n      }\n      iVar4 = (int)lVar15;\n      uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n      uVar1 = lVar15 + (ulonglong)uVar12;\n      if ((uint)((uint)uVar1 < uVar12) <= (uint)(uVar1 >> 0x20)) goto LAB_0003527f;\nLAB_000357ce:\n      uVar5 = FUN_0001cbf0(0);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar9 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar9,uVar8,uVar12 - local_34,uVar5);\n      goto LAB_00035816;\n    }\n    iVar4 = (int)pcVar11 - (int)pcVar14;\n    if (iVar4 - 1U < 8) goto LAB_0003540f;\n    local_34 = 4;\n    local_48 = 4;\nLAB_00035266:\n    iVar4 = 0;\n    uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n    uVar1 = (ulonglong)uVar12;\nLAB_0003527f:\n    local_50 = (uint)(uVar1 >> 0x20);\n    local_54 = (char *)uVar1;\n    if (*(uint *)(param_1 + 0x20) < local_50 ||\n        *(uint *)(param_1 + 0x20) - local_50 < (uint)(*(uint *)(param_1 + 0x1c) < local_54))\n    goto LAB_000357ce;\n    pcVar14 = pcVar13 + iVar4;\n    local_54 = pcVar13 + 2;\n    iVar7 = local_48;\n    if (local_54 < pcVar11) {\n      uVar2 = (*DAT_00076b4c)(pcVar13,2);\n      if (local_54 + local_48 < pcVar11) {\nLAB_00035730:\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n      }\n      else {\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n        iVar7 = (int)pcVar11 - (int)local_54;\n        if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;\n      }\nLAB_000352fb:\n      local_34 = (*DAT_00076b4c)(local_54,iVar7);\n    }\n    else if (pcVar13 < pcVar11) {\n      uVar12 = ((int)pcVar11 - (int)pcVar13) - 1;\n      if (7 < uVar12) goto LAB_000352c7;\n      uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12);\n      if (local_54 + local_48 < pcVar11) goto LAB_00035730;\n      local_28 = (uint)uVar2;\n      uVar2 = uVar2 - 2;\n      local_34 = 0;\n    }\n    else {\nLAB_000352c7:\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (local_54 + local_48 < pcVar11) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }\n    if (DAT_0007694c - 1U < 0xfffffffe) {\n      iVar7 = 0;\n      piVar10 = (int *)(DAT_00076944 + 0xc);\n      do {\n        if (*piVar10 == local_34 && piVar10[1] == 0) goto LAB_00035321;\n        iVar7 = iVar7 + 1;\n        piVar10 = piVar10 + 0x14;\n      } while (DAT_0007694c != iVar7);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar5 = dcgettext(0,\n                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                        ,5);\n      warn(uVar5,local_34,uVar8);\n    }\nLAB_00035321:\n    local_54 = local_54 + local_48;\n    pcVar13 = local_54 + local_48;\n    iVar7 = local_48;\n    if ((pcVar13 < pcVar11) ||\n       ((local_24 = 0, local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)))) {\n      local_24 = (*DAT_00076b4c)(local_54,iVar7);\n    }\n    pcVar3 = (char *)dcgettext(0,"  Length:                              %ld\n",5);\n    printf(pcVar3,iVar4);\n    pcVar3 = (char *)dcgettext(0,"  Version:                             %d\n",5);\n    printf(pcVar3,local_28);\n    pcVar3 = (char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5);\n    printf(pcVar3,local_34);\n    pcVar3 = (char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5);\n    printf(pcVar3,local_24);\n    if (uVar2 < 2) {\n      if (param_3 == 0) {\n        pcVar3 = "\n    Offset\tName\n";\n      }\n      else {\n        pcVar3 = "\n    Offset  Kind          Name\n";\n      }\n      pcVar3 = (char *)dcgettext(0,pcVar3,5);\n      printf(pcVar3);\n      do {\n        pcVar3 = pcVar13 + local_48;\n        if (pcVar11 <= pcVar3) {\n          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }\n          break;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,local_48);\n        if (lVar15 == 0) break;\n        iVar4 = (int)pcVar11 - (int)pcVar3;\n        local_54 = (char *)(iVar4 - 1);\n        if (param_3 == 0) {\n          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);\n        }\n        else {\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }\n        sVar6 = strnlen(pcVar3,(size_t)local_54);\n        pcVar13 = pcVar3 + sVar6 + 1;\n      } while (pcVar13 < pcVar11);\n    }\n    else if (DAT_00074224 == 0) {\n      uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n      warn(uVar8);\n      DAT_00074224 = 1;\n    }\n  } while( true );\n}\n\n" comment (function_definition "undefined4 __regparm3 FUN_000351f0(int param_1,undefined4 param_2,int param_3)\n\n{\n  ulonglong uVar1;\n  ushort uVar2;\n  char *pcVar3;\n  int iVar4;\n  undefined4 uVar5;\n  size_t sVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  int *piVar10;\n  char *pcVar11;\n  uint uVar12;\n  char *pcVar13;\n  char *pcVar14;\n  longlong lVar15;\n  char *local_54;\n  uint local_50;\n  int local_48;\n  int local_34;\n  uint local_28;\n  undefined4 local_24;\n  \n  pcVar14 = *(char **)(param_1 + 0x10);\n  pcVar11 = pcVar14 + *(int *)(param_1 + 0x1c);\n  FUN_00032500();\n  FUN_0001ec20();\n  do {\n    if (pcVar11 <= pcVar14) {\nLAB_00035816:\n      putchar(10);\n      return 1;\n    }\n    pcVar13 = pcVar14 + 4;\n    if (pcVar13 < pcVar11) {\n      iVar4 = 4;\nLAB_0003540f:\n      lVar15 = (*DAT_00076b4c)(pcVar14,iVar4);\n      if (lVar15 == 0xffffffff) {\n        pcVar14 = pcVar14 + 0xc;\n        if (pcVar14 < pcVar11) {\n          iVar4 = 8;\n        }\n        else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,iVar4);\n        local_34 = 0xc;\n        local_48 = 8;\n        pcVar13 = pcVar14;\n      }\n      else {\n        local_34 = 4;\n        local_48 = 4;\n      }\n      iVar4 = (int)lVar15;\n      uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n      uVar1 = lVar15 + (ulonglong)uVar12;\n      if ((uint)((uint)uVar1 < uVar12) <= (uint)(uVar1 >> 0x20)) goto LAB_0003527f;\nLAB_000357ce:\n      uVar5 = FUN_0001cbf0(0);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar9 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar9,uVar8,uVar12 - local_34,uVar5);\n      goto LAB_00035816;\n    }\n    iVar4 = (int)pcVar11 - (int)pcVar14;\n    if (iVar4 - 1U < 8) goto LAB_0003540f;\n    local_34 = 4;\n    local_48 = 4;\nLAB_00035266:\n    iVar4 = 0;\n    uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n    uVar1 = (ulonglong)uVar12;\nLAB_0003527f:\n    local_50 = (uint)(uVar1 >> 0x20);\n    local_54 = (char *)uVar1;\n    if (*(uint *)(param_1 + 0x20) < local_50 ||\n        *(uint *)(param_1 + 0x20) - local_50 < (uint)(*(uint *)(param_1 + 0x1c) < local_54))\n    goto LAB_000357ce;\n    pcVar14 = pcVar13 + iVar4;\n    local_54 = pcVar13 + 2;\n    iVar7 = local_48;\n    if (local_54 < pcVar11) {\n      uVar2 = (*DAT_00076b4c)(pcVar13,2);\n      if (local_54 + local_48 < pcVar11) {\nLAB_00035730:\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n      }\n      else {\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n        iVar7 = (int)pcVar11 - (int)local_54;\n        if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;\n      }\nLAB_000352fb:\n      local_34 = (*DAT_00076b4c)(local_54,iVar7);\n    }\n    else if (pcVar13 < pcVar11) {\n      uVar12 = ((int)pcVar11 - (int)pcVar13) - 1;\n      if (7 < uVar12) goto LAB_000352c7;\n      uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12);\n      if (local_54 + local_48 < pcVar11) goto LAB_00035730;\n      local_28 = (uint)uVar2;\n      uVar2 = uVar2 - 2;\n      local_34 = 0;\n    }\n    else {\nLAB_000352c7:\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (local_54 + local_48 < pcVar11) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }\n    if (DAT_0007694c - 1U < 0xfffffffe) {\n      iVar7 = 0;\n      piVar10 = (int *)(DAT_00076944 + 0xc);\n      do {\n        if (*piVar10 == local_34 && piVar10[1] == 0) goto LAB_00035321;\n        iVar7 = iVar7 + 1;\n        piVar10 = piVar10 + 0x14;\n      } while (DAT_0007694c != iVar7);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar5 = dcgettext(0,\n                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                        ,5);\n      warn(uVar5,local_34,uVar8);\n    }\nLAB_00035321:\n    local_54 = local_54 + local_48;\n    pcVar13 = local_54 + local_48;\n    iVar7 = local_48;\n    if ((pcVar13 < pcVar11) ||\n       ((local_24 = 0, local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)))) {\n      local_24 = (*DAT_00076b4c)(local_54,iVar7);\n    }\n    pcVar3 = (char *)dcgettext(0,"  Length:                              %ld\n",5);\n    printf(pcVar3,iVar4);\n    pcVar3 = (char *)dcgettext(0,"  Version:                             %d\n",5);\n    printf(pcVar3,local_28);\n    pcVar3 = (char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5);\n    printf(pcVar3,local_34);\n    pcVar3 = (char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5);\n    printf(pcVar3,local_24);\n    if (uVar2 < 2) {\n      if (param_3 == 0) {\n        pcVar3 = "\n    Offset\tName\n";\n      }\n      else {\n        pcVar3 = "\n    Offset  Kind          Name\n";\n      }\n      pcVar3 = (char *)dcgettext(0,pcVar3,5);\n      printf(pcVar3);\n      do {\n        pcVar3 = pcVar13 + local_48;\n        if (pcVar11 <= pcVar3) {\n          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }\n          break;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,local_48);\n        if (lVar15 == 0) break;\n        iVar4 = (int)pcVar11 - (int)pcVar3;\n        local_54 = (char *)(iVar4 - 1);\n        if (param_3 == 0) {\n          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);\n        }\n        else {\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }\n        sVar6 = strnlen(pcVar3,(size_t)local_54);\n        pcVar13 = pcVar3 + sVar6 + 1;\n      } while (pcVar13 < pcVar11);\n    }\n    else if (DAT_00074224 == 0) {\n      uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n      warn(uVar8);\n      DAT_00074224 = 1;\n    }\n  } while( true );\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_000351f0(int param_1,undefined4 param_2,int param_3)" identifier (parameter_list "(int param_1,undefined4 param_2,int param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  ulonglong uVar1;\n  ushort uVar2;\n  char *pcVar3;\n  int iVar4;\n  undefined4 uVar5;\n  size_t sVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  int *piVar10;\n  char *pcVar11;\n  uint uVar12;\n  char *pcVar13;\n  char *pcVar14;\n  longlong lVar15;\n  char *local_54;\n  uint local_50;\n  int local_48;\n  int local_34;\n  uint local_28;\n  undefined4 local_24;\n  \n  pcVar14 = *(char **)(param_1 + 0x10);\n  pcVar11 = pcVar14 + *(int *)(param_1 + 0x1c);\n  FUN_00032500();\n  FUN_0001ec20();\n  do {\n    if (pcVar11 <= pcVar14) {\nLAB_00035816:\n      putchar(10);\n      return 1;\n    }\n    pcVar13 = pcVar14 + 4;\n    if (pcVar13 < pcVar11) {\n      iVar4 = 4;\nLAB_0003540f:\n      lVar15 = (*DAT_00076b4c)(pcVar14,iVar4);\n      if (lVar15 == 0xffffffff) {\n        pcVar14 = pcVar14 + 0xc;\n        if (pcVar14 < pcVar11) {\n          iVar4 = 8;\n        }\n        else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,iVar4);\n        local_34 = 0xc;\n        local_48 = 8;\n        pcVar13 = pcVar14;\n      }\n      else {\n        local_34 = 4;\n        local_48 = 4;\n      }\n      iVar4 = (int)lVar15;\n      uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n      uVar1 = lVar15 + (ulonglong)uVar12;\n      if ((uint)((uint)uVar1 < uVar12) <= (uint)(uVar1 >> 0x20)) goto LAB_0003527f;\nLAB_000357ce:\n      uVar5 = FUN_0001cbf0(0);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar9 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar9,uVar8,uVar12 - local_34,uVar5);\n      goto LAB_00035816;\n    }\n    iVar4 = (int)pcVar11 - (int)pcVar14;\n    if (iVar4 - 1U < 8) goto LAB_0003540f;\n    local_34 = 4;\n    local_48 = 4;\nLAB_00035266:\n    iVar4 = 0;\n    uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n    uVar1 = (ulonglong)uVar12;\nLAB_0003527f:\n    local_50 = (uint)(uVar1 >> 0x20);\n    local_54 = (char *)uVar1;\n    if (*(uint *)(param_1 + 0x20) < local_50 ||\n        *(uint *)(param_1 + 0x20) - local_50 < (uint)(*(uint *)(param_1 + 0x1c) < local_54))\n    goto LAB_000357ce;\n    pcVar14 = pcVar13 + iVar4;\n    local_54 = pcVar13 + 2;\n    iVar7 = local_48;\n    if (local_54 < pcVar11) {\n      uVar2 = (*DAT_00076b4c)(pcVar13,2);\n      if (local_54 + local_48 < pcVar11) {\nLAB_00035730:\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n      }\n      else {\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n        iVar7 = (int)pcVar11 - (int)local_54;\n        if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;\n      }\nLAB_000352fb:\n      local_34 = (*DAT_00076b4c)(local_54,iVar7);\n    }\n    else if (pcVar13 < pcVar11) {\n      uVar12 = ((int)pcVar11 - (int)pcVar13) - 1;\n      if (7 < uVar12) goto LAB_000352c7;\n      uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12);\n      if (local_54 + local_48 < pcVar11) goto LAB_00035730;\n      local_28 = (uint)uVar2;\n      uVar2 = uVar2 - 2;\n      local_34 = 0;\n    }\n    else {\nLAB_000352c7:\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (local_54 + local_48 < pcVar11) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }\n    if (DAT_0007694c - 1U < 0xfffffffe) {\n      iVar7 = 0;\n      piVar10 = (int *)(DAT_00076944 + 0xc);\n      do {\n        if (*piVar10 == local_34 && piVar10[1] == 0) goto LAB_00035321;\n        iVar7 = iVar7 + 1;\n        piVar10 = piVar10 + 0x14;\n      } while (DAT_0007694c != iVar7);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar5 = dcgettext(0,\n                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                        ,5);\n      warn(uVar5,local_34,uVar8);\n    }\nLAB_00035321:\n    local_54 = local_54 + local_48;\n    pcVar13 = local_54 + local_48;\n    iVar7 = local_48;\n    if ((pcVar13 < pcVar11) ||\n       ((local_24 = 0, local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)))) {\n      local_24 = (*DAT_00076b4c)(local_54,iVar7);\n    }\n    pcVar3 = (char *)dcgettext(0,"  Length:                              %ld\n",5);\n    printf(pcVar3,iVar4);\n    pcVar3 = (char *)dcgettext(0,"  Version:                             %d\n",5);\n    printf(pcVar3,local_28);\n    pcVar3 = (char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5);\n    printf(pcVar3,local_34);\n    pcVar3 = (char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5);\n    printf(pcVar3,local_24);\n    if (uVar2 < 2) {\n      if (param_3 == 0) {\n        pcVar3 = "\n    Offset\tName\n";\n      }\n      else {\n        pcVar3 = "\n    Offset  Kind          Name\n";\n      }\n      pcVar3 = (char *)dcgettext(0,pcVar3,5);\n      printf(pcVar3);\n      do {\n        pcVar3 = pcVar13 + local_48;\n        if (pcVar11 <= pcVar3) {\n          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }\n          break;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,local_48);\n        if (lVar15 == 0) break;\n        iVar4 = (int)pcVar11 - (int)pcVar3;\n        local_54 = (char *)(iVar4 - 1);\n        if (param_3 == 0) {\n          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);\n        }\n        else {\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }\n        sVar6 = strnlen(pcVar3,(size_t)local_54);\n        pcVar13 = pcVar3 + sVar6 + 1;\n      } while (pcVar13 < pcVar11);\n    }\n    else if (DAT_00074224 == 0) {\n      uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n      warn(uVar8);\n      DAT_00074224 = 1;\n    }\n  } while( true );\n}" { (declaration "ulonglong uVar1;" type_identifier identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "size_t sVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (declaration "longlong lVar15;" type_identifier identifier ;) (declaration "char *local_54;" primitive_type (pointer_declarator "*local_54" * identifier) ;) (declaration "uint local_50;" type_identifier identifier ;) (declaration "int local_48;" primitive_type identifier ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "uint local_28;" type_identifier identifier ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (expression_statement "pcVar14 = *(char **)(param_1 + 0x10);" (assignment_expression "pcVar14 = *(char **)(param_1 + 0x10)" identifier = (pointer_expression "*(char **)(param_1 + 0x10)" * (cast_expression "(char **)(param_1 + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "pcVar11 = pcVar14 + *(int *)(param_1 + 0x1c);" (assignment_expression "pcVar11 = pcVar14 + *(int *)(param_1 + 0x1c)" identifier = (binary_expression "pcVar14 + *(int *)(param_1 + 0x1c)" identifier + (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))))) ;) (expression_statement "FUN_00032500();" (call_expression "FUN_00032500()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001ec20();" (call_expression "FUN_0001ec20()" identifier (argument_list "()" ( ))) ;) (do_statement "do {\n    if (pcVar11 <= pcVar14) {\nLAB_00035816:\n      putchar(10);\n      return 1;\n    }\n    pcVar13 = pcVar14 + 4;\n    if (pcVar13 < pcVar11) {\n      iVar4 = 4;\nLAB_0003540f:\n      lVar15 = (*DAT_00076b4c)(pcVar14,iVar4);\n      if (lVar15 == 0xffffffff) {\n        pcVar14 = pcVar14 + 0xc;\n        if (pcVar14 < pcVar11) {\n          iVar4 = 8;\n        }\n        else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,iVar4);\n        local_34 = 0xc;\n        local_48 = 8;\n        pcVar13 = pcVar14;\n      }\n      else {\n        local_34 = 4;\n        local_48 = 4;\n      }\n      iVar4 = (int)lVar15;\n      uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n      uVar1 = lVar15 + (ulonglong)uVar12;\n      if ((uint)((uint)uVar1 < uVar12) <= (uint)(uVar1 >> 0x20)) goto LAB_0003527f;\nLAB_000357ce:\n      uVar5 = FUN_0001cbf0(0);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar9 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar9,uVar8,uVar12 - local_34,uVar5);\n      goto LAB_00035816;\n    }\n    iVar4 = (int)pcVar11 - (int)pcVar14;\n    if (iVar4 - 1U < 8) goto LAB_0003540f;\n    local_34 = 4;\n    local_48 = 4;\nLAB_00035266:\n    iVar4 = 0;\n    uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n    uVar1 = (ulonglong)uVar12;\nLAB_0003527f:\n    local_50 = (uint)(uVar1 >> 0x20);\n    local_54 = (char *)uVar1;\n    if (*(uint *)(param_1 + 0x20) < local_50 ||\n        *(uint *)(param_1 + 0x20) - local_50 < (uint)(*(uint *)(param_1 + 0x1c) < local_54))\n    goto LAB_000357ce;\n    pcVar14 = pcVar13 + iVar4;\n    local_54 = pcVar13 + 2;\n    iVar7 = local_48;\n    if (local_54 < pcVar11) {\n      uVar2 = (*DAT_00076b4c)(pcVar13,2);\n      if (local_54 + local_48 < pcVar11) {\nLAB_00035730:\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n      }\n      else {\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n        iVar7 = (int)pcVar11 - (int)local_54;\n        if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;\n      }\nLAB_000352fb:\n      local_34 = (*DAT_00076b4c)(local_54,iVar7);\n    }\n    else if (pcVar13 < pcVar11) {\n      uVar12 = ((int)pcVar11 - (int)pcVar13) - 1;\n      if (7 < uVar12) goto LAB_000352c7;\n      uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12);\n      if (local_54 + local_48 < pcVar11) goto LAB_00035730;\n      local_28 = (uint)uVar2;\n      uVar2 = uVar2 - 2;\n      local_34 = 0;\n    }\n    else {\nLAB_000352c7:\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (local_54 + local_48 < pcVar11) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }\n    if (DAT_0007694c - 1U < 0xfffffffe) {\n      iVar7 = 0;\n      piVar10 = (int *)(DAT_00076944 + 0xc);\n      do {\n        if (*piVar10 == local_34 && piVar10[1] == 0) goto LAB_00035321;\n        iVar7 = iVar7 + 1;\n        piVar10 = piVar10 + 0x14;\n      } while (DAT_0007694c != iVar7);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar5 = dcgettext(0,\n                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                        ,5);\n      warn(uVar5,local_34,uVar8);\n    }\nLAB_00035321:\n    local_54 = local_54 + local_48;\n    pcVar13 = local_54 + local_48;\n    iVar7 = local_48;\n    if ((pcVar13 < pcVar11) ||\n       ((local_24 = 0, local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)))) {\n      local_24 = (*DAT_00076b4c)(local_54,iVar7);\n    }\n    pcVar3 = (char *)dcgettext(0,"  Length:                              %ld\n",5);\n    printf(pcVar3,iVar4);\n    pcVar3 = (char *)dcgettext(0,"  Version:                             %d\n",5);\n    printf(pcVar3,local_28);\n    pcVar3 = (char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5);\n    printf(pcVar3,local_34);\n    pcVar3 = (char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5);\n    printf(pcVar3,local_24);\n    if (uVar2 < 2) {\n      if (param_3 == 0) {\n        pcVar3 = "\n    Offset\tName\n";\n      }\n      else {\n        pcVar3 = "\n    Offset  Kind          Name\n";\n      }\n      pcVar3 = (char *)dcgettext(0,pcVar3,5);\n      printf(pcVar3);\n      do {\n        pcVar3 = pcVar13 + local_48;\n        if (pcVar11 <= pcVar3) {\n          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }\n          break;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,local_48);\n        if (lVar15 == 0) break;\n        iVar4 = (int)pcVar11 - (int)pcVar3;\n        local_54 = (char *)(iVar4 - 1);\n        if (param_3 == 0) {\n          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);\n        }\n        else {\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }\n        sVar6 = strnlen(pcVar3,(size_t)local_54);\n        pcVar13 = pcVar3 + sVar6 + 1;\n      } while (pcVar13 < pcVar11);\n    }\n    else if (DAT_00074224 == 0) {\n      uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n      warn(uVar8);\n      DAT_00074224 = 1;\n    }\n  } while( true );" do (compound_statement "{\n    if (pcVar11 <= pcVar14) {\nLAB_00035816:\n      putchar(10);\n      return 1;\n    }\n    pcVar13 = pcVar14 + 4;\n    if (pcVar13 < pcVar11) {\n      iVar4 = 4;\nLAB_0003540f:\n      lVar15 = (*DAT_00076b4c)(pcVar14,iVar4);\n      if (lVar15 == 0xffffffff) {\n        pcVar14 = pcVar14 + 0xc;\n        if (pcVar14 < pcVar11) {\n          iVar4 = 8;\n        }\n        else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,iVar4);\n        local_34 = 0xc;\n        local_48 = 8;\n        pcVar13 = pcVar14;\n      }\n      else {\n        local_34 = 4;\n        local_48 = 4;\n      }\n      iVar4 = (int)lVar15;\n      uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n      uVar1 = lVar15 + (ulonglong)uVar12;\n      if ((uint)((uint)uVar1 < uVar12) <= (uint)(uVar1 >> 0x20)) goto LAB_0003527f;\nLAB_000357ce:\n      uVar5 = FUN_0001cbf0(0);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar9 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar9,uVar8,uVar12 - local_34,uVar5);\n      goto LAB_00035816;\n    }\n    iVar4 = (int)pcVar11 - (int)pcVar14;\n    if (iVar4 - 1U < 8) goto LAB_0003540f;\n    local_34 = 4;\n    local_48 = 4;\nLAB_00035266:\n    iVar4 = 0;\n    uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n    uVar1 = (ulonglong)uVar12;\nLAB_0003527f:\n    local_50 = (uint)(uVar1 >> 0x20);\n    local_54 = (char *)uVar1;\n    if (*(uint *)(param_1 + 0x20) < local_50 ||\n        *(uint *)(param_1 + 0x20) - local_50 < (uint)(*(uint *)(param_1 + 0x1c) < local_54))\n    goto LAB_000357ce;\n    pcVar14 = pcVar13 + iVar4;\n    local_54 = pcVar13 + 2;\n    iVar7 = local_48;\n    if (local_54 < pcVar11) {\n      uVar2 = (*DAT_00076b4c)(pcVar13,2);\n      if (local_54 + local_48 < pcVar11) {\nLAB_00035730:\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n      }\n      else {\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n        iVar7 = (int)pcVar11 - (int)local_54;\n        if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;\n      }\nLAB_000352fb:\n      local_34 = (*DAT_00076b4c)(local_54,iVar7);\n    }\n    else if (pcVar13 < pcVar11) {\n      uVar12 = ((int)pcVar11 - (int)pcVar13) - 1;\n      if (7 < uVar12) goto LAB_000352c7;\n      uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12);\n      if (local_54 + local_48 < pcVar11) goto LAB_00035730;\n      local_28 = (uint)uVar2;\n      uVar2 = uVar2 - 2;\n      local_34 = 0;\n    }\n    else {\nLAB_000352c7:\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (local_54 + local_48 < pcVar11) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }\n    if (DAT_0007694c - 1U < 0xfffffffe) {\n      iVar7 = 0;\n      piVar10 = (int *)(DAT_00076944 + 0xc);\n      do {\n        if (*piVar10 == local_34 && piVar10[1] == 0) goto LAB_00035321;\n        iVar7 = iVar7 + 1;\n        piVar10 = piVar10 + 0x14;\n      } while (DAT_0007694c != iVar7);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar5 = dcgettext(0,\n                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                        ,5);\n      warn(uVar5,local_34,uVar8);\n    }\nLAB_00035321:\n    local_54 = local_54 + local_48;\n    pcVar13 = local_54 + local_48;\n    iVar7 = local_48;\n    if ((pcVar13 < pcVar11) ||\n       ((local_24 = 0, local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)))) {\n      local_24 = (*DAT_00076b4c)(local_54,iVar7);\n    }\n    pcVar3 = (char *)dcgettext(0,"  Length:                              %ld\n",5);\n    printf(pcVar3,iVar4);\n    pcVar3 = (char *)dcgettext(0,"  Version:                             %d\n",5);\n    printf(pcVar3,local_28);\n    pcVar3 = (char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5);\n    printf(pcVar3,local_34);\n    pcVar3 = (char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5);\n    printf(pcVar3,local_24);\n    if (uVar2 < 2) {\n      if (param_3 == 0) {\n        pcVar3 = "\n    Offset\tName\n";\n      }\n      else {\n        pcVar3 = "\n    Offset  Kind          Name\n";\n      }\n      pcVar3 = (char *)dcgettext(0,pcVar3,5);\n      printf(pcVar3);\n      do {\n        pcVar3 = pcVar13 + local_48;\n        if (pcVar11 <= pcVar3) {\n          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }\n          break;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,local_48);\n        if (lVar15 == 0) break;\n        iVar4 = (int)pcVar11 - (int)pcVar3;\n        local_54 = (char *)(iVar4 - 1);\n        if (param_3 == 0) {\n          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);\n        }\n        else {\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }\n        sVar6 = strnlen(pcVar3,(size_t)local_54);\n        pcVar13 = pcVar3 + sVar6 + 1;\n      } while (pcVar13 < pcVar11);\n    }\n    else if (DAT_00074224 == 0) {\n      uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n      warn(uVar8);\n      DAT_00074224 = 1;\n    }\n  }" { (if_statement "if (pcVar11 <= pcVar14) {\nLAB_00035816:\n      putchar(10);\n      return 1;\n    }" if (parenthesized_expression "(pcVar11 <= pcVar14)" ( (binary_expression "pcVar11 <= pcVar14" identifier <= identifier) )) (compound_statement "{\nLAB_00035816:\n      putchar(10);\n      return 1;\n    }" { (labeled_statement "LAB_00035816:\n      putchar(10);" statement_identifier : (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;)) (return_statement "return 1;" return number_literal ;) })) (expression_statement "pcVar13 = pcVar14 + 4;" (assignment_expression "pcVar13 = pcVar14 + 4" identifier = (binary_expression "pcVar14 + 4" identifier + number_literal)) ;) (if_statement "if (pcVar13 < pcVar11) {\n      iVar4 = 4;\nLAB_0003540f:\n      lVar15 = (*DAT_00076b4c)(pcVar14,iVar4);\n      if (lVar15 == 0xffffffff) {\n        pcVar14 = pcVar14 + 0xc;\n        if (pcVar14 < pcVar11) {\n          iVar4 = 8;\n        }\n        else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,iVar4);\n        local_34 = 0xc;\n        local_48 = 8;\n        pcVar13 = pcVar14;\n      }\n      else {\n        local_34 = 4;\n        local_48 = 4;\n      }\n      iVar4 = (int)lVar15;\n      uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n      uVar1 = lVar15 + (ulonglong)uVar12;\n      if ((uint)((uint)uVar1 < uVar12) <= (uint)(uVar1 >> 0x20)) goto LAB_0003527f;\nLAB_000357ce:\n      uVar5 = FUN_0001cbf0(0);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar9 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar9,uVar8,uVar12 - local_34,uVar5);\n      goto LAB_00035816;\n    }" if (parenthesized_expression "(pcVar13 < pcVar11)" ( (binary_expression "pcVar13 < pcVar11" identifier < identifier) )) (compound_statement "{\n      iVar4 = 4;\nLAB_0003540f:\n      lVar15 = (*DAT_00076b4c)(pcVar14,iVar4);\n      if (lVar15 == 0xffffffff) {\n        pcVar14 = pcVar14 + 0xc;\n        if (pcVar14 < pcVar11) {\n          iVar4 = 8;\n        }\n        else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,iVar4);\n        local_34 = 0xc;\n        local_48 = 8;\n        pcVar13 = pcVar14;\n      }\n      else {\n        local_34 = 4;\n        local_48 = 4;\n      }\n      iVar4 = (int)lVar15;\n      uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n      uVar1 = lVar15 + (ulonglong)uVar12;\n      if ((uint)((uint)uVar1 < uVar12) <= (uint)(uVar1 >> 0x20)) goto LAB_0003527f;\nLAB_000357ce:\n      uVar5 = FUN_0001cbf0(0);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar9 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar9,uVar8,uVar12 - local_34,uVar5);\n      goto LAB_00035816;\n    }" { (expression_statement "iVar4 = 4;" (assignment_expression "iVar4 = 4" identifier = number_literal) ;) (labeled_statement "LAB_0003540f:\n      lVar15 = (*DAT_00076b4c)(pcVar14,iVar4);" statement_identifier : (expression_statement "lVar15 = (*DAT_00076b4c)(pcVar14,iVar4);" (assignment_expression "lVar15 = (*DAT_00076b4c)(pcVar14,iVar4)" identifier = (call_expression "(*DAT_00076b4c)(pcVar14,iVar4)" (parenthesized_expression "(*DAT_00076b4c)" ( (pointer_expression "*DAT_00076b4c" * identifier) )) (argument_list "(pcVar14,iVar4)" ( identifier , identifier )))) ;)) (if_statement "if (lVar15 == 0xffffffff) {\n        pcVar14 = pcVar14 + 0xc;\n        if (pcVar14 < pcVar11) {\n          iVar4 = 8;\n        }\n        else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,iVar4);\n        local_34 = 0xc;\n        local_48 = 8;\n        pcVar13 = pcVar14;\n      }\n      else {\n        local_34 = 4;\n        local_48 = 4;\n      }" if (parenthesized_expression "(lVar15 == 0xffffffff)" ( (binary_expression "lVar15 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        pcVar14 = pcVar14 + 0xc;\n        if (pcVar14 < pcVar11) {\n          iVar4 = 8;\n        }\n        else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,iVar4);\n        local_34 = 0xc;\n        local_48 = 8;\n        pcVar13 = pcVar14;\n      }" { (expression_statement "pcVar14 = pcVar14 + 0xc;" (assignment_expression "pcVar14 = pcVar14 + 0xc" identifier = (binary_expression "pcVar14 + 0xc" identifier + number_literal)) ;) (if_statement "if (pcVar14 < pcVar11) {\n          iVar4 = 8;\n        }\n        else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }" if (parenthesized_expression "(pcVar14 < pcVar11)" ( (binary_expression "pcVar14 < pcVar11" identifier < identifier) )) (compound_statement "{\n          iVar4 = 8;\n        }" { (expression_statement "iVar4 = 8;" (assignment_expression "iVar4 = 8" identifier = number_literal) ;) }) (else_clause "else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }" else (if_statement "if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }" if (parenthesized_expression "((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U))" ( (binary_expression "(pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)" (parenthesized_expression "(pcVar11 <= pcVar13)" ( (binary_expression "pcVar11 <= pcVar13" identifier <= identifier) )) || (parenthesized_expression "(iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)" ( (comma_expression "iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U" (assignment_expression "iVar4 = (int)pcVar11 - (int)pcVar13" identifier = (binary_expression "(int)pcVar11 - (int)pcVar13" (cast_expression "(int)pcVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "7 < iVar4 - 1U" number_literal < (binary_expression "iVar4 - 1U" identifier - number_literal))) ))) )) (compound_statement "{\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }" { (expression_statement "local_34 = 0xc;" (assignment_expression "local_34 = 0xc" identifier = number_literal) ;) (expression_statement "local_48 = 8;" (assignment_expression "local_48 = 8" identifier = number_literal) ;) (expression_statement "pcVar13 = pcVar14;" (assignment_expression "pcVar13 = pcVar14" identifier = identifier) ;) (goto_statement "goto LAB_00035266;" goto statement_identifier ;) })))) (expression_statement "lVar15 = (*DAT_00076b4c)(pcVar13,iVar4);" (assignment_expression "lVar15 = (*DAT_00076b4c)(pcVar13,iVar4)" identifier = (call_expression "(*DAT_00076b4c)(pcVar13,iVar4)" (parenthesized_expression "(*DAT_00076b4c)" ( (pointer_expression "*DAT_00076b4c" * identifier) )) (argument_list "(pcVar13,iVar4)" ( identifier , identifier )))) ;) (expression_statement "local_34 = 0xc;" (assignment_expression "local_34 = 0xc" identifier = number_literal) ;) (expression_statement "local_48 = 8;" (assignment_expression "local_48 = 8" identifier = number_literal) ;) (expression_statement "pcVar13 = pcVar14;" (assignment_expression "pcVar13 = pcVar14" identifier = identifier) ;) }) (else_clause "else {\n        local_34 = 4;\n        local_48 = 4;\n      }" else (compound_statement "{\n        local_34 = 4;\n        local_48 = 4;\n      }" { (expression_statement "local_34 = 4;" (assignment_expression "local_34 = 4" identifier = number_literal) ;) (expression_statement "local_48 = 4;" (assignment_expression "local_48 = 4" identifier = number_literal) ;) }))) (expression_statement "iVar4 = (int)lVar15;" (assignment_expression "iVar4 = (int)lVar15" identifier = (cast_expression "(int)lVar15" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);" (assignment_expression "uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10)" identifier = (binary_expression "(int)pcVar13 - *(int *)(param_1 + 0x10)" (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier) - (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))))) ;) (expression_statement "uVar1 = lVar15 + (ulonglong)uVar12;" (assignment_expression "uVar1 = lVar15 + (ulonglong)uVar12" identifier = (binary_expression "lVar15 + (ulonglong)uVar12" identifier + (cast_expression "(ulonglong)uVar12" ( (type_descriptor "ulonglong" type_identifier) ) identifier))) ;) (if_statement "if ((uint)((uint)uVar1 < uVar12) <= (uint)(uVar1 >> 0x20)) goto LAB_0003527f;" if (parenthesized_expression "((uint)((uint)uVar1 < uVar12) <= (uint)(uVar1 >> 0x20))" ( (binary_expression "(uint)((uint)uVar1 < uVar12) <= (uint)(uVar1 >> 0x20)" (call_expression "(uint)((uint)uVar1 < uVar12)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)uVar1 < uVar12)" ( (binary_expression "(uint)uVar1 < uVar12" (cast_expression "(uint)uVar1" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) ))) <= (call_expression "(uint)(uVar1 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar1 >> 0x20)" ( (binary_expression "uVar1 >> 0x20" identifier >> number_literal) )))) )) (goto_statement "goto LAB_0003527f;" goto statement_identifier ;)) (labeled_statement "LAB_000357ce:\n      uVar5 = FUN_0001cbf0(0);" statement_identifier : (expression_statement "uVar5 = FUN_0001cbf0(0);" (assignment_expression "uVar5 = FUN_0001cbf0(0)" identifier = (call_expression "FUN_0001cbf0(0)" identifier (argument_list "(0)" ( number_literal )))) ;)) (expression_statement "uVar8 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar8 = *(undefined4 *)(param_1 + 8)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);" (assignment_expression "uVar9 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5)" identifier = (call_expression "dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5)" identifier (argument_list "(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5)" ( number_literal , (string_literal ""Debug info is corrupted, %s header at %#lx has length %s\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar9,uVar8,uVar12 - local_34,uVar5);" (call_expression "warn(uVar9,uVar8,uVar12 - local_34,uVar5)" identifier (argument_list "(uVar9,uVar8,uVar12 - local_34,uVar5)" ( identifier , identifier , (binary_expression "uVar12 - local_34" identifier - identifier) , identifier ))) ;) (goto_statement "goto LAB_00035816;" goto statement_identifier ;) })) (expression_statement "iVar4 = (int)pcVar11 - (int)pcVar14;" (assignment_expression "iVar4 = (int)pcVar11 - (int)pcVar14" identifier = (binary_expression "(int)pcVar11 - (int)pcVar14" (cast_expression "(int)pcVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar14" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (iVar4 - 1U < 8) goto LAB_0003540f;" if (parenthesized_expression "(iVar4 - 1U < 8)" ( (binary_expression "iVar4 - 1U < 8" (binary_expression "iVar4 - 1U" identifier - number_literal) < number_literal) )) (goto_statement "goto LAB_0003540f;" goto statement_identifier ;)) (expression_statement "local_34 = 4;" (assignment_expression "local_34 = 4" identifier = number_literal) ;) (expression_statement "local_48 = 4;" (assignment_expression "local_48 = 4" identifier = number_literal) ;) (labeled_statement "LAB_00035266:\n    iVar4 = 0;" statement_identifier : (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;)) (expression_statement "uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);" (assignment_expression "uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10)" identifier = (binary_expression "(int)pcVar13 - *(int *)(param_1 + 0x10)" (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier) - (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))))) ;) (expression_statement "uVar1 = (ulonglong)uVar12;" (assignment_expression "uVar1 = (ulonglong)uVar12" identifier = (cast_expression "(ulonglong)uVar12" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) ;) (labeled_statement "LAB_0003527f:\n    local_50 = (uint)(uVar1 >> 0x20);" statement_identifier : (expression_statement "local_50 = (uint)(uVar1 >> 0x20);" (assignment_expression "local_50 = (uint)(uVar1 >> 0x20)" identifier = (call_expression "(uint)(uVar1 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar1 >> 0x20)" ( (binary_expression "uVar1 >> 0x20" identifier >> number_literal) )))) ;)) (expression_statement "local_54 = (char *)uVar1;" (assignment_expression "local_54 = (char *)uVar1" identifier = (cast_expression "(char *)uVar1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(uint *)(param_1 + 0x20) < local_50 ||\n        *(uint *)(param_1 + 0x20) - local_50 < (uint)(*(uint *)(param_1 + 0x1c) < local_54))\n    goto LAB_000357ce;" if (parenthesized_expression "(*(uint *)(param_1 + 0x20) < local_50 ||\n        *(uint *)(param_1 + 0x20) - local_50 < (uint)(*(uint *)(param_1 + 0x1c) < local_54))" ( (binary_expression "*(uint *)(param_1 + 0x20) < local_50 ||\n        *(uint *)(param_1 + 0x20) - local_50 < (uint)(*(uint *)(param_1 + 0x1c) < local_54)" (binary_expression "*(uint *)(param_1 + 0x20) < local_50" (pointer_expression "*(uint *)(param_1 + 0x20)" * (cast_expression "(uint *)(param_1 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) < identifier) || (binary_expression "*(uint *)(param_1 + 0x20) - local_50 < (uint)(*(uint *)(param_1 + 0x1c) < local_54)" (binary_expression "*(uint *)(param_1 + 0x20) - local_50" (pointer_expression "*(uint *)(param_1 + 0x20)" * (cast_expression "(uint *)(param_1 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) - identifier) < (call_expression "(uint)(*(uint *)(param_1 + 0x1c) < local_54)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_1 + 0x1c) < local_54)" ( (binary_expression "*(uint *)(param_1 + 0x1c) < local_54" (pointer_expression "*(uint *)(param_1 + 0x1c)" * (cast_expression "(uint *)(param_1 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) < identifier) ))))) )) (goto_statement "goto LAB_000357ce;" goto statement_identifier ;)) (expression_statement "pcVar14 = pcVar13 + iVar4;" (assignment_expression "pcVar14 = pcVar13 + iVar4" identifier = (binary_expression "pcVar13 + iVar4" identifier + identifier)) ;) (expression_statement "local_54 = pcVar13 + 2;" (assignment_expression "local_54 = pcVar13 + 2" identifier = (binary_expression "pcVar13 + 2" identifier + number_literal)) ;) (expression_statement "iVar7 = local_48;" (assignment_expression "iVar7 = local_48" identifier = identifier) ;) (if_statement "if (local_54 < pcVar11) {\n      uVar2 = (*DAT_00076b4c)(pcVar13,2);\n      if (local_54 + local_48 < pcVar11) {\nLAB_00035730:\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n      }\n      else {\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n        iVar7 = (int)pcVar11 - (int)local_54;\n        if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;\n      }\nLAB_000352fb:\n      local_34 = (*DAT_00076b4c)(local_54,iVar7);\n    }\n    else if (pcVar13 < pcVar11) {\n      uVar12 = ((int)pcVar11 - (int)pcVar13) - 1;\n      if (7 < uVar12) goto LAB_000352c7;\n      uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12);\n      if (local_54 + local_48 < pcVar11) goto LAB_00035730;\n      local_28 = (uint)uVar2;\n      uVar2 = uVar2 - 2;\n      local_34 = 0;\n    }\n    else {\nLAB_000352c7:\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (local_54 + local_48 < pcVar11) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }" if (parenthesized_expression "(local_54 < pcVar11)" ( (binary_expression "local_54 < pcVar11" identifier < identifier) )) (compound_statement "{\n      uVar2 = (*DAT_00076b4c)(pcVar13,2);\n      if (local_54 + local_48 < pcVar11) {\nLAB_00035730:\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n      }\n      else {\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n        iVar7 = (int)pcVar11 - (int)local_54;\n        if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;\n      }\nLAB_000352fb:\n      local_34 = (*DAT_00076b4c)(local_54,iVar7);\n    }" { (expression_statement "uVar2 = (*DAT_00076b4c)(pcVar13,2);" (assignment_expression "uVar2 = (*DAT_00076b4c)(pcVar13,2)" identifier = (call_expression "(*DAT_00076b4c)(pcVar13,2)" (parenthesized_expression "(*DAT_00076b4c)" ( (pointer_expression "*DAT_00076b4c" * identifier) )) (argument_list "(pcVar13,2)" ( identifier , number_literal )))) ;) (if_statement "if (local_54 + local_48 < pcVar11) {\nLAB_00035730:\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n      }\n      else {\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n        iVar7 = (int)pcVar11 - (int)local_54;\n        if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;\n      }" if (parenthesized_expression "(local_54 + local_48 < pcVar11)" ( (binary_expression "local_54 + local_48 < pcVar11" (binary_expression "local_54 + local_48" identifier + identifier) < identifier) )) (compound_statement "{\nLAB_00035730:\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n      }" { (labeled_statement "LAB_00035730:\n        local_28 = (uint)uVar2;" statement_identifier : (expression_statement "local_28 = (uint)uVar2;" (assignment_expression "local_28 = (uint)uVar2" identifier = (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;)) (expression_statement "uVar2 = uVar2 - 2;" (assignment_expression "uVar2 = uVar2 - 2" identifier = (binary_expression "uVar2 - 2" identifier - number_literal)) ;) }) (else_clause "else {\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n        iVar7 = (int)pcVar11 - (int)local_54;\n        if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;\n      }" else (compound_statement "{\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n        iVar7 = (int)pcVar11 - (int)local_54;\n        if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;\n      }" { (expression_statement "local_28 = (uint)uVar2;" (assignment_expression "local_28 = (uint)uVar2" identifier = (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar2 = uVar2 - 2;" (assignment_expression "uVar2 = uVar2 - 2" identifier = (binary_expression "uVar2 - 2" identifier - number_literal)) ;) (expression_statement "iVar7 = (int)pcVar11 - (int)local_54;" (assignment_expression "iVar7 = (int)pcVar11 - (int)local_54" identifier = (binary_expression "(int)pcVar11 - (int)local_54" (cast_expression "(int)pcVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;" if (parenthesized_expression "(7 < ((int)pcVar11 - (int)local_54) - 1U)" ( (binary_expression "7 < ((int)pcVar11 - (int)local_54) - 1U" number_literal < (binary_expression "((int)pcVar11 - (int)local_54) - 1U" (parenthesized_expression "((int)pcVar11 - (int)local_54)" ( (binary_expression "(int)pcVar11 - (int)local_54" (cast_expression "(int)pcVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal)) )) (goto_statement "goto LAB_000354ec;" goto statement_identifier ;)) }))) (labeled_statement "LAB_000352fb:\n      local_34 = (*DAT_00076b4c)(local_54,iVar7);" statement_identifier : (expression_statement "local_34 = (*DAT_00076b4c)(local_54,iVar7);" (assignment_expression "local_34 = (*DAT_00076b4c)(local_54,iVar7)" identifier = (call_expression "(*DAT_00076b4c)(local_54,iVar7)" (parenthesized_expression "(*DAT_00076b4c)" ( (pointer_expression "*DAT_00076b4c" * identifier) )) (argument_list "(local_54,iVar7)" ( identifier , identifier )))) ;)) }) (else_clause "else if (pcVar13 < pcVar11) {\n      uVar12 = ((int)pcVar11 - (int)pcVar13) - 1;\n      if (7 < uVar12) goto LAB_000352c7;\n      uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12);\n      if (local_54 + local_48 < pcVar11) goto LAB_00035730;\n      local_28 = (uint)uVar2;\n      uVar2 = uVar2 - 2;\n      local_34 = 0;\n    }\n    else {\nLAB_000352c7:\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (local_54 + local_48 < pcVar11) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }" else (if_statement "if (pcVar13 < pcVar11) {\n      uVar12 = ((int)pcVar11 - (int)pcVar13) - 1;\n      if (7 < uVar12) goto LAB_000352c7;\n      uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12);\n      if (local_54 + local_48 < pcVar11) goto LAB_00035730;\n      local_28 = (uint)uVar2;\n      uVar2 = uVar2 - 2;\n      local_34 = 0;\n    }\n    else {\nLAB_000352c7:\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (local_54 + local_48 < pcVar11) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }" if (parenthesized_expression "(pcVar13 < pcVar11)" ( (binary_expression "pcVar13 < pcVar11" identifier < identifier) )) (compound_statement "{\n      uVar12 = ((int)pcVar11 - (int)pcVar13) - 1;\n      if (7 < uVar12) goto LAB_000352c7;\n      uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12);\n      if (local_54 + local_48 < pcVar11) goto LAB_00035730;\n      local_28 = (uint)uVar2;\n      uVar2 = uVar2 - 2;\n      local_34 = 0;\n    }" { (expression_statement "uVar12 = ((int)pcVar11 - (int)pcVar13) - 1;" (assignment_expression "uVar12 = ((int)pcVar11 - (int)pcVar13) - 1" identifier = (binary_expression "((int)pcVar11 - (int)pcVar13) - 1" (parenthesized_expression "((int)pcVar11 - (int)pcVar13)" ( (binary_expression "(int)pcVar11 - (int)pcVar13" (cast_expression "(int)pcVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal)) ;) (if_statement "if (7 < uVar12) goto LAB_000352c7;" if (parenthesized_expression "(7 < uVar12)" ( (binary_expression "7 < uVar12" number_literal < identifier) )) (goto_statement "goto LAB_000352c7;" goto statement_identifier ;)) (expression_statement "uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12);" (assignment_expression "uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12)" identifier = (call_expression "(*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12)" (parenthesized_expression "(*DAT_00076b4c)" ( (pointer_expression "*DAT_00076b4c" * identifier) )) (argument_list "(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12)" ( identifier , (binary_expression "(int)pcVar11 - (int)pcVar13" (cast_expression "(int)pcVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) , identifier , identifier )))) ;) (if_statement "if (local_54 + local_48 < pcVar11) goto LAB_00035730;" if (parenthesized_expression "(local_54 + local_48 < pcVar11)" ( (binary_expression "local_54 + local_48 < pcVar11" (binary_expression "local_54 + local_48" identifier + identifier) < identifier) )) (goto_statement "goto LAB_00035730;" goto statement_identifier ;)) (expression_statement "local_28 = (uint)uVar2;" (assignment_expression "local_28 = (uint)uVar2" identifier = (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar2 = uVar2 - 2;" (assignment_expression "uVar2 = uVar2 - 2" identifier = (binary_expression "uVar2 - 2" identifier - number_literal)) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) }) (else_clause "else {\nLAB_000352c7:\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (local_54 + local_48 < pcVar11) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }" else (compound_statement "{\nLAB_000352c7:\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (local_54 + local_48 < pcVar11) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }" { (labeled_statement "LAB_000352c7:\n      local_28 = 0;" statement_identifier : (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;)) (expression_statement "uVar2 = 0xfffe;" (assignment_expression "uVar2 = 0xfffe" identifier = number_literal) ;) (if_statement "if (local_54 + local_48 < pcVar11) goto LAB_000352fb;" if (parenthesized_expression "(local_54 + local_48 < pcVar11)" ( (binary_expression "local_54 + local_48 < pcVar11" (binary_expression "local_54 + local_48" identifier + identifier) < identifier) )) (goto_statement "goto LAB_000352fb;" goto statement_identifier ;)) (labeled_statement "LAB_000354ec:\n      local_34 = 0;" statement_identifier : (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;)) }))))) (if_statement "if (DAT_0007694c - 1U < 0xfffffffe) {\n      iVar7 = 0;\n      piVar10 = (int *)(DAT_00076944 + 0xc);\n      do {\n        if (*piVar10 == local_34 && piVar10[1] == 0) goto LAB_00035321;\n        iVar7 = iVar7 + 1;\n        piVar10 = piVar10 + 0x14;\n      } while (DAT_0007694c != iVar7);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar5 = dcgettext(0,\n                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                        ,5);\n      warn(uVar5,local_34,uVar8);\n    }" if (parenthesized_expression "(DAT_0007694c - 1U < 0xfffffffe)" ( (binary_expression "DAT_0007694c - 1U < 0xfffffffe" (binary_expression "DAT_0007694c - 1U" identifier - number_literal) < number_literal) )) (compound_statement "{\n      iVar7 = 0;\n      piVar10 = (int *)(DAT_00076944 + 0xc);\n      do {\n        if (*piVar10 == local_34 && piVar10[1] == 0) goto LAB_00035321;\n        iVar7 = iVar7 + 1;\n        piVar10 = piVar10 + 0x14;\n      } while (DAT_0007694c != iVar7);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar5 = dcgettext(0,\n                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                        ,5);\n      warn(uVar5,local_34,uVar8);\n    }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "piVar10 = (int *)(DAT_00076944 + 0xc);" (assignment_expression "piVar10 = (int *)(DAT_00076944 + 0xc)" identifier = (cast_expression "(int *)(DAT_00076944 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00076944 + 0xc)" ( (binary_expression "DAT_00076944 + 0xc" identifier + number_literal) )))) ;) (do_statement "do {\n        if (*piVar10 == local_34 && piVar10[1] == 0) goto LAB_00035321;\n        iVar7 = iVar7 + 1;\n        piVar10 = piVar10 + 0x14;\n      } while (DAT_0007694c != iVar7);" do (compound_statement "{\n        if (*piVar10 == local_34 && piVar10[1] == 0) goto LAB_00035321;\n        iVar7 = iVar7 + 1;\n        piVar10 = piVar10 + 0x14;\n      }" { (if_statement "if (*piVar10 == local_34 && piVar10[1] == 0) goto LAB_00035321;" if (parenthesized_expression "(*piVar10 == local_34 && piVar10[1] == 0)" ( (binary_expression "*piVar10 == local_34 && piVar10[1] == 0" (binary_expression "*piVar10 == local_34" (pointer_expression "*piVar10" * identifier) == identifier) && (binary_expression "piVar10[1] == 0" (subscript_expression "piVar10[1]" identifier [ number_literal ]) == number_literal)) )) (goto_statement "goto LAB_00035321;" goto statement_identifier ;)) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "piVar10 = piVar10 + 0x14;" (assignment_expression "piVar10 = piVar10 + 0x14" identifier = (binary_expression "piVar10 + 0x14" identifier + number_literal)) ;) }) while (parenthesized_expression "(DAT_0007694c != iVar7)" ( (binary_expression "DAT_0007694c != iVar7" identifier != identifier) )) ;) (expression_statement "uVar8 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar8 = *(undefined4 *)(param_1 + 8)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = dcgettext(0,\n                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                        ,5);" (assignment_expression "uVar5 = dcgettext(0,\n                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                        ,5)" identifier = (call_expression "dcgettext(0,\n                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                        ,5)" identifier (argument_list "(0,\n                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                        ,5)" ( number_literal , (string_literal "".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar5,local_34,uVar8);" (call_expression "warn(uVar5,local_34,uVar8)" identifier (argument_list "(uVar5,local_34,uVar8)" ( identifier , identifier , identifier ))) ;) })) (labeled_statement "LAB_00035321:\n    local_54 = local_54 + local_48;" statement_identifier : (expression_statement "local_54 = local_54 + local_48;" (assignment_expression "local_54 = local_54 + local_48" identifier = (binary_expression "local_54 + local_48" identifier + identifier)) ;)) (expression_statement "pcVar13 = local_54 + local_48;" (assignment_expression "pcVar13 = local_54 + local_48" identifier = (binary_expression "local_54 + local_48" identifier + identifier)) ;) (expression_statement "iVar7 = local_48;" (assignment_expression "iVar7 = local_48" identifier = identifier) ;) (if_statement "if ((pcVar13 < pcVar11) ||\n       ((local_24 = 0, local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)))) {\n      local_24 = (*DAT_00076b4c)(local_54,iVar7);\n    }" if (parenthesized_expression "((pcVar13 < pcVar11) ||\n       ((local_24 = 0, local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8))))" ( (binary_expression "(pcVar13 < pcVar11) ||\n       ((local_24 = 0, local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)))" (parenthesized_expression "(pcVar13 < pcVar11)" ( (binary_expression "pcVar13 < pcVar11" identifier < identifier) )) || (parenthesized_expression "((local_24 = 0, local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)))" ( (parenthesized_expression "(local_24 = 0, local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8))" ( (comma_expression "local_24 = 0, local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)" (assignment_expression "local_24 = 0" identifier = number_literal) , (binary_expression "local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)" (binary_expression "local_54 < pcVar11" identifier < identifier) && (parenthesized_expression "(iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)" ( (comma_expression "iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8" (assignment_expression "iVar7 = (int)pcVar11 - (int)local_54" identifier = (binary_expression "(int)pcVar11 - (int)local_54" (cast_expression "(int)pcVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "((int)pcVar11 - (int)local_54) - 1U < 8" (binary_expression "((int)pcVar11 - (int)local_54) - 1U" (parenthesized_expression "((int)pcVar11 - (int)local_54)" ( (binary_expression "(int)pcVar11 - (int)local_54" (cast_expression "(int)pcVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n      local_24 = (*DAT_00076b4c)(local_54,iVar7);\n    }" { (expression_statement "local_24 = (*DAT_00076b4c)(local_54,iVar7);" (assignment_expression "local_24 = (*DAT_00076b4c)(local_54,iVar7)" identifier = (call_expression "(*DAT_00076b4c)(local_54,iVar7)" (parenthesized_expression "(*DAT_00076b4c)" ( (pointer_expression "*DAT_00076b4c" * identifier) )) (argument_list "(local_54,iVar7)" ( identifier , identifier )))) ;) })) (expression_statement "pcVar3 = (char *)dcgettext(0,"  Length:                              %ld\n",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,"  Length:                              %ld\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Length:                              %ld\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Length:                              %ld\n",5)" identifier (argument_list "(0,"  Length:                              %ld\n",5)" ( number_literal , (string_literal ""  Length:                              %ld\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar3,iVar4);" (call_expression "printf(pcVar3,iVar4)" identifier (argument_list "(pcVar3,iVar4)" ( identifier , identifier ))) ;) (expression_statement "pcVar3 = (char *)dcgettext(0,"  Version:                             %d\n",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,"  Version:                             %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Version:                             %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Version:                             %d\n",5)" identifier (argument_list "(0,"  Version:                             %d\n",5)" ( number_literal , (string_literal ""  Version:                             %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar3,local_28);" (call_expression "printf(pcVar3,local_28)" identifier (argument_list "(pcVar3,local_28)" ( identifier , identifier ))) ;) (expression_statement "pcVar3 = (char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5)" identifier (argument_list "(0,"  Offset into .debug_info section:     0x%lx\n",5)" ( number_literal , (string_literal ""  Offset into .debug_info section:     0x%lx\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar3,local_34);" (call_expression "printf(pcVar3,local_34)" identifier (argument_list "(pcVar3,local_34)" ( identifier , identifier ))) ;) (expression_statement "pcVar3 = (char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Size of area in .debug_info section: %ld\n",5)" identifier (argument_list "(0,"  Size of area in .debug_info section: %ld\n",5)" ( number_literal , (string_literal ""  Size of area in .debug_info section: %ld\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar3,local_24);" (call_expression "printf(pcVar3,local_24)" identifier (argument_list "(pcVar3,local_24)" ( identifier , identifier ))) ;) (if_statement "if (uVar2 < 2) {\n      if (param_3 == 0) {\n        pcVar3 = "\n    Offset\tName\n";\n      }\n      else {\n        pcVar3 = "\n    Offset  Kind          Name\n";\n      }\n      pcVar3 = (char *)dcgettext(0,pcVar3,5);\n      printf(pcVar3);\n      do {\n        pcVar3 = pcVar13 + local_48;\n        if (pcVar11 <= pcVar3) {\n          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }\n          break;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,local_48);\n        if (lVar15 == 0) break;\n        iVar4 = (int)pcVar11 - (int)pcVar3;\n        local_54 = (char *)(iVar4 - 1);\n        if (param_3 == 0) {\n          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);\n        }\n        else {\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }\n        sVar6 = strnlen(pcVar3,(size_t)local_54);\n        pcVar13 = pcVar3 + sVar6 + 1;\n      } while (pcVar13 < pcVar11);\n    }\n    else if (DAT_00074224 == 0) {\n      uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n      warn(uVar8);\n      DAT_00074224 = 1;\n    }" if (parenthesized_expression "(uVar2 < 2)" ( (binary_expression "uVar2 < 2" identifier < number_literal) )) (compound_statement "{\n      if (param_3 == 0) {\n        pcVar3 = "\n    Offset\tName\n";\n      }\n      else {\n        pcVar3 = "\n    Offset  Kind          Name\n";\n      }\n      pcVar3 = (char *)dcgettext(0,pcVar3,5);\n      printf(pcVar3);\n      do {\n        pcVar3 = pcVar13 + local_48;\n        if (pcVar11 <= pcVar3) {\n          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }\n          break;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,local_48);\n        if (lVar15 == 0) break;\n        iVar4 = (int)pcVar11 - (int)pcVar3;\n        local_54 = (char *)(iVar4 - 1);\n        if (param_3 == 0) {\n          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);\n        }\n        else {\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }\n        sVar6 = strnlen(pcVar3,(size_t)local_54);\n        pcVar13 = pcVar3 + sVar6 + 1;\n      } while (pcVar13 < pcVar11);\n    }" { (if_statement "if (param_3 == 0) {\n        pcVar3 = "\n    Offset\tName\n";\n      }\n      else {\n        pcVar3 = "\n    Offset  Kind          Name\n";\n      }" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar3 = "\n    Offset\tName\n";\n      }" { (expression_statement "pcVar3 = "\n    Offset\tName\n";" (assignment_expression "pcVar3 = "\n    Offset\tName\n"" identifier = (string_literal ""\n    Offset\tName\n"" " escape_sequence string_content escape_sequence string_content escape_sequence ")) ;) }) (else_clause "else {\n        pcVar3 = "\n    Offset  Kind          Name\n";\n      }" else (compound_statement "{\n        pcVar3 = "\n    Offset  Kind          Name\n";\n      }" { (expression_statement "pcVar3 = "\n    Offset  Kind          Name\n";" (assignment_expression "pcVar3 = "\n    Offset  Kind          Name\n"" identifier = (string_literal ""\n    Offset  Kind          Name\n"" " escape_sequence string_content escape_sequence ")) ;) }))) (expression_statement "pcVar3 = (char *)dcgettext(0,pcVar3,5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,pcVar3,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar3,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar3,5)" identifier (argument_list "(0,pcVar3,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar3);" (call_expression "printf(pcVar3)" identifier (argument_list "(pcVar3)" ( identifier ))) ;) (do_statement "do {\n        pcVar3 = pcVar13 + local_48;\n        if (pcVar11 <= pcVar3) {\n          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }\n          break;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,local_48);\n        if (lVar15 == 0) break;\n        iVar4 = (int)pcVar11 - (int)pcVar3;\n        local_54 = (char *)(iVar4 - 1);\n        if (param_3 == 0) {\n          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);\n        }\n        else {\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }\n        sVar6 = strnlen(pcVar3,(size_t)local_54);\n        pcVar13 = pcVar3 + sVar6 + 1;\n      } while (pcVar13 < pcVar11);" do (compound_statement "{\n        pcVar3 = pcVar13 + local_48;\n        if (pcVar11 <= pcVar3) {\n          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }\n          break;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,local_48);\n        if (lVar15 == 0) break;\n        iVar4 = (int)pcVar11 - (int)pcVar3;\n        local_54 = (char *)(iVar4 - 1);\n        if (param_3 == 0) {\n          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);\n        }\n        else {\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }\n        sVar6 = strnlen(pcVar3,(size_t)local_54);\n        pcVar13 = pcVar3 + sVar6 + 1;\n      }" { (expression_statement "pcVar3 = pcVar13 + local_48;" (assignment_expression "pcVar3 = pcVar13 + local_48" identifier = (binary_expression "pcVar13 + local_48" identifier + identifier)) ;) (if_statement "if (pcVar11 <= pcVar3) {\n          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }\n          break;\n        }" if (parenthesized_expression "(pcVar11 <= pcVar3)" ( (binary_expression "pcVar11 <= pcVar3" identifier <= identifier) )) (compound_statement "{\n          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }\n          break;\n        }" { (if_statement "if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }" if (parenthesized_expression "((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8))" ( (binary_expression "(pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)" (parenthesized_expression "(pcVar13 < pcVar11)" ( (binary_expression "pcVar13 < pcVar11" identifier < identifier) )) && (parenthesized_expression "(((int)pcVar11 - (int)pcVar13) - 1U < 8)" ( (binary_expression "((int)pcVar11 - (int)pcVar13) - 1U < 8" (binary_expression "((int)pcVar11 - (int)pcVar13) - 1U" (parenthesized_expression "((int)pcVar11 - (int)pcVar13)" ( (binary_expression "(int)pcVar11 - (int)pcVar13" (cast_expression "(int)pcVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal) < number_literal) ))) )) (compound_statement "{\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }" { (expression_statement "(*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);" (call_expression "(*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13)" (parenthesized_expression "(*DAT_00076b4c)" ( (pointer_expression "*DAT_00076b4c" * identifier) )) (argument_list "(pcVar13,(int)pcVar11 - (int)pcVar13)" ( identifier , (binary_expression "(int)pcVar11 - (int)pcVar13" (cast_expression "(int)pcVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) })) (break_statement "break;" break ;) })) (expression_statement "lVar15 = (*DAT_00076b4c)(pcVar13,local_48);" (assignment_expression "lVar15 = (*DAT_00076b4c)(pcVar13,local_48)" identifier = (call_expression "(*DAT_00076b4c)(pcVar13,local_48)" (parenthesized_expression "(*DAT_00076b4c)" ( (pointer_expression "*DAT_00076b4c" * identifier) )) (argument_list "(pcVar13,local_48)" ( identifier , identifier )))) ;) (if_statement "if (lVar15 == 0) break;" if (parenthesized_expression "(lVar15 == 0)" ( (binary_expression "lVar15 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = (int)pcVar11 - (int)pcVar3;" (assignment_expression "iVar4 = (int)pcVar11 - (int)pcVar3" identifier = (binary_expression "(int)pcVar11 - (int)pcVar3" (cast_expression "(int)pcVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar3" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "local_54 = (char *)(iVar4 - 1);" (assignment_expression "local_54 = (char *)(iVar4 - 1)" identifier = (cast_expression "(char *)(iVar4 - 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 - 1)" ( (binary_expression "iVar4 - 1" identifier - number_literal) )))) ;) (if_statement "if (param_3 == 0) {\n          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);\n        }\n        else {\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (compound_statement "{\n          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);\n        }" { (expression_statement "printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);" (call_expression "printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3)" identifier (argument_list "("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3)" ( (string_literal ""    %-6lx\t%.*s\n"" " string_content escape_sequence string_content escape_sequence ") , (cast_expression "(int)lVar15" ( (type_descriptor "int" primitive_type) ) identifier) , identifier , identifier ))) ;) }) (else_clause "else {\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }" else (compound_statement "{\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }" { (expression_statement "pcVar13 = pcVar3 + 1;" (assignment_expression "pcVar13 = pcVar3 + 1" identifier = (binary_expression "pcVar3 + 1" identifier + number_literal)) ;) (expression_statement "iVar7 = param_3;" (assignment_expression "iVar7 = param_3" identifier = identifier) ;) (if_statement "if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }" if (parenthesized_expression "((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8))" ( (binary_expression "(pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)" (parenthesized_expression "(pcVar13 < pcVar11)" ( (binary_expression "pcVar13 < pcVar11" identifier < identifier) )) || (parenthesized_expression "(iVar7 = iVar4, local_54 < 8)" ( (comma_expression "iVar7 = iVar4, local_54 < 8" (assignment_expression "iVar7 = iVar4" identifier = identifier) , (binary_expression "local_54 < 8" identifier < number_literal)) ))) )) (compound_statement "{\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }" { (expression_statement "iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);" (assignment_expression "iVar7 = (*DAT_00076b4c)(pcVar3,iVar7)" identifier = (call_expression "(*DAT_00076b4c)(pcVar3,iVar7)" (parenthesized_expression "(*DAT_00076b4c)" ( (pointer_expression "*DAT_00076b4c" * identifier) )) (argument_list "(pcVar3,iVar7)" ( identifier , identifier )))) ;) (expression_statement "uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);" (assignment_expression "uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5)" identifier = (call_expression "dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5)" identifier (argument_list "(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5)" ( number_literal , (pointer_expression "*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4)" * (cast_expression "(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4)" ( (binary_expression "&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4" (pointer_expression "&DAT_000722c0" & identifier) + (binary_expression "((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4" (parenthesized_expression "((uint)(iVar7 << 0x18) >> 0x1c & 7)" ( (binary_expression "(uint)(iVar7 << 0x18) >> 0x1c & 7" (binary_expression "(uint)(iVar7 << 0x18) >> 0x1c" (call_expression "(uint)(iVar7 << 0x18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar7 << 0x18)" ( (binary_expression "iVar7 << 0x18" identifier << number_literal) ))) >> number_literal) & number_literal) )) * number_literal)) )))) , number_literal )))) ;) (if_statement "if (-1 < iVar7 << 0x18) goto LAB_0003565a;" if (parenthesized_expression "(-1 < iVar7 << 0x18)" ( (binary_expression "-1 < iVar7 << 0x18" number_literal < (binary_expression "iVar7 << 0x18" identifier << number_literal)) )) (goto_statement "goto LAB_0003565a;" goto statement_identifier ;)) (expression_statement "uVar5 = dcgettext(0,"s",5);" (assignment_expression "uVar5 = dcgettext(0,"s",5)" identifier = (call_expression "dcgettext(0,"s",5)" identifier (argument_list "(0,"s",5)" ( number_literal , (string_literal ""s"" " string_content ") , number_literal )))) ;) }) (else_clause "else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }" else (compound_statement "{\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }" { (expression_statement "uVar8 = dcgettext(0,"no info",5);" (assignment_expression "uVar8 = dcgettext(0,"no info",5)" identifier = (call_expression "dcgettext(0,"no info",5)" identifier (argument_list "(0,"no info",5)" ( number_literal , (string_literal ""no info"" " string_content ") , number_literal )))) ;) (labeled_statement "LAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);" statement_identifier : (expression_statement "uVar5 = dcgettext(0,"g",5);" (assignment_expression "uVar5 = dcgettext(0,"g",5)" identifier = (call_expression "dcgettext(0,"g",5)" identifier (argument_list "(0,"g",5)" ( number_literal , (string_literal ""g"" " string_content ") , number_literal )))) ;)) }))) (expression_statement "printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);" (call_expression "printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13)" identifier (argument_list "("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13)" ( (string_literal ""    %-6lx  %s,%-10s  %.*s\n"" " string_content escape_sequence ") , (cast_expression "(int)lVar15" ( (type_descriptor "int" primitive_type) ) identifier) , identifier , identifier , (binary_expression "iVar4 - 2U" identifier - number_literal) , identifier ))) ;) (expression_statement "pcVar3 = pcVar13;" (assignment_expression "pcVar3 = pcVar13" identifier = identifier) ;) (expression_statement "local_54 = (char *)(iVar4 - 2U);" (assignment_expression "local_54 = (char *)(iVar4 - 2U)" identifier = (cast_expression "(char *)(iVar4 - 2U)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 - 2U)" ( (binary_expression "iVar4 - 2U" identifier - number_literal) )))) ;) }))) (expression_statement "sVar6 = strnlen(pcVar3,(size_t)local_54);" (assignment_expression "sVar6 = strnlen(pcVar3,(size_t)local_54)" identifier = (call_expression "strnlen(pcVar3,(size_t)local_54)" identifier (argument_list "(pcVar3,(size_t)local_54)" ( identifier , (cast_expression "(size_t)local_54" ( (type_descriptor "size_t" primitive_type) ) identifier) )))) ;) (expression_statement "pcVar13 = pcVar3 + sVar6 + 1;" (assignment_expression "pcVar13 = pcVar3 + sVar6 + 1" identifier = (binary_expression "pcVar3 + sVar6 + 1" (binary_expression "pcVar3 + sVar6" identifier + identifier) + number_literal)) ;) }) while (parenthesized_expression "(pcVar13 < pcVar11)" ( (binary_expression "pcVar13 < pcVar11" identifier < identifier) )) ;) }) (else_clause "else if (DAT_00074224 == 0) {\n      uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n      warn(uVar8);\n      DAT_00074224 = 1;\n    }" else (if_statement "if (DAT_00074224 == 0) {\n      uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n      warn(uVar8);\n      DAT_00074224 = 1;\n    }" if (parenthesized_expression "(DAT_00074224 == 0)" ( (binary_expression "DAT_00074224 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n      warn(uVar8);\n      DAT_00074224 = 1;\n    }" { (expression_statement "uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);" (assignment_expression "uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5)" identifier = (call_expression "dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5)" identifier (argument_list "(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5)" ( number_literal , (string_literal ""Only DWARF 2 and 3 pubnames are currently supported\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar8);" (call_expression "warn(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;) (expression_statement "DAT_00074224 = 1;" (assignment_expression "DAT_00074224 = 1" identifier = number_literal) ;) })))) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint __regparm3 display_debug_pubnames_worker(dwarf_section *section,void *file,int is_gnu)\n\n{\n  uint uVar1;\n  ushort uVar2;\n  char *pcVar3;\n  uchar *puVar4;\n  uchar *puVar5;\n  char *pcVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  size_t sVar10;\n  int iVar11;\n  char *message;\n  dwarf_section *section_1;\n  dwarf_vma *pdVar12;\n  uchar *puVar13;\n  uint uVar14;\n  uchar *puVar15;\n  uchar *puVar16;\n  uint num_bytes;\n  elf_vma eVar17;\n  elf_vma eVar18;\n  char *in_stack_ffffff98;\n  void *in_stack_ffffffa4;\n  undefined8 local_54;\n  uchar *local_48;\n  int local_34;\n  uint local_28;\n  uchar *local_24;\n  \n  puVar16 = section->start;\n  puVar13 = puVar16 + (int)section->size;\n  load_debug_info(in_stack_ffffffa4);\n  introduce((dwarf_section *)section->name,(bfd_boolean)&section->filename,section_1);\n  do {\n    if (puVar13 <= puVar16) {\nLAB_00035816:\n      putchar(10);\n      return 1;\n    }\n    puVar15 = puVar16 + 4;\n    if (puVar15 < puVar13) {\n      puVar4 = (uchar *)0x4;\nLAB_0003540f:\n      eVar17 = (*byte_get)(puVar16,(int)puVar4);\n      if (eVar17 == 0xffffffff) {\n        puVar16 = puVar16 + 0xc;\n        if (puVar16 < puVar13) {\n          puVar5 = (uchar *)0x8;\n        }\n        else if ((puVar13 <= puVar15) ||\n                (puVar5 = puVar13 + -(int)puVar15, (uchar *)0x7 < puVar5 + -1)) {\n          local_34 = 0xc;\n          local_48 = (uchar *)0x8;\n          puVar15 = puVar16;\n          goto LAB_00035266;\n        }\n        eVar17 = (*byte_get)(puVar15,(int)puVar5);\n        local_34 = 0xc;\n        local_48 = (uchar *)0x8;\n        puVar15 = puVar16;\n        puVar4 = puVar5;\n      }\n      else {\n        local_34 = 4;\n        local_48 = (uchar *)0x4;\n      }\n      num_bytes = (uint)eVar17;\n      uVar14 = (int)puVar15 - (int)section->start;\n      local_54 = eVar17 + uVar14;\n      if ((uint)((uint)local_54 < uVar14) <= (uint)(local_54 >> 0x20)) goto LAB_0003527f;\nLAB_000357ce:\n      pcVar6 = dwarf_vmatoa_1("x",ZEXT48(puVar4) << 0x20,num_bytes);\n      pcVar3 = section->name;\n      message = (char *)dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(message,pcVar3,uVar14 - local_34,pcVar6);\n      goto LAB_00035816;\n    }\n    puVar4 = puVar13 + -(int)puVar16;\n    if (puVar4 + -1 < (uchar *)0x8) goto LAB_0003540f;\n    local_34 = 4;\n    local_48 = (uchar *)0x4;\n    puVar4 = (uchar *)in_stack_ffffff98;\nLAB_00035266:\n    eVar17 = 0;\n    uVar14 = (int)puVar15 - (int)section->start;\n    local_54 = (ulonglong)uVar14;\nLAB_0003527f:\n    num_bytes = (uint)eVar17;\n    uVar1 = *(uint *)((int)&section->size + 4);\n    if (uVar1 < local_54._4_4_ ||\n        uVar1 - local_54._4_4_ < (uint)((uint)section->size < (uint)local_54)) goto LAB_000357ce;\n    puVar16 = puVar15 + num_bytes;\n    puVar4 = puVar15 + 2;\n    puVar5 = local_48;\n    if (puVar4 < puVar13) {\n      eVar17 = (*byte_get)(puVar15,2);\n      uVar14 = (uint)eVar17;\n      if (puVar4 + (int)local_48 < puVar13) {\nLAB_00035730:\n        local_28 = uVar14 & 0xffff;\n        uVar2 = (short)uVar14 - 2;\n      }\n      else {\n        local_28 = uVar14 & 0xffff;\n        uVar2 = (short)eVar17 - 2;\n        puVar5 = puVar13 + -(int)puVar4;\n        if ((uchar *)0x7 < puVar13 + -(int)puVar4 + -1) goto LAB_000354ec;\n      }\nLAB_000352fb:\n      eVar17 = (*byte_get)(puVar4,(int)puVar5);\n      local_34 = (int)eVar17;\n    }\n    else if ((puVar15 < puVar13) && (((int)puVar13 - (int)puVar15) - 1U < 8)) {\n      eVar17 = (*byte_get)(puVar15,(int)puVar13 - (int)puVar15);\n      uVar14 = (uint)eVar17;\n      if (puVar4 + (int)local_48 < puVar13) goto LAB_00035730;\n      local_28 = uVar14 & 0xffff;\n      uVar2 = (short)eVar17 - 2;\n      local_34 = 0;\n    }\n    else {\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (puVar4 + (int)local_48 < puVar13) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }\n    puVar4 = puVar4 + (int)local_48;\n    if (num_debug_info_entries - 1 < 0xfffffffe) {\n      uVar14 = 0;\n      pdVar12 = &debug_information->cu_offset;\n      do {\n        if ((int)*pdVar12 == local_34 && *(int *)((int)pdVar12 + 4) == 0) goto LAB_00035321;\n        uVar14 = uVar14 + 1;\n        pdVar12 = pdVar12 + 10;\n      } while (num_debug_info_entries != uVar14);\n      pcVar3 = section->name;\n      pcVar6 = (char *)dcgettext(0,\n                                 ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                                 ,5);\n      warn(pcVar6,local_34,pcVar3);\n    }\nLAB_00035321:\n    puVar15 = puVar4 + (int)local_48;\n    puVar5 = local_48;\n    if ((puVar15 < puVar13) ||\n       ((local_24 = (uchar *)0x0, puVar4 < puVar13 &&\n        (puVar5 = puVar13 + -(int)puVar4, puVar13 + -(int)puVar4 + -1 < (uchar *)0x8)))) {\n      eVar17 = (*byte_get)(puVar4,(int)puVar5);\n      local_24 = (uchar *)eVar17;\n    }\n    pcVar3 = (char *)dcgettext(0,"  Length:                              %ld\n",5);\n    printf(pcVar3,num_bytes);\n    pcVar3 = (char *)dcgettext(0,"  Version:                             %d\n",5);\n    printf(pcVar3,local_28);\n    pcVar3 = (char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5);\n    printf(pcVar3,local_34);\n    pcVar3 = (char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5);\n    printf(pcVar3);\n    if (uVar2 < 2) {\n      if (is_gnu == 0) {\n        in_stack_ffffff98 = "\n    Offset\tName\n";\n      }\n      else {\n        in_stack_ffffff98 = "\n    Offset  Kind          Name\n";\n      }\n      pcVar3 = (char *)dcgettext(0,in_stack_ffffff98,5);\n      printf(pcVar3);\n      do {\n        puVar4 = puVar15 + (int)local_48;\n        if (puVar13 <= puVar4) {\n          if ((puVar15 < puVar13) && (puVar4 = puVar13 + -(int)puVar15, puVar4 + -1 < (uchar *)0x8))\n          {\n            (*byte_get)(puVar15,(int)puVar4);\n            in_stack_ffffff98 = (char *)puVar4;\n          }\n          break;\n        }\n        in_stack_ffffff98 = (char *)local_48;\n        eVar17 = (*byte_get)(puVar15,(int)local_48);\n        if (eVar17 == 0) break;\n        iVar7 = (int)puVar13 - (int)puVar4;\n        in_stack_ffffff98 = (char *)(iVar7 + -1);\n        if (is_gnu == 0) {\n          printf("    %-6lx\t%.*s\n",(int)eVar17,in_stack_ffffff98,puVar4);\n        }\n        else {\n          puVar15 = puVar4 + 1;\n          iVar11 = is_gnu;\n          if ((puVar15 < puVar13) || (iVar11 = iVar7, in_stack_ffffff98 < (uchar *)0x8)) {\n            eVar18 = (*byte_get)(puVar4,iVar11);\n            uVar14 = (int)eVar18 << 0x18;\n            uVar8 = dcgettext(0,*(undefined4 *)(kinds_11357 + (uVar14 >> 0x1c & 7) * 4),5);\n            if (-1 < (int)uVar14) goto LAB_0003565a;\n            uVar9 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar9 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)eVar17,uVar9,uVar8,(uchar *)(iVar7 + -2),puVar15\n                );\n          puVar4 = puVar15;\n          in_stack_ffffff98 = (char *)(iVar7 + -2);\n        }\n        sVar10 = strnlen((char *)puVar4,(size_t)in_stack_ffffff98);\n        puVar15 = puVar4 + sVar10 + 1;\n      } while (puVar15 < puVar13);\n    }\n    else {\n      in_stack_ffffff98 = (char *)local_24;\n      if (display_debug_pubnames_worker::lexical_block_6::lexical_block_6_9::warned == 0) {\n        in_stack_ffffff98 = "Only DWARF 2 and 3 pubnames are currently supported\n";\n        pcVar3 = (char *)dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n        warn(pcVar3);\n        display_debug_pubnames_worker::lexical_block_6::lexical_block_6_9::warned = 1;\n      }\n    }\n  } while( true );\n}\n\n" comment (function_definition "int __regparm3 display_debug_pubnames_worker(dwarf_section *section,void *file,int is_gnu)\n\n{\n  uint uVar1;\n  ushort uVar2;\n  char *pcVar3;\n  uchar *puVar4;\n  uchar *puVar5;\n  char *pcVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  size_t sVar10;\n  int iVar11;\n  char *message;\n  dwarf_section *section_1;\n  dwarf_vma *pdVar12;\n  uchar *puVar13;\n  uint uVar14;\n  uchar *puVar15;\n  uchar *puVar16;\n  uint num_bytes;\n  elf_vma eVar17;\n  elf_vma eVar18;\n  char *in_stack_ffffff98;\n  void *in_stack_ffffffa4;\n  undefined8 local_54;\n  uchar *local_48;\n  int local_34;\n  uint local_28;\n  uchar *local_24;\n  \n  puVar16 = section->start;\n  puVar13 = puVar16 + (int)section->size;\n  load_debug_info(in_stack_ffffffa4);\n  introduce((dwarf_section *)section->name,(bfd_boolean)&section->filename,section_1);\n  do {\n    if (puVar13 <= puVar16) {\nLAB_00035816:\n      putchar(10);\n      return 1;\n    }\n    puVar15 = puVar16 + 4;\n    if (puVar15 < puVar13) {\n      puVar4 = (uchar *)0x4;\nLAB_0003540f:\n      eVar17 = (*byte_get)(puVar16,(int)puVar4);\n      if (eVar17 == 0xffffffff) {\n        puVar16 = puVar16 + 0xc;\n        if (puVar16 < puVar13) {\n          puVar5 = (uchar *)0x8;\n        }\n        else if ((puVar13 <= puVar15) ||\n                (puVar5 = puVar13 + -(int)puVar15, (uchar *)0x7 < puVar5 + -1)) {\n          local_34 = 0xc;\n          local_48 = (uchar *)0x8;\n          puVar15 = puVar16;\n          goto LAB_00035266;\n        }\n        eVar17 = (*byte_get)(puVar15,(int)puVar5);\n        local_34 = 0xc;\n        local_48 = (uchar *)0x8;\n        puVar15 = puVar16;\n        puVar4 = puVar5;\n      }\n      else {\n        local_34 = 4;\n        local_48 = (uchar *)0x4;\n      }\n      num_bytes = (uint)eVar17;\n      uVar14 = (int)puVar15 - (int)section->start;\n      local_54 = eVar17 + uVar14;\n      if ((uint)((uint)local_54 < uVar14) <= (uint)(local_54 >> 0x20)) goto LAB_0003527f;\nLAB_000357ce:\n      pcVar6 = dwarf_vmatoa_1("x",ZEXT48(puVar4) << 0x20,num_bytes);\n      pcVar3 = section->name;\n      message = (char *)dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(message,pcVar3,uVar14 - local_34,pcVar6);\n      goto LAB_00035816;\n    }\n    puVar4 = puVar13 + -(int)puVar16;\n    if (puVar4 + -1 < (uchar *)0x8) goto LAB_0003540f;\n    local_34 = 4;\n    local_48 = (uchar *)0x4;\n    puVar4 = (uchar *)in_stack_ffffff98;\nLAB_00035266:\n    eVar17 = 0;\n    uVar14 = (int)puVar15 - (int)section->start;\n    local_54 = (ulonglong)uVar14;\nLAB_0003527f:\n    num_bytes = (uint)eVar17;\n    uVar1 = *(uint *)((int)&section->size + 4);\n    if (uVar1 < local_54._4_4_ ||\n        uVar1 - local_54._4_4_ < (uint)((uint)section->size < (uint)local_54)) goto LAB_000357ce;\n    puVar16 = puVar15 + num_bytes;\n    puVar4 = puVar15 + 2;\n    puVar5 = local_48;\n    if (puVar4 < puVar13) {\n      eVar17 = (*byte_get)(puVar15,2);\n      uVar14 = (uint)eVar17;\n      if (puVar4 + (int)local_48 < puVar13) {\nLAB_00035730:\n        local_28 = uVar14 & 0xffff;\n        uVar2 = (short)uVar14 - 2;\n      }\n      else {\n        local_28 = uVar14 & 0xffff;\n        uVar2 = (short)eVar17 - 2;\n        puVar5 = puVar13 + -(int)puVar4;\n        if ((uchar *)0x7 < puVar13 + -(int)puVar4 + -1) goto LAB_000354ec;\n      }\nLAB_000352fb:\n      eVar17 = (*byte_get)(puVar4,(int)puVar5);\n      local_34 = (int)eVar17;\n    }\n    else if ((puVar15 < puVar13) && (((int)puVar13 - (int)puVar15) - 1U < 8)) {\n      eVar17 = (*byte_get)(puVar15,(int)puVar13 - (int)puVar15);\n      uVar14 = (uint)eVar17;\n      if (puVar4 + (int)local_48 < puVar13) goto LAB_00035730;\n      local_28 = uVar14 & 0xffff;\n      uVar2 = (short)eVar17 - 2;\n      local_34 = 0;\n    }\n    else {\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (puVar4 + (int)local_48 < puVar13) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }\n    puVar4 = puVar4 + (int)local_48;\n    if (num_debug_info_entries - 1 < 0xfffffffe) {\n      uVar14 = 0;\n      pdVar12 = &debug_information->cu_offset;\n      do {\n        if ((int)*pdVar12 == local_34 && *(int *)((int)pdVar12 + 4) == 0) goto LAB_00035321;\n        uVar14 = uVar14 + 1;\n        pdVar12 = pdVar12 + 10;\n      } while (num_debug_info_entries != uVar14);\n      pcVar3 = section->name;\n      pcVar6 = (char *)dcgettext(0,\n                                 ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                                 ,5);\n      warn(pcVar6,local_34,pcVar3);\n    }\nLAB_00035321:\n    puVar15 = puVar4 + (int)local_48;\n    puVar5 = local_48;\n    if ((puVar15 < puVar13) ||\n       ((local_24 = (uchar *)0x0, puVar4 < puVar13 &&\n        (puVar5 = puVar13 + -(int)puVar4, puVar13 + -(int)puVar4 + -1 < (uchar *)0x8)))) {\n      eVar17 = (*byte_get)(puVar4,(int)puVar5);\n      local_24 = (uchar *)eVar17;\n    }\n    pcVar3 = (char *)dcgettext(0,"  Length:                              %ld\n",5);\n    printf(pcVar3,num_bytes);\n    pcVar3 = (char *)dcgettext(0,"  Version:                             %d\n",5);\n    printf(pcVar3,local_28);\n    pcVar3 = (char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5);\n    printf(pcVar3,local_34);\n    pcVar3 = (char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5);\n    printf(pcVar3);\n    if (uVar2 < 2) {\n      if (is_gnu == 0) {\n        in_stack_ffffff98 = "\n    Offset\tName\n";\n      }\n      else {\n        in_stack_ffffff98 = "\n    Offset  Kind          Name\n";\n      }\n      pcVar3 = (char *)dcgettext(0,in_stack_ffffff98,5);\n      printf(pcVar3);\n      do {\n        puVar4 = puVar15 + (int)local_48;\n        if (puVar13 <= puVar4) {\n          if ((puVar15 < puVar13) && (puVar4 = puVar13 + -(int)puVar15, puVar4 + -1 < (uchar *)0x8))\n          {\n            (*byte_get)(puVar15,(int)puVar4);\n            in_stack_ffffff98 = (char *)puVar4;\n          }\n          break;\n        }\n        in_stack_ffffff98 = (char *)local_48;\n        eVar17 = (*byte_get)(puVar15,(int)local_48);\n        if (eVar17 == 0) break;\n        iVar7 = (int)puVar13 - (int)puVar4;\n        in_stack_ffffff98 = (char *)(iVar7 + -1);\n        if (is_gnu == 0) {\n          printf("    %-6lx\t%.*s\n",(int)eVar17,in_stack_ffffff98,puVar4);\n        }\n        else {\n          puVar15 = puVar4 + 1;\n          iVar11 = is_gnu;\n          if ((puVar15 < puVar13) || (iVar11 = iVar7, in_stack_ffffff98 < (uchar *)0x8)) {\n            eVar18 = (*byte_get)(puVar4,iVar11);\n            uVar14 = (int)eVar18 << 0x18;\n            uVar8 = dcgettext(0,*(undefined4 *)(kinds_11357 + (uVar14 >> 0x1c & 7) * 4),5);\n            if (-1 < (int)uVar14) goto LAB_0003565a;\n            uVar9 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar9 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)eVar17,uVar9,uVar8,(uchar *)(iVar7 + -2),puVar15\n                );\n          puVar4 = puVar15;\n          in_stack_ffffff98 = (char *)(iVar7 + -2);\n        }\n        sVar10 = strnlen((char *)puVar4,(size_t)in_stack_ffffff98);\n        puVar15 = puVar4 + sVar10 + 1;\n      } while (puVar15 < puVar13);\n    }\n    else {\n      in_stack_ffffff98 = (char *)local_24;\n      if (display_debug_pubnames_worker::lexical_block_6::lexical_block_6_9::warned == 0) {\n        in_stack_ffffff98 = "Only DWARF 2 and 3 pubnames are currently supported\n";\n        pcVar3 = (char *)dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n        warn(pcVar3);\n        display_debug_pubnames_worker::lexical_block_6::lexical_block_6_9::warned = 1;\n      }\n    }\n  } while( true );\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "display_debug_pubnames_worker(dwarf_section *section,void *file,int is_gnu)" identifier (parameter_list "(dwarf_section *section,void *file,int is_gnu)" ( (parameter_declaration "dwarf_section *section" type_identifier (pointer_declarator "*section" * identifier)) , (parameter_declaration "void *file" primitive_type (pointer_declarator "*file" * identifier)) , (parameter_declaration "int is_gnu" primitive_type identifier) ))) (compound_statement "{\n  uint uVar1;\n  ushort uVar2;\n  char *pcVar3;\n  uchar *puVar4;\n  uchar *puVar5;\n  char *pcVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  size_t sVar10;\n  int iVar11;\n  char *message;\n  dwarf_section *section_1;\n  dwarf_vma *pdVar12;\n  uchar *puVar13;\n  uint uVar14;\n  uchar *puVar15;\n  uchar *puVar16;\n  uint num_bytes;\n  elf_vma eVar17;\n  elf_vma eVar18;\n  char *in_stack_ffffff98;\n  void *in_stack_ffffffa4;\n  undefined8 local_54;\n  uchar *local_48;\n  int local_34;\n  uint local_28;\n  uchar *local_24;\n  \n  puVar16 = section->start;\n  puVar13 = puVar16 + (int)section->size;\n  load_debug_info(in_stack_ffffffa4);\n  introduce((dwarf_section *)section->name,(bfd_boolean)&section->filename,section_1);\n  do {\n    if (puVar13 <= puVar16) {\nLAB_00035816:\n      putchar(10);\n      return 1;\n    }\n    puVar15 = puVar16 + 4;\n    if (puVar15 < puVar13) {\n      puVar4 = (uchar *)0x4;\nLAB_0003540f:\n      eVar17 = (*byte_get)(puVar16,(int)puVar4);\n      if (eVar17 == 0xffffffff) {\n        puVar16 = puVar16 + 0xc;\n        if (puVar16 < puVar13) {\n          puVar5 = (uchar *)0x8;\n        }\n        else if ((puVar13 <= puVar15) ||\n                (puVar5 = puVar13 + -(int)puVar15, (uchar *)0x7 < puVar5 + -1)) {\n          local_34 = 0xc;\n          local_48 = (uchar *)0x8;\n          puVar15 = puVar16;\n          goto LAB_00035266;\n        }\n        eVar17 = (*byte_get)(puVar15,(int)puVar5);\n        local_34 = 0xc;\n        local_48 = (uchar *)0x8;\n        puVar15 = puVar16;\n        puVar4 = puVar5;\n      }\n      else {\n        local_34 = 4;\n        local_48 = (uchar *)0x4;\n      }\n      num_bytes = (uint)eVar17;\n      uVar14 = (int)puVar15 - (int)section->start;\n      local_54 = eVar17 + uVar14;\n      if ((uint)((uint)local_54 < uVar14) <= (uint)(local_54 >> 0x20)) goto LAB_0003527f;\nLAB_000357ce:\n      pcVar6 = dwarf_vmatoa_1("x",ZEXT48(puVar4) << 0x20,num_bytes);\n      pcVar3 = section->name;\n      message = (char *)dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(message,pcVar3,uVar14 - local_34,pcVar6);\n      goto LAB_00035816;\n    }\n    puVar4 = puVar13 + -(int)puVar16;\n    if (puVar4 + -1 < (uchar *)0x8) goto LAB_0003540f;\n    local_34 = 4;\n    local_48 = (uchar *)0x4;\n    puVar4 = (uchar *)in_stack_ffffff98;\nLAB_00035266:\n    eVar17 = 0;\n    uVar14 = (int)puVar15 - (int)section->start;\n    local_54 = (ulonglong)uVar14;\nLAB_0003527f:\n    num_bytes = (uint)eVar17;\n    uVar1 = *(uint *)((int)&section->size + 4);\n    if (uVar1 < local_54._4_4_ ||\n        uVar1 - local_54._4_4_ < (uint)((uint)section->size < (uint)local_54)) goto LAB_000357ce;\n    puVar16 = puVar15 + num_bytes;\n    puVar4 = puVar15 + 2;\n    puVar5 = local_48;\n    if (puVar4 < puVar13) {\n      eVar17 = (*byte_get)(puVar15,2);\n      uVar14 = (uint)eVar17;\n      if (puVar4 + (int)local_48 < puVar13) {\nLAB_00035730:\n        local_28 = uVar14 & 0xffff;\n        uVar2 = (short)uVar14 - 2;\n      }\n      else {\n        local_28 = uVar14 & 0xffff;\n        uVar2 = (short)eVar17 - 2;\n        puVar5 = puVar13 + -(int)puVar4;\n        if ((uchar *)0x7 < puVar13 + -(int)puVar4 + -1) goto LAB_000354ec;\n      }\nLAB_000352fb:\n      eVar17 = (*byte_get)(puVar4,(int)puVar5);\n      local_34 = (int)eVar17;\n    }\n    else if ((puVar15 < puVar13) && (((int)puVar13 - (int)puVar15) - 1U < 8)) {\n      eVar17 = (*byte_get)(puVar15,(int)puVar13 - (int)puVar15);\n      uVar14 = (uint)eVar17;\n      if (puVar4 + (int)local_48 < puVar13) goto LAB_00035730;\n      local_28 = uVar14 & 0xffff;\n      uVar2 = (short)eVar17 - 2;\n      local_34 = 0;\n    }\n    else {\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (puVar4 + (int)local_48 < puVar13) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }\n    puVar4 = puVar4 + (int)local_48;\n    if (num_debug_info_entries - 1 < 0xfffffffe) {\n      uVar14 = 0;\n      pdVar12 = &debug_information->cu_offset;\n      do {\n        if ((int)*pdVar12 == local_34 && *(int *)((int)pdVar12 + 4) == 0) goto LAB_00035321;\n        uVar14 = uVar14 + 1;\n        pdVar12 = pdVar12 + 10;\n      } while (num_debug_info_entries != uVar14);\n      pcVar3 = section->name;\n      pcVar6 = (char *)dcgettext(0,\n                                 ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                                 ,5);\n      warn(pcVar6,local_34,pcVar3);\n    }\nLAB_00035321:\n    puVar15 = puVar4 + (int)local_48;\n    puVar5 = local_48;\n    if ((puVar15 < puVar13) ||\n       ((local_24 = (uchar *)0x0, puVar4 < puVar13 &&\n        (puVar5 = puVar13 + -(int)puVar4, puVar13 + -(int)puVar4 + -1 < (uchar *)0x8)))) {\n      eVar17 = (*byte_get)(puVar4,(int)puVar5);\n      local_24 = (uchar *)eVar17;\n    }\n    pcVar3 = (char *)dcgettext(0,"  Length:                              %ld\n",5);\n    printf(pcVar3,num_bytes);\n    pcVar3 = (char *)dcgettext(0,"  Version:                             %d\n",5);\n    printf(pcVar3,local_28);\n    pcVar3 = (char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5);\n    printf(pcVar3,local_34);\n    pcVar3 = (char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5);\n    printf(pcVar3);\n    if (uVar2 < 2) {\n      if (is_gnu == 0) {\n        in_stack_ffffff98 = "\n    Offset\tName\n";\n      }\n      else {\n        in_stack_ffffff98 = "\n    Offset  Kind          Name\n";\n      }\n      pcVar3 = (char *)dcgettext(0,in_stack_ffffff98,5);\n      printf(pcVar3);\n      do {\n        puVar4 = puVar15 + (int)local_48;\n        if (puVar13 <= puVar4) {\n          if ((puVar15 < puVar13) && (puVar4 = puVar13 + -(int)puVar15, puVar4 + -1 < (uchar *)0x8))\n          {\n            (*byte_get)(puVar15,(int)puVar4);\n            in_stack_ffffff98 = (char *)puVar4;\n          }\n          break;\n        }\n        in_stack_ffffff98 = (char *)local_48;\n        eVar17 = (*byte_get)(puVar15,(int)local_48);\n        if (eVar17 == 0) break;\n        iVar7 = (int)puVar13 - (int)puVar4;\n        in_stack_ffffff98 = (char *)(iVar7 + -1);\n        if (is_gnu == 0) {\n          printf("    %-6lx\t%.*s\n",(int)eVar17,in_stack_ffffff98,puVar4);\n        }\n        else {\n          puVar15 = puVar4 + 1;\n          iVar11 = is_gnu;\n          if ((puVar15 < puVar13) || (iVar11 = iVar7, in_stack_ffffff98 < (uchar *)0x8)) {\n            eVar18 = (*byte_get)(puVar4,iVar11);\n            uVar14 = (int)eVar18 << 0x18;\n            uVar8 = dcgettext(0,*(undefined4 *)(kinds_11357 + (uVar14 >> 0x1c & 7) * 4),5);\n            if (-1 < (int)uVar14) goto LAB_0003565a;\n            uVar9 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar9 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)eVar17,uVar9,uVar8,(uchar *)(iVar7 + -2),puVar15\n                );\n          puVar4 = puVar15;\n          in_stack_ffffff98 = (char *)(iVar7 + -2);\n        }\n        sVar10 = strnlen((char *)puVar4,(size_t)in_stack_ffffff98);\n        puVar15 = puVar4 + sVar10 + 1;\n      } while (puVar15 < puVar13);\n    }\n    else {\n      in_stack_ffffff98 = (char *)local_24;\n      if (display_debug_pubnames_worker::lexical_block_6::lexical_block_6_9::warned == 0) {\n        in_stack_ffffff98 = "Only DWARF 2 and 3 pubnames are currently supported\n";\n        pcVar3 = (char *)dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n        warn(pcVar3);\n        display_debug_pubnames_worker::lexical_block_6::lexical_block_6_9::warned = 1;\n      }\n    }\n  } while( true );\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "uchar *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "uchar *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "size_t sVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "char *message;" primitive_type (pointer_declarator "*message" * identifier) ;) (declaration "dwarf_section *section_1;" type_identifier (pointer_declarator "*section_1" * identifier) ;) (declaration "dwarf_vma *pdVar12;" type_identifier (pointer_declarator "*pdVar12" * identifier) ;) (declaration "uchar *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "uchar *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "uchar *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "uint num_bytes;" type_identifier identifier ;) (declaration "elf_vma eVar17;" type_identifier identifier ;) (declaration "elf_vma eVar18;" type_identifier identifier ;) (declaration "char *in_stack_ffffff98;" primitive_type (pointer_declarator "*in_stack_ffffff98" * identifier) ;) (declaration "void *in_stack_ffffffa4;" primitive_type (pointer_declarator "*in_stack_ffffffa4" * identifier) ;) (declaration "undefined8 local_54;" type_identifier identifier ;) (declaration "uchar *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "uint local_28;" type_identifier identifier ;) (declaration "uchar *local_24;" type_identifier (pointer_declarator "*local_24" * identifier) ;) (expression_statement "puVar16 = section->start;" (assignment_expression "puVar16 = section->start" identifier = (field_expression "section->start" identifier -> field_identifier)) ;) (expression_statement "puVar13 = puVar16 + (int)section->size;" (assignment_expression "puVar13 = puVar16 + (int)section->size" identifier = (binary_expression "puVar16 + (int)section->size" identifier + (cast_expression "(int)section->size" ( (type_descriptor "int" primitive_type) ) (field_expression "section->size" identifier -> field_identifier)))) ;) (expression_statement "load_debug_info(in_stack_ffffffa4);" (call_expression "load_debug_info(in_stack_ffffffa4)" identifier (argument_list "(in_stack_ffffffa4)" ( identifier ))) ;) (expression_statement "introduce((dwarf_section *)section->name,(bfd_boolean)&section->filename,section_1);" (call_expression "introduce((dwarf_section *)section->name,(bfd_boolean)&section->filename,section_1)" identifier (argument_list "((dwarf_section *)section->name,(bfd_boolean)&section->filename,section_1)" ( (cast_expression "(dwarf_section *)section->name" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "section->name" identifier -> field_identifier)) , (binary_expression "(bfd_boolean)&section->filename" (parenthesized_expression "(bfd_boolean)" ( identifier )) & (field_expression "section->filename" identifier -> field_identifier)) , identifier ))) ;) (do_statement "do {\n    if (puVar13 <= puVar16) {\nLAB_00035816:\n      putchar(10);\n      return 1;\n    }\n    puVar15 = puVar16 + 4;\n    if (puVar15 < puVar13) {\n      puVar4 = (uchar *)0x4;\nLAB_0003540f:\n      eVar17 = (*byte_get)(puVar16,(int)puVar4);\n      if (eVar17 == 0xffffffff) {\n        puVar16 = puVar16 + 0xc;\n        if (puVar16 < puVar13) {\n          puVar5 = (uchar *)0x8;\n        }\n        else if ((puVar13 <= puVar15) ||\n                (puVar5 = puVar13 + -(int)puVar15, (uchar *)0x7 < puVar5 + -1)) {\n          local_34 = 0xc;\n          local_48 = (uchar *)0x8;\n          puVar15 = puVar16;\n          goto LAB_00035266;\n        }\n        eVar17 = (*byte_get)(puVar15,(int)puVar5);\n        local_34 = 0xc;\n        local_48 = (uchar *)0x8;\n        puVar15 = puVar16;\n        puVar4 = puVar5;\n      }\n      else {\n        local_34 = 4;\n        local_48 = (uchar *)0x4;\n      }\n      num_bytes = (uint)eVar17;\n      uVar14 = (int)puVar15 - (int)section->start;\n      local_54 = eVar17 + uVar14;\n      if ((uint)((uint)local_54 < uVar14) <= (uint)(local_54 >> 0x20)) goto LAB_0003527f;\nLAB_000357ce:\n      pcVar6 = dwarf_vmatoa_1("x",ZEXT48(puVar4) << 0x20,num_bytes);\n      pcVar3 = section->name;\n      message = (char *)dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(message,pcVar3,uVar14 - local_34,pcVar6);\n      goto LAB_00035816;\n    }\n    puVar4 = puVar13 + -(int)puVar16;\n    if (puVar4 + -1 < (uchar *)0x8) goto LAB_0003540f;\n    local_34 = 4;\n    local_48 = (uchar *)0x4;\n    puVar4 = (uchar *)in_stack_ffffff98;\nLAB_00035266:\n    eVar17 = 0;\n    uVar14 = (int)puVar15 - (int)section->start;\n    local_54 = (ulonglong)uVar14;\nLAB_0003527f:\n    num_bytes = (uint)eVar17;\n    uVar1 = *(uint *)((int)&section->size + 4);\n    if (uVar1 < local_54._4_4_ ||\n        uVar1 - local_54._4_4_ < (uint)((uint)section->size < (uint)local_54)) goto LAB_000357ce;\n    puVar16 = puVar15 + num_bytes;\n    puVar4 = puVar15 + 2;\n    puVar5 = local_48;\n    if (puVar4 < puVar13) {\n      eVar17 = (*byte_get)(puVar15,2);\n      uVar14 = (uint)eVar17;\n      if (puVar4 + (int)local_48 < puVar13) {\nLAB_00035730:\n        local_28 = uVar14 & 0xffff;\n        uVar2 = (short)uVar14 - 2;\n      }\n      else {\n        local_28 = uVar14 & 0xffff;\n        uVar2 = (short)eVar17 - 2;\n        puVar5 = puVar13 + -(int)puVar4;\n        if ((uchar *)0x7 < puVar13 + -(int)puVar4 + -1) goto LAB_000354ec;\n      }\nLAB_000352fb:\n      eVar17 = (*byte_get)(puVar4,(int)puVar5);\n      local_34 = (int)eVar17;\n    }\n    else if ((puVar15 < puVar13) && (((int)puVar13 - (int)puVar15) - 1U < 8)) {\n      eVar17 = (*byte_get)(puVar15,(int)puVar13 - (int)puVar15);\n      uVar14 = (uint)eVar17;\n      if (puVar4 + (int)local_48 < puVar13) goto LAB_00035730;\n      local_28 = uVar14 & 0xffff;\n      uVar2 = (short)eVar17 - 2;\n      local_34 = 0;\n    }\n    else {\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (puVar4 + (int)local_48 < puVar13) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }\n    puVar4 = puVar4 + (int)local_48;\n    if (num_debug_info_entries - 1 < 0xfffffffe) {\n      uVar14 = 0;\n      pdVar12 = &debug_information->cu_offset;\n      do {\n        if ((int)*pdVar12 == local_34 && *(int *)((int)pdVar12 + 4) == 0) goto LAB_00035321;\n        uVar14 = uVar14 + 1;\n        pdVar12 = pdVar12 + 10;\n      } while (num_debug_info_entries != uVar14);\n      pcVar3 = section->name;\n      pcVar6 = (char *)dcgettext(0,\n                                 ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                                 ,5);\n      warn(pcVar6,local_34,pcVar3);\n    }\nLAB_00035321:\n    puVar15 = puVar4 + (int)local_48;\n    puVar5 = local_48;\n    if ((puVar15 < puVar13) ||\n       ((local_24 = (uchar *)0x0, puVar4 < puVar13 &&\n        (puVar5 = puVar13 + -(int)puVar4, puVar13 + -(int)puVar4 + -1 < (uchar *)0x8)))) {\n      eVar17 = (*byte_get)(puVar4,(int)puVar5);\n      local_24 = (uchar *)eVar17;\n    }\n    pcVar3 = (char *)dcgettext(0,"  Length:                              %ld\n",5);\n    printf(pcVar3,num_bytes);\n    pcVar3 = (char *)dcgettext(0,"  Version:                             %d\n",5);\n    printf(pcVar3,local_28);\n    pcVar3 = (char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5);\n    printf(pcVar3,local_34);\n    pcVar3 = (char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5);\n    printf(pcVar3);\n    if (uVar2 < 2) {\n      if (is_gnu == 0) {\n        in_stack_ffffff98 = "\n    Offset\tName\n";\n      }\n      else {\n        in_stack_ffffff98 = "\n    Offset  Kind          Name\n";\n      }\n      pcVar3 = (char *)dcgettext(0,in_stack_ffffff98,5);\n      printf(pcVar3);\n      do {\n        puVar4 = puVar15 + (int)local_48;\n        if (puVar13 <= puVar4) {\n          if ((puVar15 < puVar13) && (puVar4 = puVar13 + -(int)puVar15, puVar4 + -1 < (uchar *)0x8))\n          {\n            (*byte_get)(puVar15,(int)puVar4);\n            in_stack_ffffff98 = (char *)puVar4;\n          }\n          break;\n        }\n        in_stack_ffffff98 = (char *)local_48;\n        eVar17 = (*byte_get)(puVar15,(int)local_48);\n        if (eVar17 == 0) break;\n        iVar7 = (int)puVar13 - (int)puVar4;\n        in_stack_ffffff98 = (char *)(iVar7 + -1);\n        if (is_gnu == 0) {\n          printf("    %-6lx\t%.*s\n",(int)eVar17,in_stack_ffffff98,puVar4);\n        }\n        else {\n          puVar15 = puVar4 + 1;\n          iVar11 = is_gnu;\n          if ((puVar15 < puVar13) || (iVar11 = iVar7, in_stack_ffffff98 < (uchar *)0x8)) {\n            eVar18 = (*byte_get)(puVar4,iVar11);\n            uVar14 = (int)eVar18 << 0x18;\n            uVar8 = dcgettext(0,*(undefined4 *)(kinds_11357 + (uVar14 >> 0x1c & 7) * 4),5);\n            if (-1 < (int)uVar14) goto LAB_0003565a;\n            uVar9 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar9 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)eVar17,uVar9,uVar8,(uchar *)(iVar7 + -2),puVar15\n                );\n          puVar4 = puVar15;\n          in_stack_ffffff98 = (char *)(iVar7 + -2);\n        }\n        sVar10 = strnlen((char *)puVar4,(size_t)in_stack_ffffff98);\n        puVar15 = puVar4 + sVar10 + 1;\n      } while (puVar15 < puVar13);\n    }\n    else {\n      in_stack_ffffff98 = (char *)local_24;\n      if (display_debug_pubnames_worker::lexical_block_6::lexical_block_6_9::warned == 0) {\n        in_stack_ffffff98 = "Only DWARF 2 and 3 pubnames are currently supported\n";\n        pcVar3 = (char *)dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n        warn(pcVar3);\n        display_debug_pubnames_worker::lexical_block_6::lexical_block_6_9::warned = 1;\n      }\n    }\n  } while( true );" do (compound_statement "{\n    if (puVar13 <= puVar16) {\nLAB_00035816:\n      putchar(10);\n      return 1;\n    }\n    puVar15 = puVar16 + 4;\n    if (puVar15 < puVar13) {\n      puVar4 = (uchar *)0x4;\nLAB_0003540f:\n      eVar17 = (*byte_get)(puVar16,(int)puVar4);\n      if (eVar17 == 0xffffffff) {\n        puVar16 = puVar16 + 0xc;\n        if (puVar16 < puVar13) {\n          puVar5 = (uchar *)0x8;\n        }\n        else if ((puVar13 <= puVar15) ||\n                (puVar5 = puVar13 + -(int)puVar15, (uchar *)0x7 < puVar5 + -1)) {\n          local_34 = 0xc;\n          local_48 = (uchar *)0x8;\n          puVar15 = puVar16;\n          goto LAB_00035266;\n        }\n        eVar17 = (*byte_get)(puVar15,(int)puVar5);\n        local_34 = 0xc;\n        local_48 = (uchar *)0x8;\n        puVar15 = puVar16;\n        puVar4 = puVar5;\n      }\n      else {\n        local_34 = 4;\n        local_48 = (uchar *)0x4;\n      }\n      num_bytes = (uint)eVar17;\n      uVar14 = (int)puVar15 - (int)section->start;\n      local_54 = eVar17 + uVar14;\n      if ((uint)((uint)local_54 < uVar14) <= (uint)(local_54 >> 0x20)) goto LAB_0003527f;\nLAB_000357ce:\n      pcVar6 = dwarf_vmatoa_1("x",ZEXT48(puVar4) << 0x20,num_bytes);\n      pcVar3 = section->name;\n      message = (char *)dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(message,pcVar3,uVar14 - local_34,pcVar6);\n      goto LAB_00035816;\n    }\n    puVar4 = puVar13 + -(int)puVar16;\n    if (puVar4 + -1 < (uchar *)0x8) goto LAB_0003540f;\n    local_34 = 4;\n    local_48 = (uchar *)0x4;\n    puVar4 = (uchar *)in_stack_ffffff98;\nLAB_00035266:\n    eVar17 = 0;\n    uVar14 = (int)puVar15 - (int)section->start;\n    local_54 = (ulonglong)uVar14;\nLAB_0003527f:\n    num_bytes = (uint)eVar17;\n    uVar1 = *(uint *)((int)&section->size + 4);\n    if (uVar1 < local_54._4_4_ ||\n        uVar1 - local_54._4_4_ < (uint)((uint)section->size < (uint)local_54)) goto LAB_000357ce;\n    puVar16 = puVar15 + num_bytes;\n    puVar4 = puVar15 + 2;\n    puVar5 = local_48;\n    if (puVar4 < puVar13) {\n      eVar17 = (*byte_get)(puVar15,2);\n      uVar14 = (uint)eVar17;\n      if (puVar4 + (int)local_48 < puVar13) {\nLAB_00035730:\n        local_28 = uVar14 & 0xffff;\n        uVar2 = (short)uVar14 - 2;\n      }\n      else {\n        local_28 = uVar14 & 0xffff;\n        uVar2 = (short)eVar17 - 2;\n        puVar5 = puVar13 + -(int)puVar4;\n        if ((uchar *)0x7 < puVar13 + -(int)puVar4 + -1) goto LAB_000354ec;\n      }\nLAB_000352fb:\n      eVar17 = (*byte_get)(puVar4,(int)puVar5);\n      local_34 = (int)eVar17;\n    }\n    else if ((puVar15 < puVar13) && (((int)puVar13 - (int)puVar15) - 1U < 8)) {\n      eVar17 = (*byte_get)(puVar15,(int)puVar13 - (int)puVar15);\n      uVar14 = (uint)eVar17;\n      if (puVar4 + (int)local_48 < puVar13) goto LAB_00035730;\n      local_28 = uVar14 & 0xffff;\n      uVar2 = (short)eVar17 - 2;\n      local_34 = 0;\n    }\n    else {\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (puVar4 + (int)local_48 < puVar13) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }\n    puVar4 = puVar4 + (int)local_48;\n    if (num_debug_info_entries - 1 < 0xfffffffe) {\n      uVar14 = 0;\n      pdVar12 = &debug_information->cu_offset;\n      do {\n        if ((int)*pdVar12 == local_34 && *(int *)((int)pdVar12 + 4) == 0) goto LAB_00035321;\n        uVar14 = uVar14 + 1;\n        pdVar12 = pdVar12 + 10;\n      } while (num_debug_info_entries != uVar14);\n      pcVar3 = section->name;\n      pcVar6 = (char *)dcgettext(0,\n                                 ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                                 ,5);\n      warn(pcVar6,local_34,pcVar3);\n    }\nLAB_00035321:\n    puVar15 = puVar4 + (int)local_48;\n    puVar5 = local_48;\n    if ((puVar15 < puVar13) ||\n       ((local_24 = (uchar *)0x0, puVar4 < puVar13 &&\n        (puVar5 = puVar13 + -(int)puVar4, puVar13 + -(int)puVar4 + -1 < (uchar *)0x8)))) {\n      eVar17 = (*byte_get)(puVar4,(int)puVar5);\n      local_24 = (uchar *)eVar17;\n    }\n    pcVar3 = (char *)dcgettext(0,"  Length:                              %ld\n",5);\n    printf(pcVar3,num_bytes);\n    pcVar3 = (char *)dcgettext(0,"  Version:                             %d\n",5);\n    printf(pcVar3,local_28);\n    pcVar3 = (char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5);\n    printf(pcVar3,local_34);\n    pcVar3 = (char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5);\n    printf(pcVar3);\n    if (uVar2 < 2) {\n      if (is_gnu == 0) {\n        in_stack_ffffff98 = "\n    Offset\tName\n";\n      }\n      else {\n        in_stack_ffffff98 = "\n    Offset  Kind          Name\n";\n      }\n      pcVar3 = (char *)dcgettext(0,in_stack_ffffff98,5);\n      printf(pcVar3);\n      do {\n        puVar4 = puVar15 + (int)local_48;\n        if (puVar13 <= puVar4) {\n          if ((puVar15 < puVar13) && (puVar4 = puVar13 + -(int)puVar15, puVar4 + -1 < (uchar *)0x8))\n          {\n            (*byte_get)(puVar15,(int)puVar4);\n            in_stack_ffffff98 = (char *)puVar4;\n          }\n          break;\n        }\n        in_stack_ffffff98 = (char *)local_48;\n        eVar17 = (*byte_get)(puVar15,(int)local_48);\n        if (eVar17 == 0) break;\n        iVar7 = (int)puVar13 - (int)puVar4;\n        in_stack_ffffff98 = (char *)(iVar7 + -1);\n        if (is_gnu == 0) {\n          printf("    %-6lx\t%.*s\n",(int)eVar17,in_stack_ffffff98,puVar4);\n        }\n        else {\n          puVar15 = puVar4 + 1;\n          iVar11 = is_gnu;\n          if ((puVar15 < puVar13) || (iVar11 = iVar7, in_stack_ffffff98 < (uchar *)0x8)) {\n            eVar18 = (*byte_get)(puVar4,iVar11);\n            uVar14 = (int)eVar18 << 0x18;\n            uVar8 = dcgettext(0,*(undefined4 *)(kinds_11357 + (uVar14 >> 0x1c & 7) * 4),5);\n            if (-1 < (int)uVar14) goto LAB_0003565a;\n            uVar9 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar9 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)eVar17,uVar9,uVar8,(uchar *)(iVar7 + -2),puVar15\n                );\n          puVar4 = puVar15;\n          in_stack_ffffff98 = (char *)(iVar7 + -2);\n        }\n        sVar10 = strnlen((char *)puVar4,(size_t)in_stack_ffffff98);\n        puVar15 = puVar4 + sVar10 + 1;\n      } while (puVar15 < puVar13);\n    }\n    else {\n      in_stack_ffffff98 = (char *)local_24;\n      if (display_debug_pubnames_worker::lexical_block_6::lexical_block_6_9::warned == 0) {\n        in_stack_ffffff98 = "Only DWARF 2 and 3 pubnames are currently supported\n";\n        pcVar3 = (char *)dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n        warn(pcVar3);\n        display_debug_pubnames_worker::lexical_block_6::lexical_block_6_9::warned = 1;\n      }\n    }\n  }" { (if_statement "if (puVar13 <= puVar16) {\nLAB_00035816:\n      putchar(10);\n      return 1;\n    }" if (parenthesized_expression "(puVar13 <= puVar16)" ( (binary_expression "puVar13 <= puVar16" identifier <= identifier) )) (compound_statement "{\nLAB_00035816:\n      putchar(10);\n      return 1;\n    }" { (labeled_statement "LAB_00035816:\n      putchar(10);" statement_identifier : (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;)) (return_statement "return 1;" return number_literal ;) })) (expression_statement "puVar15 = puVar16 + 4;" (assignment_expression "puVar15 = puVar16 + 4" identifier = (binary_expression "puVar16 + 4" identifier + number_literal)) ;) (if_statement "if (puVar15 < puVar13) {\n      puVar4 = (uchar *)0x4;\nLAB_0003540f:\n      eVar17 = (*byte_get)(puVar16,(int)puVar4);\n      if (eVar17 == 0xffffffff) {\n        puVar16 = puVar16 + 0xc;\n        if (puVar16 < puVar13) {\n          puVar5 = (uchar *)0x8;\n        }\n        else if ((puVar13 <= puVar15) ||\n                (puVar5 = puVar13 + -(int)puVar15, (uchar *)0x7 < puVar5 + -1)) {\n          local_34 = 0xc;\n          local_48 = (uchar *)0x8;\n          puVar15 = puVar16;\n          goto LAB_00035266;\n        }\n        eVar17 = (*byte_get)(puVar15,(int)puVar5);\n        local_34 = 0xc;\n        local_48 = (uchar *)0x8;\n        puVar15 = puVar16;\n        puVar4 = puVar5;\n      }\n      else {\n        local_34 = 4;\n        local_48 = (uchar *)0x4;\n      }\n      num_bytes = (uint)eVar17;\n      uVar14 = (int)puVar15 - (int)section->start;\n      local_54 = eVar17 + uVar14;\n      if ((uint)((uint)local_54 < uVar14) <= (uint)(local_54 >> 0x20)) goto LAB_0003527f;\nLAB_000357ce:\n      pcVar6 = dwarf_vmatoa_1("x",ZEXT48(puVar4) << 0x20,num_bytes);\n      pcVar3 = section->name;\n      message = (char *)dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(message,pcVar3,uVar14 - local_34,pcVar6);\n      goto LAB_00035816;\n    }" if (parenthesized_expression "(puVar15 < puVar13)" ( (binary_expression "puVar15 < puVar13" identifier < identifier) )) (compound_statement "{\n      puVar4 = (uchar *)0x4;\nLAB_0003540f:\n      eVar17 = (*byte_get)(puVar16,(int)puVar4);\n      if (eVar17 == 0xffffffff) {\n        puVar16 = puVar16 + 0xc;\n        if (puVar16 < puVar13) {\n          puVar5 = (uchar *)0x8;\n        }\n        else if ((puVar13 <= puVar15) ||\n                (puVar5 = puVar13 + -(int)puVar15, (uchar *)0x7 < puVar5 + -1)) {\n          local_34 = 0xc;\n          local_48 = (uchar *)0x8;\n          puVar15 = puVar16;\n          goto LAB_00035266;\n        }\n        eVar17 = (*byte_get)(puVar15,(int)puVar5);\n        local_34 = 0xc;\n        local_48 = (uchar *)0x8;\n        puVar15 = puVar16;\n        puVar4 = puVar5;\n      }\n      else {\n        local_34 = 4;\n        local_48 = (uchar *)0x4;\n      }\n      num_bytes = (uint)eVar17;\n      uVar14 = (int)puVar15 - (int)section->start;\n      local_54 = eVar17 + uVar14;\n      if ((uint)((uint)local_54 < uVar14) <= (uint)(local_54 >> 0x20)) goto LAB_0003527f;\nLAB_000357ce:\n      pcVar6 = dwarf_vmatoa_1("x",ZEXT48(puVar4) << 0x20,num_bytes);\n      pcVar3 = section->name;\n      message = (char *)dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(message,pcVar3,uVar14 - local_34,pcVar6);\n      goto LAB_00035816;\n    }" { (expression_statement "puVar4 = (uchar *)0x4;" (assignment_expression "puVar4 = (uchar *)0x4" identifier = (cast_expression "(uchar *)0x4" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0003540f:\n      eVar17 = (*byte_get)(puVar16,(int)puVar4);" statement_identifier : (expression_statement "eVar17 = (*byte_get)(puVar16,(int)puVar4);" (assignment_expression "eVar17 = (*byte_get)(puVar16,(int)puVar4)" identifier = (call_expression "(*byte_get)(puVar16,(int)puVar4)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar16,(int)puVar4)" ( identifier , (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;)) (if_statement "if (eVar17 == 0xffffffff) {\n        puVar16 = puVar16 + 0xc;\n        if (puVar16 < puVar13) {\n          puVar5 = (uchar *)0x8;\n        }\n        else if ((puVar13 <= puVar15) ||\n                (puVar5 = puVar13 + -(int)puVar15, (uchar *)0x7 < puVar5 + -1)) {\n          local_34 = 0xc;\n          local_48 = (uchar *)0x8;\n          puVar15 = puVar16;\n          goto LAB_00035266;\n        }\n        eVar17 = (*byte_get)(puVar15,(int)puVar5);\n        local_34 = 0xc;\n        local_48 = (uchar *)0x8;\n        puVar15 = puVar16;\n        puVar4 = puVar5;\n      }\n      else {\n        local_34 = 4;\n        local_48 = (uchar *)0x4;\n      }" if (parenthesized_expression "(eVar17 == 0xffffffff)" ( (binary_expression "eVar17 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        puVar16 = puVar16 + 0xc;\n        if (puVar16 < puVar13) {\n          puVar5 = (uchar *)0x8;\n        }\n        else if ((puVar13 <= puVar15) ||\n                (puVar5 = puVar13 + -(int)puVar15, (uchar *)0x7 < puVar5 + -1)) {\n          local_34 = 0xc;\n          local_48 = (uchar *)0x8;\n          puVar15 = puVar16;\n          goto LAB_00035266;\n        }\n        eVar17 = (*byte_get)(puVar15,(int)puVar5);\n        local_34 = 0xc;\n        local_48 = (uchar *)0x8;\n        puVar15 = puVar16;\n        puVar4 = puVar5;\n      }" { (expression_statement "puVar16 = puVar16 + 0xc;" (assignment_expression "puVar16 = puVar16 + 0xc" identifier = (binary_expression "puVar16 + 0xc" identifier + number_literal)) ;) (if_statement "if (puVar16 < puVar13) {\n          puVar5 = (uchar *)0x8;\n        }\n        else if ((puVar13 <= puVar15) ||\n                (puVar5 = puVar13 + -(int)puVar15, (uchar *)0x7 < puVar5 + -1)) {\n          local_34 = 0xc;\n          local_48 = (uchar *)0x8;\n          puVar15 = puVar16;\n          goto LAB_00035266;\n        }" if (parenthesized_expression "(puVar16 < puVar13)" ( (binary_expression "puVar16 < puVar13" identifier < identifier) )) (compound_statement "{\n          puVar5 = (uchar *)0x8;\n        }" { (expression_statement "puVar5 = (uchar *)0x8;" (assignment_expression "puVar5 = (uchar *)0x8" identifier = (cast_expression "(uchar *)0x8" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if ((puVar13 <= puVar15) ||\n                (puVar5 = puVar13 + -(int)puVar15, (uchar *)0x7 < puVar5 + -1)) {\n          local_34 = 0xc;\n          local_48 = (uchar *)0x8;\n          puVar15 = puVar16;\n          goto LAB_00035266;\n        }" else (if_statement "if ((puVar13 <= puVar15) ||\n                (puVar5 = puVar13 + -(int)puVar15, (uchar *)0x7 < puVar5 + -1)) {\n          local_34 = 0xc;\n          local_48 = (uchar *)0x8;\n          puVar15 = puVar16;\n          goto LAB_00035266;\n        }" if (parenthesized_expression "((puVar13 <= puVar15) ||\n                (puVar5 = puVar13 + -(int)puVar15, (uchar *)0x7 < puVar5 + -1))" ( (binary_expression "(puVar13 <= puVar15) ||\n                (puVar5 = puVar13 + -(int)puVar15, (uchar *)0x7 < puVar5 + -1)" (parenthesized_expression "(puVar13 <= puVar15)" ( (binary_expression "puVar13 <= puVar15" identifier <= identifier) )) || (parenthesized_expression "(puVar5 = puVar13 + -(int)puVar15, (uchar *)0x7 < puVar5 + -1)" ( (comma_expression "puVar5 = puVar13 + -(int)puVar15, (uchar *)0x7 < puVar5 + -1" (assignment_expression "puVar5 = puVar13 + -(int)puVar15" identifier = (binary_expression "puVar13 + -(int)puVar15" identifier + (unary_expression "-(int)puVar15" - (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier)))) , (binary_expression "(uchar *)0x7 < puVar5 + -1" (cast_expression "(uchar *)0x7" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (binary_expression "puVar5 + -1" identifier + number_literal))) ))) )) (compound_statement "{\n          local_34 = 0xc;\n          local_48 = (uchar *)0x8;\n          puVar15 = puVar16;\n          goto LAB_00035266;\n        }" { (expression_statement "local_34 = 0xc;" (assignment_expression "local_34 = 0xc" identifier = number_literal) ;) (expression_statement "local_48 = (uchar *)0x8;" (assignment_expression "local_48 = (uchar *)0x8" identifier = (cast_expression "(uchar *)0x8" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar15 = puVar16;" (assignment_expression "puVar15 = puVar16" identifier = identifier) ;) (goto_statement "goto LAB_00035266;" goto statement_identifier ;) })))) (expression_statement "eVar17 = (*byte_get)(puVar15,(int)puVar5);" (assignment_expression "eVar17 = (*byte_get)(puVar15,(int)puVar5)" identifier = (call_expression "(*byte_get)(puVar15,(int)puVar5)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar15,(int)puVar5)" ( identifier , (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (expression_statement "local_34 = 0xc;" (assignment_expression "local_34 = 0xc" identifier = number_literal) ;) (expression_statement "local_48 = (uchar *)0x8;" (assignment_expression "local_48 = (uchar *)0x8" identifier = (cast_expression "(uchar *)0x8" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar15 = puVar16;" (assignment_expression "puVar15 = puVar16" identifier = identifier) ;) (expression_statement "puVar4 = puVar5;" (assignment_expression "puVar4 = puVar5" identifier = identifier) ;) }) (else_clause "else {\n        local_34 = 4;\n        local_48 = (uchar *)0x4;\n      }" else (compound_statement "{\n        local_34 = 4;\n        local_48 = (uchar *)0x4;\n      }" { (expression_statement "local_34 = 4;" (assignment_expression "local_34 = 4" identifier = number_literal) ;) (expression_statement "local_48 = (uchar *)0x4;" (assignment_expression "local_48 = (uchar *)0x4" identifier = (cast_expression "(uchar *)0x4" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "num_bytes = (uint)eVar17;" (assignment_expression "num_bytes = (uint)eVar17" identifier = (cast_expression "(uint)eVar17" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar14 = (int)puVar15 - (int)section->start;" (assignment_expression "uVar14 = (int)puVar15 - (int)section->start" identifier = (binary_expression "(int)puVar15 - (int)section->start" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)section->start" ( (type_descriptor "int" primitive_type) ) (field_expression "section->start" identifier -> field_identifier)))) ;) (expression_statement "local_54 = eVar17 + uVar14;" (assignment_expression "local_54 = eVar17 + uVar14" identifier = (binary_expression "eVar17 + uVar14" identifier + identifier)) ;) (if_statement "if ((uint)((uint)local_54 < uVar14) <= (uint)(local_54 >> 0x20)) goto LAB_0003527f;" if (parenthesized_expression "((uint)((uint)local_54 < uVar14) <= (uint)(local_54 >> 0x20))" ( (binary_expression "(uint)((uint)local_54 < uVar14) <= (uint)(local_54 >> 0x20)" (call_expression "(uint)((uint)local_54 < uVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_54 < uVar14)" ( (binary_expression "(uint)local_54 < uVar14" (cast_expression "(uint)local_54" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) ))) <= (call_expression "(uint)(local_54 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_54 >> 0x20)" ( (binary_expression "local_54 >> 0x20" identifier >> number_literal) )))) )) (goto_statement "goto LAB_0003527f;" goto statement_identifier ;)) (labeled_statement "LAB_000357ce:\n      pcVar6 = dwarf_vmatoa_1("x",ZEXT48(puVar4) << 0x20,num_bytes);" statement_identifier : (expression_statement "pcVar6 = dwarf_vmatoa_1("x",ZEXT48(puVar4) << 0x20,num_bytes);" (assignment_expression "pcVar6 = dwarf_vmatoa_1("x",ZEXT48(puVar4) << 0x20,num_bytes)" identifier = (call_expression "dwarf_vmatoa_1("x",ZEXT48(puVar4) << 0x20,num_bytes)" identifier (argument_list "("x",ZEXT48(puVar4) << 0x20,num_bytes)" ( (string_literal ""x"" " string_content ") , (binary_expression "ZEXT48(puVar4) << 0x20" (call_expression "ZEXT48(puVar4)" identifier (argument_list "(puVar4)" ( identifier ))) << number_literal) , identifier )))) ;)) (expression_statement "pcVar3 = section->name;" (assignment_expression "pcVar3 = section->name" identifier = (field_expression "section->name" identifier -> field_identifier)) ;) (expression_statement "message = (char *)dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);" (assignment_expression "message = (char *)dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5)" identifier (argument_list "(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5)" ( number_literal , (string_literal ""Debug info is corrupted, %s header at %#lx has length %s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(message,pcVar3,uVar14 - local_34,pcVar6);" (call_expression "warn(message,pcVar3,uVar14 - local_34,pcVar6)" identifier (argument_list "(message,pcVar3,uVar14 - local_34,pcVar6)" ( identifier , identifier , (binary_expression "uVar14 - local_34" identifier - identifier) , identifier ))) ;) (goto_statement "goto LAB_00035816;" goto statement_identifier ;) })) (expression_statement "puVar4 = puVar13 + -(int)puVar16;" (assignment_expression "puVar4 = puVar13 + -(int)puVar16" identifier = (binary_expression "puVar13 + -(int)puVar16" identifier + (unary_expression "-(int)puVar16" - (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (if_statement "if (puVar4 + -1 < (uchar *)0x8) goto LAB_0003540f;" if (parenthesized_expression "(puVar4 + -1 < (uchar *)0x8)" ( (binary_expression "puVar4 + -1 < (uchar *)0x8" (binary_expression "puVar4 + -1" identifier + number_literal) < (cast_expression "(uchar *)0x8" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0003540f;" goto statement_identifier ;)) (expression_statement "local_34 = 4;" (assignment_expression "local_34 = 4" identifier = number_literal) ;) (expression_statement "local_48 = (uchar *)0x4;" (assignment_expression "local_48 = (uchar *)0x4" identifier = (cast_expression "(uchar *)0x4" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar4 = (uchar *)in_stack_ffffff98;" (assignment_expression "puVar4 = (uchar *)in_stack_ffffff98" identifier = (cast_expression "(uchar *)in_stack_ffffff98" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (labeled_statement "LAB_00035266:\n    eVar17 = 0;" statement_identifier : (expression_statement "eVar17 = 0;" (assignment_expression "eVar17 = 0" identifier = number_literal) ;)) (expression_statement "uVar14 = (int)puVar15 - (int)section->start;" (assignment_expression "uVar14 = (int)puVar15 - (int)section->start" identifier = (binary_expression "(int)puVar15 - (int)section->start" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)section->start" ( (type_descriptor "int" primitive_type) ) (field_expression "section->start" identifier -> field_identifier)))) ;) (expression_statement "local_54 = (ulonglong)uVar14;" (assignment_expression "local_54 = (ulonglong)uVar14" identifier = (cast_expression "(ulonglong)uVar14" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) ;) (labeled_statement "LAB_0003527f:\n    num_bytes = (uint)eVar17;" statement_identifier : (expression_statement "num_bytes = (uint)eVar17;" (assignment_expression "num_bytes = (uint)eVar17" identifier = (cast_expression "(uint)eVar17" ( (type_descriptor "uint" type_identifier) ) identifier)) ;)) (expression_statement "uVar1 = *(uint *)((int)&section->size + 4);" (assignment_expression "uVar1 = *(uint *)((int)&section->size + 4)" identifier = (pointer_expression "*(uint *)((int)&section->size + 4)" * (cast_expression "(uint *)((int)&section->size + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&section->size + 4)" ( (binary_expression "(int)&section->size + 4" (cast_expression "(int)&section->size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&section->size" & (field_expression "section->size" identifier -> field_identifier))) + number_literal) ))))) ;) (if_statement "if (uVar1 < local_54._4_4_ ||\n        uVar1 - local_54._4_4_ < (uint)((uint)section->size < (uint)local_54)) goto LAB_000357ce;" if (parenthesized_expression "(uVar1 < local_54._4_4_ ||\n        uVar1 - local_54._4_4_ < (uint)((uint)section->size < (uint)local_54))" ( (binary_expression "uVar1 < local_54._4_4_ ||\n        uVar1 - local_54._4_4_ < (uint)((uint)section->size < (uint)local_54)" (binary_expression "uVar1 < local_54._4_4_" identifier < (field_expression "local_54._4_4_" identifier . field_identifier)) || (binary_expression "uVar1 - local_54._4_4_ < (uint)((uint)section->size < (uint)local_54)" (binary_expression "uVar1 - local_54._4_4_" identifier - (field_expression "local_54._4_4_" identifier . field_identifier)) < (call_expression "(uint)((uint)section->size < (uint)local_54)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)section->size < (uint)local_54)" ( (binary_expression "(uint)section->size < (uint)local_54" (cast_expression "(uint)section->size" ( (type_descriptor "uint" type_identifier) ) (field_expression "section->size" identifier -> field_identifier)) < (cast_expression "(uint)local_54" ( (type_descriptor "uint" type_identifier) ) identifier)) ))))) )) (goto_statement "goto LAB_000357ce;" goto statement_identifier ;)) (expression_statement "puVar16 = puVar15 + num_bytes;" (assignment_expression "puVar16 = puVar15 + num_bytes" identifier = (binary_expression "puVar15 + num_bytes" identifier + identifier)) ;) (expression_statement "puVar4 = puVar15 + 2;" (assignment_expression "puVar4 = puVar15 + 2" identifier = (binary_expression "puVar15 + 2" identifier + number_literal)) ;) (expression_statement "puVar5 = local_48;" (assignment_expression "puVar5 = local_48" identifier = identifier) ;) (if_statement "if (puVar4 < puVar13) {\n      eVar17 = (*byte_get)(puVar15,2);\n      uVar14 = (uint)eVar17;\n      if (puVar4 + (int)local_48 < puVar13) {\nLAB_00035730:\n        local_28 = uVar14 & 0xffff;\n        uVar2 = (short)uVar14 - 2;\n      }\n      else {\n        local_28 = uVar14 & 0xffff;\n        uVar2 = (short)eVar17 - 2;\n        puVar5 = puVar13 + -(int)puVar4;\n        if ((uchar *)0x7 < puVar13 + -(int)puVar4 + -1) goto LAB_000354ec;\n      }\nLAB_000352fb:\n      eVar17 = (*byte_get)(puVar4,(int)puVar5);\n      local_34 = (int)eVar17;\n    }\n    else if ((puVar15 < puVar13) && (((int)puVar13 - (int)puVar15) - 1U < 8)) {\n      eVar17 = (*byte_get)(puVar15,(int)puVar13 - (int)puVar15);\n      uVar14 = (uint)eVar17;\n      if (puVar4 + (int)local_48 < puVar13) goto LAB_00035730;\n      local_28 = uVar14 & 0xffff;\n      uVar2 = (short)eVar17 - 2;\n      local_34 = 0;\n    }\n    else {\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (puVar4 + (int)local_48 < puVar13) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }" if (parenthesized_expression "(puVar4 < puVar13)" ( (binary_expression "puVar4 < puVar13" identifier < identifier) )) (compound_statement "{\n      eVar17 = (*byte_get)(puVar15,2);\n      uVar14 = (uint)eVar17;\n      if (puVar4 + (int)local_48 < puVar13) {\nLAB_00035730:\n        local_28 = uVar14 & 0xffff;\n        uVar2 = (short)uVar14 - 2;\n      }\n      else {\n        local_28 = uVar14 & 0xffff;\n        uVar2 = (short)eVar17 - 2;\n        puVar5 = puVar13 + -(int)puVar4;\n        if ((uchar *)0x7 < puVar13 + -(int)puVar4 + -1) goto LAB_000354ec;\n      }\nLAB_000352fb:\n      eVar17 = (*byte_get)(puVar4,(int)puVar5);\n      local_34 = (int)eVar17;\n    }" { (expression_statement "eVar17 = (*byte_get)(puVar15,2);" (assignment_expression "eVar17 = (*byte_get)(puVar15,2)" identifier = (call_expression "(*byte_get)(puVar15,2)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar15,2)" ( identifier , number_literal )))) ;) (expression_statement "uVar14 = (uint)eVar17;" (assignment_expression "uVar14 = (uint)eVar17" identifier = (cast_expression "(uint)eVar17" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (puVar4 + (int)local_48 < puVar13) {\nLAB_00035730:\n        local_28 = uVar14 & 0xffff;\n        uVar2 = (short)uVar14 - 2;\n      }\n      else {\n        local_28 = uVar14 & 0xffff;\n        uVar2 = (short)eVar17 - 2;\n        puVar5 = puVar13 + -(int)puVar4;\n        if ((uchar *)0x7 < puVar13 + -(int)puVar4 + -1) goto LAB_000354ec;\n      }" if (parenthesized_expression "(puVar4 + (int)local_48 < puVar13)" ( (binary_expression "puVar4 + (int)local_48 < puVar13" (binary_expression "puVar4 + (int)local_48" identifier + (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier)) < identifier) )) (compound_statement "{\nLAB_00035730:\n        local_28 = uVar14 & 0xffff;\n        uVar2 = (short)uVar14 - 2;\n      }" { (labeled_statement "LAB_00035730:\n        local_28 = uVar14 & 0xffff;" statement_identifier : (expression_statement "local_28 = uVar14 & 0xffff;" (assignment_expression "local_28 = uVar14 & 0xffff" identifier = (binary_expression "uVar14 & 0xffff" identifier & number_literal)) ;)) (expression_statement "uVar2 = (short)uVar14 - 2;" (assignment_expression "uVar2 = (short)uVar14 - 2" identifier = (binary_expression "(short)uVar14 - 2" (cast_expression "(short)uVar14" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) - number_literal)) ;) }) (else_clause "else {\n        local_28 = uVar14 & 0xffff;\n        uVar2 = (short)eVar17 - 2;\n        puVar5 = puVar13 + -(int)puVar4;\n        if ((uchar *)0x7 < puVar13 + -(int)puVar4 + -1) goto LAB_000354ec;\n      }" else (compound_statement "{\n        local_28 = uVar14 & 0xffff;\n        uVar2 = (short)eVar17 - 2;\n        puVar5 = puVar13 + -(int)puVar4;\n        if ((uchar *)0x7 < puVar13 + -(int)puVar4 + -1) goto LAB_000354ec;\n      }" { (expression_statement "local_28 = uVar14 & 0xffff;" (assignment_expression "local_28 = uVar14 & 0xffff" identifier = (binary_expression "uVar14 & 0xffff" identifier & number_literal)) ;) (expression_statement "uVar2 = (short)eVar17 - 2;" (assignment_expression "uVar2 = (short)eVar17 - 2" identifier = (binary_expression "(short)eVar17 - 2" (cast_expression "(short)eVar17" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) - number_literal)) ;) (expression_statement "puVar5 = puVar13 + -(int)puVar4;" (assignment_expression "puVar5 = puVar13 + -(int)puVar4" identifier = (binary_expression "puVar13 + -(int)puVar4" identifier + (unary_expression "-(int)puVar4" - (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (if_statement "if ((uchar *)0x7 < puVar13 + -(int)puVar4 + -1) goto LAB_000354ec;" if (parenthesized_expression "((uchar *)0x7 < puVar13 + -(int)puVar4 + -1)" ( (binary_expression "(uchar *)0x7 < puVar13 + -(int)puVar4 + -1" (cast_expression "(uchar *)0x7" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (binary_expression "puVar13 + -(int)puVar4 + -1" (binary_expression "puVar13 + -(int)puVar4" identifier + (unary_expression "-(int)puVar4" - (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier))) + number_literal)) )) (goto_statement "goto LAB_000354ec;" goto statement_identifier ;)) }))) (labeled_statement "LAB_000352fb:\n      eVar17 = (*byte_get)(puVar4,(int)puVar5);" statement_identifier : (expression_statement "eVar17 = (*byte_get)(puVar4,(int)puVar5);" (assignment_expression "eVar17 = (*byte_get)(puVar4,(int)puVar5)" identifier = (call_expression "(*byte_get)(puVar4,(int)puVar5)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar4,(int)puVar5)" ( identifier , (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;)) (expression_statement "local_34 = (int)eVar17;" (assignment_expression "local_34 = (int)eVar17" identifier = (cast_expression "(int)eVar17" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }) (else_clause "else if ((puVar15 < puVar13) && (((int)puVar13 - (int)puVar15) - 1U < 8)) {\n      eVar17 = (*byte_get)(puVar15,(int)puVar13 - (int)puVar15);\n      uVar14 = (uint)eVar17;\n      if (puVar4 + (int)local_48 < puVar13) goto LAB_00035730;\n      local_28 = uVar14 & 0xffff;\n      uVar2 = (short)eVar17 - 2;\n      local_34 = 0;\n    }\n    else {\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (puVar4 + (int)local_48 < puVar13) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }" else (if_statement "if ((puVar15 < puVar13) && (((int)puVar13 - (int)puVar15) - 1U < 8)) {\n      eVar17 = (*byte_get)(puVar15,(int)puVar13 - (int)puVar15);\n      uVar14 = (uint)eVar17;\n      if (puVar4 + (int)local_48 < puVar13) goto LAB_00035730;\n      local_28 = uVar14 & 0xffff;\n      uVar2 = (short)eVar17 - 2;\n      local_34 = 0;\n    }\n    else {\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (puVar4 + (int)local_48 < puVar13) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }" if (parenthesized_expression "((puVar15 < puVar13) && (((int)puVar13 - (int)puVar15) - 1U < 8))" ( (binary_expression "(puVar15 < puVar13) && (((int)puVar13 - (int)puVar15) - 1U < 8)" (parenthesized_expression "(puVar15 < puVar13)" ( (binary_expression "puVar15 < puVar13" identifier < identifier) )) && (parenthesized_expression "(((int)puVar13 - (int)puVar15) - 1U < 8)" ( (binary_expression "((int)puVar13 - (int)puVar15) - 1U < 8" (binary_expression "((int)puVar13 - (int)puVar15) - 1U" (parenthesized_expression "((int)puVar13 - (int)puVar15)" ( (binary_expression "(int)puVar13 - (int)puVar15" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal) < number_literal) ))) )) (compound_statement "{\n      eVar17 = (*byte_get)(puVar15,(int)puVar13 - (int)puVar15);\n      uVar14 = (uint)eVar17;\n      if (puVar4 + (int)local_48 < puVar13) goto LAB_00035730;\n      local_28 = uVar14 & 0xffff;\n      uVar2 = (short)eVar17 - 2;\n      local_34 = 0;\n    }" { (expression_statement "eVar17 = (*byte_get)(puVar15,(int)puVar13 - (int)puVar15);" (assignment_expression "eVar17 = (*byte_get)(puVar15,(int)puVar13 - (int)puVar15)" identifier = (call_expression "(*byte_get)(puVar15,(int)puVar13 - (int)puVar15)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar15,(int)puVar13 - (int)puVar15)" ( identifier , (binary_expression "(int)puVar13 - (int)puVar15" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "uVar14 = (uint)eVar17;" (assignment_expression "uVar14 = (uint)eVar17" identifier = (cast_expression "(uint)eVar17" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (puVar4 + (int)local_48 < puVar13) goto LAB_00035730;" if (parenthesized_expression "(puVar4 + (int)local_48 < puVar13)" ( (binary_expression "puVar4 + (int)local_48 < puVar13" (binary_expression "puVar4 + (int)local_48" identifier + (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier)) < identifier) )) (goto_statement "goto LAB_00035730;" goto statement_identifier ;)) (expression_statement "local_28 = uVar14 & 0xffff;" (assignment_expression "local_28 = uVar14 & 0xffff" identifier = (binary_expression "uVar14 & 0xffff" identifier & number_literal)) ;) (expression_statement "uVar2 = (short)eVar17 - 2;" (assignment_expression "uVar2 = (short)eVar17 - 2" identifier = (binary_expression "(short)eVar17 - 2" (cast_expression "(short)eVar17" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) - number_literal)) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (puVar4 + (int)local_48 < puVar13) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }" else (compound_statement "{\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (puVar4 + (int)local_48 < puVar13) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }" { (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "uVar2 = 0xfffe;" (assignment_expression "uVar2 = 0xfffe" identifier = number_literal) ;) (if_statement "if (puVar4 + (int)local_48 < puVar13) goto LAB_000352fb;" if (parenthesized_expression "(puVar4 + (int)local_48 < puVar13)" ( (binary_expression "puVar4 + (int)local_48 < puVar13" (binary_expression "puVar4 + (int)local_48" identifier + (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier)) < identifier) )) (goto_statement "goto LAB_000352fb;" goto statement_identifier ;)) (labeled_statement "LAB_000354ec:\n      local_34 = 0;" statement_identifier : (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;)) }))))) (expression_statement "puVar4 = puVar4 + (int)local_48;" (assignment_expression "puVar4 = puVar4 + (int)local_48" identifier = (binary_expression "puVar4 + (int)local_48" identifier + (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (num_debug_info_entries - 1 < 0xfffffffe) {\n      uVar14 = 0;\n      pdVar12 = &debug_information->cu_offset;\n      do {\n        if ((int)*pdVar12 == local_34 && *(int *)((int)pdVar12 + 4) == 0) goto LAB_00035321;\n        uVar14 = uVar14 + 1;\n        pdVar12 = pdVar12 + 10;\n      } while (num_debug_info_entries != uVar14);\n      pcVar3 = section->name;\n      pcVar6 = (char *)dcgettext(0,\n                                 ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                                 ,5);\n      warn(pcVar6,local_34,pcVar3);\n    }" if (parenthesized_expression "(num_debug_info_entries - 1 < 0xfffffffe)" ( (binary_expression "num_debug_info_entries - 1 < 0xfffffffe" (binary_expression "num_debug_info_entries - 1" identifier - number_literal) < number_literal) )) (compound_statement "{\n      uVar14 = 0;\n      pdVar12 = &debug_information->cu_offset;\n      do {\n        if ((int)*pdVar12 == local_34 && *(int *)((int)pdVar12 + 4) == 0) goto LAB_00035321;\n        uVar14 = uVar14 + 1;\n        pdVar12 = pdVar12 + 10;\n      } while (num_debug_info_entries != uVar14);\n      pcVar3 = section->name;\n      pcVar6 = (char *)dcgettext(0,\n                                 ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                                 ,5);\n      warn(pcVar6,local_34,pcVar3);\n    }" { (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) (expression_statement "pdVar12 = &debug_information->cu_offset;" (assignment_expression "pdVar12 = &debug_information->cu_offset" identifier = (pointer_expression "&debug_information->cu_offset" & (field_expression "debug_information->cu_offset" identifier -> field_identifier))) ;) (do_statement "do {\n        if ((int)*pdVar12 == local_34 && *(int *)((int)pdVar12 + 4) == 0) goto LAB_00035321;\n        uVar14 = uVar14 + 1;\n        pdVar12 = pdVar12 + 10;\n      } while (num_debug_info_entries != uVar14);" do (compound_statement "{\n        if ((int)*pdVar12 == local_34 && *(int *)((int)pdVar12 + 4) == 0) goto LAB_00035321;\n        uVar14 = uVar14 + 1;\n        pdVar12 = pdVar12 + 10;\n      }" { (if_statement "if ((int)*pdVar12 == local_34 && *(int *)((int)pdVar12 + 4) == 0) goto LAB_00035321;" if (parenthesized_expression "((int)*pdVar12 == local_34 && *(int *)((int)pdVar12 + 4) == 0)" ( (binary_expression "(int)*pdVar12 == local_34 && *(int *)((int)pdVar12 + 4) == 0" (binary_expression "(int)*pdVar12 == local_34" (cast_expression "(int)*pdVar12" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pdVar12" * identifier)) == identifier) && (binary_expression "*(int *)((int)pdVar12 + 4) == 0" (pointer_expression "*(int *)((int)pdVar12 + 4)" * (cast_expression "(int *)((int)pdVar12 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar12 + 4)" ( (binary_expression "(int)pdVar12 + 4" (cast_expression "(int)pdVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal)) )) (goto_statement "goto LAB_00035321;" goto statement_identifier ;)) (expression_statement "uVar14 = uVar14 + 1;" (assignment_expression "uVar14 = uVar14 + 1" identifier = (binary_expression "uVar14 + 1" identifier + number_literal)) ;) (expression_statement "pdVar12 = pdVar12 + 10;" (assignment_expression "pdVar12 = pdVar12 + 10" identifier = (binary_expression "pdVar12 + 10" identifier + number_literal)) ;) }) while (parenthesized_expression "(num_debug_info_entries != uVar14)" ( (binary_expression "num_debug_info_entries != uVar14" identifier != identifier) )) ;) (expression_statement "pcVar3 = section->name;" (assignment_expression "pcVar3 = section->name" identifier = (field_expression "section->name" identifier -> field_identifier)) ;) (expression_statement "pcVar6 = (char *)dcgettext(0,\n                                 ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                                 ,5);" (assignment_expression "pcVar6 = (char *)dcgettext(0,\n                                 ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                                 ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                 ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                                 ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                 ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                                 ,5)" identifier (argument_list "(0,\n                                 ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                                 ,5)" ( number_literal , (string_literal "".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar6,local_34,pcVar3);" (call_expression "warn(pcVar6,local_34,pcVar3)" identifier (argument_list "(pcVar6,local_34,pcVar3)" ( identifier , identifier , identifier ))) ;) })) (labeled_statement "LAB_00035321:\n    puVar15 = puVar4 + (int)local_48;" statement_identifier : (expression_statement "puVar15 = puVar4 + (int)local_48;" (assignment_expression "puVar15 = puVar4 + (int)local_48" identifier = (binary_expression "puVar4 + (int)local_48" identifier + (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) (expression_statement "puVar5 = local_48;" (assignment_expression "puVar5 = local_48" identifier = identifier) ;) (if_statement "if ((puVar15 < puVar13) ||\n       ((local_24 = (uchar *)0x0, puVar4 < puVar13 &&\n        (puVar5 = puVar13 + -(int)puVar4, puVar13 + -(int)puVar4 + -1 < (uchar *)0x8)))) {\n      eVar17 = (*byte_get)(puVar4,(int)puVar5);\n      local_24 = (uchar *)eVar17;\n    }" if (parenthesized_expression "((puVar15 < puVar13) ||\n       ((local_24 = (uchar *)0x0, puVar4 < puVar13 &&\n        (puVar5 = puVar13 + -(int)puVar4, puVar13 + -(int)puVar4 + -1 < (uchar *)0x8))))" ( (binary_expression "(puVar15 < puVar13) ||\n       ((local_24 = (uchar *)0x0, puVar4 < puVar13 &&\n        (puVar5 = puVar13 + -(int)puVar4, puVar13 + -(int)puVar4 + -1 < (uchar *)0x8)))" (parenthesized_expression "(puVar15 < puVar13)" ( (binary_expression "puVar15 < puVar13" identifier < identifier) )) || (parenthesized_expression "((local_24 = (uchar *)0x0, puVar4 < puVar13 &&\n        (puVar5 = puVar13 + -(int)puVar4, puVar13 + -(int)puVar4 + -1 < (uchar *)0x8)))" ( (parenthesized_expression "(local_24 = (uchar *)0x0, puVar4 < puVar13 &&\n        (puVar5 = puVar13 + -(int)puVar4, puVar13 + -(int)puVar4 + -1 < (uchar *)0x8))" ( (comma_expression "local_24 = (uchar *)0x0, puVar4 < puVar13 &&\n        (puVar5 = puVar13 + -(int)puVar4, puVar13 + -(int)puVar4 + -1 < (uchar *)0x8)" (assignment_expression "local_24 = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "puVar4 < puVar13 &&\n        (puVar5 = puVar13 + -(int)puVar4, puVar13 + -(int)puVar4 + -1 < (uchar *)0x8)" (binary_expression "puVar4 < puVar13" identifier < identifier) && (parenthesized_expression "(puVar5 = puVar13 + -(int)puVar4, puVar13 + -(int)puVar4 + -1 < (uchar *)0x8)" ( (comma_expression "puVar5 = puVar13 + -(int)puVar4, puVar13 + -(int)puVar4 + -1 < (uchar *)0x8" (assignment_expression "puVar5 = puVar13 + -(int)puVar4" identifier = (binary_expression "puVar13 + -(int)puVar4" identifier + (unary_expression "-(int)puVar4" - (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier)))) , (binary_expression "puVar13 + -(int)puVar4 + -1 < (uchar *)0x8" (binary_expression "puVar13 + -(int)puVar4 + -1" (binary_expression "puVar13 + -(int)puVar4" identifier + (unary_expression "-(int)puVar4" - (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier))) + number_literal) < (cast_expression "(uchar *)0x8" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )))) )) ))) )) (compound_statement "{\n      eVar17 = (*byte_get)(puVar4,(int)puVar5);\n      local_24 = (uchar *)eVar17;\n    }" { (expression_statement "eVar17 = (*byte_get)(puVar4,(int)puVar5);" (assignment_expression "eVar17 = (*byte_get)(puVar4,(int)puVar5)" identifier = (call_expression "(*byte_get)(puVar4,(int)puVar5)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar4,(int)puVar5)" ( identifier , (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (expression_statement "local_24 = (uchar *)eVar17;" (assignment_expression "local_24 = (uchar *)eVar17" identifier = (cast_expression "(uchar *)eVar17" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (expression_statement "pcVar3 = (char *)dcgettext(0,"  Length:                              %ld\n",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,"  Length:                              %ld\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Length:                              %ld\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Length:                              %ld\n",5)" identifier (argument_list "(0,"  Length:                              %ld\n",5)" ( number_literal , (string_literal ""  Length:                              %ld\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar3,num_bytes);" (call_expression "printf(pcVar3,num_bytes)" identifier (argument_list "(pcVar3,num_bytes)" ( identifier , identifier ))) ;) (expression_statement "pcVar3 = (char *)dcgettext(0,"  Version:                             %d\n",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,"  Version:                             %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Version:                             %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Version:                             %d\n",5)" identifier (argument_list "(0,"  Version:                             %d\n",5)" ( number_literal , (string_literal ""  Version:                             %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar3,local_28);" (call_expression "printf(pcVar3,local_28)" identifier (argument_list "(pcVar3,local_28)" ( identifier , identifier ))) ;) (expression_statement "pcVar3 = (char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5)" identifier (argument_list "(0,"  Offset into .debug_info section:     0x%lx\n",5)" ( number_literal , (string_literal ""  Offset into .debug_info section:     0x%lx\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar3,local_34);" (call_expression "printf(pcVar3,local_34)" identifier (argument_list "(pcVar3,local_34)" ( identifier , identifier ))) ;) (expression_statement "pcVar3 = (char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Size of area in .debug_info section: %ld\n",5)" identifier (argument_list "(0,"  Size of area in .debug_info section: %ld\n",5)" ( number_literal , (string_literal ""  Size of area in .debug_info section: %ld\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar3);" (call_expression "printf(pcVar3)" identifier (argument_list "(pcVar3)" ( identifier ))) ;) (if_statement "if (uVar2 < 2) {\n      if (is_gnu == 0) {\n        in_stack_ffffff98 = "\n    Offset\tName\n";\n      }\n      else {\n        in_stack_ffffff98 = "\n    Offset  Kind          Name\n";\n      }\n      pcVar3 = (char *)dcgettext(0,in_stack_ffffff98,5);\n      printf(pcVar3);\n      do {\n        puVar4 = puVar15 + (int)local_48;\n        if (puVar13 <= puVar4) {\n          if ((puVar15 < puVar13) && (puVar4 = puVar13 + -(int)puVar15, puVar4 + -1 < (uchar *)0x8))\n          {\n            (*byte_get)(puVar15,(int)puVar4);\n            in_stack_ffffff98 = (char *)puVar4;\n          }\n          break;\n        }\n        in_stack_ffffff98 = (char *)local_48;\n        eVar17 = (*byte_get)(puVar15,(int)local_48);\n        if (eVar17 == 0) break;\n        iVar7 = (int)puVar13 - (int)puVar4;\n        in_stack_ffffff98 = (char *)(iVar7 + -1);\n        if (is_gnu == 0) {\n          printf("    %-6lx\t%.*s\n",(int)eVar17,in_stack_ffffff98,puVar4);\n        }\n        else {\n          puVar15 = puVar4 + 1;\n          iVar11 = is_gnu;\n          if ((puVar15 < puVar13) || (iVar11 = iVar7, in_stack_ffffff98 < (uchar *)0x8)) {\n            eVar18 = (*byte_get)(puVar4,iVar11);\n            uVar14 = (int)eVar18 << 0x18;\n            uVar8 = dcgettext(0,*(undefined4 *)(kinds_11357 + (uVar14 >> 0x1c & 7) * 4),5);\n            if (-1 < (int)uVar14) goto LAB_0003565a;\n            uVar9 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar9 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)eVar17,uVar9,uVar8,(uchar *)(iVar7 + -2),puVar15\n                );\n          puVar4 = puVar15;\n          in_stack_ffffff98 = (char *)(iVar7 + -2);\n        }\n        sVar10 = strnlen((char *)puVar4,(size_t)in_stack_ffffff98);\n        puVar15 = puVar4 + sVar10 + 1;\n      } while (puVar15 < puVar13);\n    }\n    else {\n      in_stack_ffffff98 = (char *)local_24;\n      if (display_debug_pubnames_worker::lexical_block_6::lexical_block_6_9::warned == 0) {\n        in_stack_ffffff98 = "Only DWARF 2 and 3 pubnames are currently supported\n";\n        pcVar3 = (char *)dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n        warn(pcVar3);\n        display_debug_pubnames_worker::lexical_block_6::lexical_block_6_9::warned = 1;\n      }\n    }" if (parenthesized_expression "(uVar2 < 2)" ( (binary_expression "uVar2 < 2" identifier < number_literal) )) (compound_statement "{\n      if (is_gnu == 0) {\n        in_stack_ffffff98 = "\n    Offset\tName\n";\n      }\n      else {\n        in_stack_ffffff98 = "\n    Offset  Kind          Name\n";\n      }\n      pcVar3 = (char *)dcgettext(0,in_stack_ffffff98,5);\n      printf(pcVar3);\n      do {\n        puVar4 = puVar15 + (int)local_48;\n        if (puVar13 <= puVar4) {\n          if ((puVar15 < puVar13) && (puVar4 = puVar13 + -(int)puVar15, puVar4 + -1 < (uchar *)0x8))\n          {\n            (*byte_get)(puVar15,(int)puVar4);\n            in_stack_ffffff98 = (char *)puVar4;\n          }\n          break;\n        }\n        in_stack_ffffff98 = (char *)local_48;\n        eVar17 = (*byte_get)(puVar15,(int)local_48);\n        if (eVar17 == 0) break;\n        iVar7 = (int)puVar13 - (int)puVar4;\n        in_stack_ffffff98 = (char *)(iVar7 + -1);\n        if (is_gnu == 0) {\n          printf("    %-6lx\t%.*s\n",(int)eVar17,in_stack_ffffff98,puVar4);\n        }\n        else {\n          puVar15 = puVar4 + 1;\n          iVar11 = is_gnu;\n          if ((puVar15 < puVar13) || (iVar11 = iVar7, in_stack_ffffff98 < (uchar *)0x8)) {\n            eVar18 = (*byte_get)(puVar4,iVar11);\n            uVar14 = (int)eVar18 << 0x18;\n            uVar8 = dcgettext(0,*(undefined4 *)(kinds_11357 + (uVar14 >> 0x1c & 7) * 4),5);\n            if (-1 < (int)uVar14) goto LAB_0003565a;\n            uVar9 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar9 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)eVar17,uVar9,uVar8,(uchar *)(iVar7 + -2),puVar15\n                );\n          puVar4 = puVar15;\n          in_stack_ffffff98 = (char *)(iVar7 + -2);\n        }\n        sVar10 = strnlen((char *)puVar4,(size_t)in_stack_ffffff98);\n        puVar15 = puVar4 + sVar10 + 1;\n      } while (puVar15 < puVar13);\n    }" { (if_statement "if (is_gnu == 0) {\n        in_stack_ffffff98 = "\n    Offset\tName\n";\n      }\n      else {\n        in_stack_ffffff98 = "\n    Offset  Kind          Name\n";\n      }" if (parenthesized_expression "(is_gnu == 0)" ( (binary_expression "is_gnu == 0" identifier == number_literal) )) (compound_statement "{\n        in_stack_ffffff98 = "\n    Offset\tName\n";\n      }" { (expression_statement "in_stack_ffffff98 = "\n    Offset\tName\n";" (assignment_expression "in_stack_ffffff98 = "\n    Offset\tName\n"" identifier = (string_literal ""\n    Offset\tName\n"" " escape_sequence string_content escape_sequence string_content escape_sequence ")) ;) }) (else_clause "else {\n        in_stack_ffffff98 = "\n    Offset  Kind          Name\n";\n      }" else (compound_statement "{\n        in_stack_ffffff98 = "\n    Offset  Kind          Name\n";\n      }" { (expression_statement "in_stack_ffffff98 = "\n    Offset  Kind          Name\n";" (assignment_expression "in_stack_ffffff98 = "\n    Offset  Kind          Name\n"" identifier = (string_literal ""\n    Offset  Kind          Name\n"" " escape_sequence string_content escape_sequence ")) ;) }))) (expression_statement "pcVar3 = (char *)dcgettext(0,in_stack_ffffff98,5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,in_stack_ffffff98,5)" identifier = (cast_expression "(char *)dcgettext(0,in_stack_ffffff98,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,in_stack_ffffff98,5)" identifier (argument_list "(0,in_stack_ffffff98,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar3);" (call_expression "printf(pcVar3)" identifier (argument_list "(pcVar3)" ( identifier ))) ;) (do_statement "do {\n        puVar4 = puVar15 + (int)local_48;\n        if (puVar13 <= puVar4) {\n          if ((puVar15 < puVar13) && (puVar4 = puVar13 + -(int)puVar15, puVar4 + -1 < (uchar *)0x8))\n          {\n            (*byte_get)(puVar15,(int)puVar4);\n            in_stack_ffffff98 = (char *)puVar4;\n          }\n          break;\n        }\n        in_stack_ffffff98 = (char *)local_48;\n        eVar17 = (*byte_get)(puVar15,(int)local_48);\n        if (eVar17 == 0) break;\n        iVar7 = (int)puVar13 - (int)puVar4;\n        in_stack_ffffff98 = (char *)(iVar7 + -1);\n        if (is_gnu == 0) {\n          printf("    %-6lx\t%.*s\n",(int)eVar17,in_stack_ffffff98,puVar4);\n        }\n        else {\n          puVar15 = puVar4 + 1;\n          iVar11 = is_gnu;\n          if ((puVar15 < puVar13) || (iVar11 = iVar7, in_stack_ffffff98 < (uchar *)0x8)) {\n            eVar18 = (*byte_get)(puVar4,iVar11);\n            uVar14 = (int)eVar18 << 0x18;\n            uVar8 = dcgettext(0,*(undefined4 *)(kinds_11357 + (uVar14 >> 0x1c & 7) * 4),5);\n            if (-1 < (int)uVar14) goto LAB_0003565a;\n            uVar9 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar9 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)eVar17,uVar9,uVar8,(uchar *)(iVar7 + -2),puVar15\n                );\n          puVar4 = puVar15;\n          in_stack_ffffff98 = (char *)(iVar7 + -2);\n        }\n        sVar10 = strnlen((char *)puVar4,(size_t)in_stack_ffffff98);\n        puVar15 = puVar4 + sVar10 + 1;\n      } while (puVar15 < puVar13);" do (compound_statement "{\n        puVar4 = puVar15 + (int)local_48;\n        if (puVar13 <= puVar4) {\n          if ((puVar15 < puVar13) && (puVar4 = puVar13 + -(int)puVar15, puVar4 + -1 < (uchar *)0x8))\n          {\n            (*byte_get)(puVar15,(int)puVar4);\n            in_stack_ffffff98 = (char *)puVar4;\n          }\n          break;\n        }\n        in_stack_ffffff98 = (char *)local_48;\n        eVar17 = (*byte_get)(puVar15,(int)local_48);\n        if (eVar17 == 0) break;\n        iVar7 = (int)puVar13 - (int)puVar4;\n        in_stack_ffffff98 = (char *)(iVar7 + -1);\n        if (is_gnu == 0) {\n          printf("    %-6lx\t%.*s\n",(int)eVar17,in_stack_ffffff98,puVar4);\n        }\n        else {\n          puVar15 = puVar4 + 1;\n          iVar11 = is_gnu;\n          if ((puVar15 < puVar13) || (iVar11 = iVar7, in_stack_ffffff98 < (uchar *)0x8)) {\n            eVar18 = (*byte_get)(puVar4,iVar11);\n            uVar14 = (int)eVar18 << 0x18;\n            uVar8 = dcgettext(0,*(undefined4 *)(kinds_11357 + (uVar14 >> 0x1c & 7) * 4),5);\n            if (-1 < (int)uVar14) goto LAB_0003565a;\n            uVar9 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar9 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)eVar17,uVar9,uVar8,(uchar *)(iVar7 + -2),puVar15\n                );\n          puVar4 = puVar15;\n          in_stack_ffffff98 = (char *)(iVar7 + -2);\n        }\n        sVar10 = strnlen((char *)puVar4,(size_t)in_stack_ffffff98);\n        puVar15 = puVar4 + sVar10 + 1;\n      }" { (expression_statement "puVar4 = puVar15 + (int)local_48;" (assignment_expression "puVar4 = puVar15 + (int)local_48" identifier = (binary_expression "puVar15 + (int)local_48" identifier + (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (puVar13 <= puVar4) {\n          if ((puVar15 < puVar13) && (puVar4 = puVar13 + -(int)puVar15, puVar4 + -1 < (uchar *)0x8))\n          {\n            (*byte_get)(puVar15,(int)puVar4);\n            in_stack_ffffff98 = (char *)puVar4;\n          }\n          break;\n        }" if (parenthesized_expression "(puVar13 <= puVar4)" ( (binary_expression "puVar13 <= puVar4" identifier <= identifier) )) (compound_statement "{\n          if ((puVar15 < puVar13) && (puVar4 = puVar13 + -(int)puVar15, puVar4 + -1 < (uchar *)0x8))\n          {\n            (*byte_get)(puVar15,(int)puVar4);\n            in_stack_ffffff98 = (char *)puVar4;\n          }\n          break;\n        }" { (if_statement "if ((puVar15 < puVar13) && (puVar4 = puVar13 + -(int)puVar15, puVar4 + -1 < (uchar *)0x8))\n          {\n            (*byte_get)(puVar15,(int)puVar4);\n            in_stack_ffffff98 = (char *)puVar4;\n          }" if (parenthesized_expression "((puVar15 < puVar13) && (puVar4 = puVar13 + -(int)puVar15, puVar4 + -1 < (uchar *)0x8))" ( (binary_expression "(puVar15 < puVar13) && (puVar4 = puVar13 + -(int)puVar15, puVar4 + -1 < (uchar *)0x8)" (parenthesized_expression "(puVar15 < puVar13)" ( (binary_expression "puVar15 < puVar13" identifier < identifier) )) && (parenthesized_expression "(puVar4 = puVar13 + -(int)puVar15, puVar4 + -1 < (uchar *)0x8)" ( (comma_expression "puVar4 = puVar13 + -(int)puVar15, puVar4 + -1 < (uchar *)0x8" (assignment_expression "puVar4 = puVar13 + -(int)puVar15" identifier = (binary_expression "puVar13 + -(int)puVar15" identifier + (unary_expression "-(int)puVar15" - (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier)))) , (binary_expression "puVar4 + -1 < (uchar *)0x8" (binary_expression "puVar4 + -1" identifier + number_literal) < (cast_expression "(uchar *)0x8" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n            (*byte_get)(puVar15,(int)puVar4);\n            in_stack_ffffff98 = (char *)puVar4;\n          }" { (expression_statement "(*byte_get)(puVar15,(int)puVar4);" (call_expression "(*byte_get)(puVar15,(int)puVar4)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar15,(int)puVar4)" ( identifier , (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) (expression_statement "in_stack_ffffff98 = (char *)puVar4;" (assignment_expression "in_stack_ffffff98 = (char *)puVar4" identifier = (cast_expression "(char *)puVar4" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (break_statement "break;" break ;) })) (expression_statement "in_stack_ffffff98 = (char *)local_48;" (assignment_expression "in_stack_ffffff98 = (char *)local_48" identifier = (cast_expression "(char *)local_48" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "eVar17 = (*byte_get)(puVar15,(int)local_48);" (assignment_expression "eVar17 = (*byte_get)(puVar15,(int)local_48)" identifier = (call_expression "(*byte_get)(puVar15,(int)local_48)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar15,(int)local_48)" ( identifier , (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (if_statement "if (eVar17 == 0) break;" if (parenthesized_expression "(eVar17 == 0)" ( (binary_expression "eVar17 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar7 = (int)puVar13 - (int)puVar4;" (assignment_expression "iVar7 = (int)puVar13 - (int)puVar4" identifier = (binary_expression "(int)puVar13 - (int)puVar4" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "in_stack_ffffff98 = (char *)(iVar7 + -1);" (assignment_expression "in_stack_ffffff98 = (char *)(iVar7 + -1)" identifier = (cast_expression "(char *)(iVar7 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -1)" ( (binary_expression "iVar7 + -1" identifier + number_literal) )))) ;) (if_statement "if (is_gnu == 0) {\n          printf("    %-6lx\t%.*s\n",(int)eVar17,in_stack_ffffff98,puVar4);\n        }\n        else {\n          puVar15 = puVar4 + 1;\n          iVar11 = is_gnu;\n          if ((puVar15 < puVar13) || (iVar11 = iVar7, in_stack_ffffff98 < (uchar *)0x8)) {\n            eVar18 = (*byte_get)(puVar4,iVar11);\n            uVar14 = (int)eVar18 << 0x18;\n            uVar8 = dcgettext(0,*(undefined4 *)(kinds_11357 + (uVar14 >> 0x1c & 7) * 4),5);\n            if (-1 < (int)uVar14) goto LAB_0003565a;\n            uVar9 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar9 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)eVar17,uVar9,uVar8,(uchar *)(iVar7 + -2),puVar15\n                );\n          puVar4 = puVar15;\n          in_stack_ffffff98 = (char *)(iVar7 + -2);\n        }" if (parenthesized_expression "(is_gnu == 0)" ( (binary_expression "is_gnu == 0" identifier == number_literal) )) (compound_statement "{\n          printf("    %-6lx\t%.*s\n",(int)eVar17,in_stack_ffffff98,puVar4);\n        }" { (expression_statement "printf("    %-6lx\t%.*s\n",(int)eVar17,in_stack_ffffff98,puVar4);" (call_expression "printf("    %-6lx\t%.*s\n",(int)eVar17,in_stack_ffffff98,puVar4)" identifier (argument_list "("    %-6lx\t%.*s\n",(int)eVar17,in_stack_ffffff98,puVar4)" ( (string_literal ""    %-6lx\t%.*s\n"" " string_content escape_sequence string_content escape_sequence ") , (cast_expression "(int)eVar17" ( (type_descriptor "int" primitive_type) ) identifier) , identifier , identifier ))) ;) }) (else_clause "else {\n          puVar15 = puVar4 + 1;\n          iVar11 = is_gnu;\n          if ((puVar15 < puVar13) || (iVar11 = iVar7, in_stack_ffffff98 < (uchar *)0x8)) {\n            eVar18 = (*byte_get)(puVar4,iVar11);\n            uVar14 = (int)eVar18 << 0x18;\n            uVar8 = dcgettext(0,*(undefined4 *)(kinds_11357 + (uVar14 >> 0x1c & 7) * 4),5);\n            if (-1 < (int)uVar14) goto LAB_0003565a;\n            uVar9 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar9 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)eVar17,uVar9,uVar8,(uchar *)(iVar7 + -2),puVar15\n                );\n          puVar4 = puVar15;\n          in_stack_ffffff98 = (char *)(iVar7 + -2);\n        }" else (compound_statement "{\n          puVar15 = puVar4 + 1;\n          iVar11 = is_gnu;\n          if ((puVar15 < puVar13) || (iVar11 = iVar7, in_stack_ffffff98 < (uchar *)0x8)) {\n            eVar18 = (*byte_get)(puVar4,iVar11);\n            uVar14 = (int)eVar18 << 0x18;\n            uVar8 = dcgettext(0,*(undefined4 *)(kinds_11357 + (uVar14 >> 0x1c & 7) * 4),5);\n            if (-1 < (int)uVar14) goto LAB_0003565a;\n            uVar9 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar9 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)eVar17,uVar9,uVar8,(uchar *)(iVar7 + -2),puVar15\n                );\n          puVar4 = puVar15;\n          in_stack_ffffff98 = (char *)(iVar7 + -2);\n        }" { (expression_statement "puVar15 = puVar4 + 1;" (assignment_expression "puVar15 = puVar4 + 1" identifier = (binary_expression "puVar4 + 1" identifier + number_literal)) ;) (expression_statement "iVar11 = is_gnu;" (assignment_expression "iVar11 = is_gnu" identifier = identifier) ;) (if_statement "if ((puVar15 < puVar13) || (iVar11 = iVar7, in_stack_ffffff98 < (uchar *)0x8)) {\n            eVar18 = (*byte_get)(puVar4,iVar11);\n            uVar14 = (int)eVar18 << 0x18;\n            uVar8 = dcgettext(0,*(undefined4 *)(kinds_11357 + (uVar14 >> 0x1c & 7) * 4),5);\n            if (-1 < (int)uVar14) goto LAB_0003565a;\n            uVar9 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar9 = dcgettext(0,"g",5);\n          }" if (parenthesized_expression "((puVar15 < puVar13) || (iVar11 = iVar7, in_stack_ffffff98 < (uchar *)0x8))" ( (binary_expression "(puVar15 < puVar13) || (iVar11 = iVar7, in_stack_ffffff98 < (uchar *)0x8)" (parenthesized_expression "(puVar15 < puVar13)" ( (binary_expression "puVar15 < puVar13" identifier < identifier) )) || (parenthesized_expression "(iVar11 = iVar7, in_stack_ffffff98 < (uchar *)0x8)" ( (comma_expression "iVar11 = iVar7, in_stack_ffffff98 < (uchar *)0x8" (assignment_expression "iVar11 = iVar7" identifier = identifier) , (binary_expression "in_stack_ffffff98 < (uchar *)0x8" identifier < (cast_expression "(uchar *)0x8" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n            eVar18 = (*byte_get)(puVar4,iVar11);\n            uVar14 = (int)eVar18 << 0x18;\n            uVar8 = dcgettext(0,*(undefined4 *)(kinds_11357 + (uVar14 >> 0x1c & 7) * 4),5);\n            if (-1 < (int)uVar14) goto LAB_0003565a;\n            uVar9 = dcgettext(0,"s",5);\n          }" { (expression_statement "eVar18 = (*byte_get)(puVar4,iVar11);" (assignment_expression "eVar18 = (*byte_get)(puVar4,iVar11)" identifier = (call_expression "(*byte_get)(puVar4,iVar11)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar4,iVar11)" ( identifier , identifier )))) ;) (expression_statement "uVar14 = (int)eVar18 << 0x18;" (assignment_expression "uVar14 = (int)eVar18 << 0x18" identifier = (binary_expression "(int)eVar18 << 0x18" (cast_expression "(int)eVar18" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) ;) (expression_statement "uVar8 = dcgettext(0,*(undefined4 *)(kinds_11357 + (uVar14 >> 0x1c & 7) * 4),5);" (assignment_expression "uVar8 = dcgettext(0,*(undefined4 *)(kinds_11357 + (uVar14 >> 0x1c & 7) * 4),5)" identifier = (call_expression "dcgettext(0,*(undefined4 *)(kinds_11357 + (uVar14 >> 0x1c & 7) * 4),5)" identifier (argument_list "(0,*(undefined4 *)(kinds_11357 + (uVar14 >> 0x1c & 7) * 4),5)" ( number_literal , (pointer_expression "*(undefined4 *)(kinds_11357 + (uVar14 >> 0x1c & 7) * 4)" * (cast_expression "(undefined4 *)(kinds_11357 + (uVar14 >> 0x1c & 7) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(kinds_11357 + (uVar14 >> 0x1c & 7) * 4)" ( (binary_expression "kinds_11357 + (uVar14 >> 0x1c & 7) * 4" identifier + (binary_expression "(uVar14 >> 0x1c & 7) * 4" (parenthesized_expression "(uVar14 >> 0x1c & 7)" ( (binary_expression "uVar14 >> 0x1c & 7" (binary_expression "uVar14 >> 0x1c" identifier >> number_literal) & number_literal) )) * number_literal)) )))) , number_literal )))) ;) (if_statement "if (-1 < (int)uVar14) goto LAB_0003565a;" if (parenthesized_expression "(-1 < (int)uVar14)" ( (binary_expression "-1 < (int)uVar14" number_literal < (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0003565a;" goto statement_identifier ;)) (expression_statement "uVar9 = dcgettext(0,"s",5);" (assignment_expression "uVar9 = dcgettext(0,"s",5)" identifier = (call_expression "dcgettext(0,"s",5)" identifier (argument_list "(0,"s",5)" ( number_literal , (string_literal ""s"" " string_content ") , number_literal )))) ;) }) (else_clause "else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar9 = dcgettext(0,"g",5);\n          }" else (compound_statement "{\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar9 = dcgettext(0,"g",5);\n          }" { (expression_statement "uVar8 = dcgettext(0,"no info",5);" (assignment_expression "uVar8 = dcgettext(0,"no info",5)" identifier = (call_expression "dcgettext(0,"no info",5)" identifier (argument_list "(0,"no info",5)" ( number_literal , (string_literal ""no info"" " string_content ") , number_literal )))) ;) (labeled_statement "LAB_0003565a:\n            uVar9 = dcgettext(0,"g",5);" statement_identifier : (expression_statement "uVar9 = dcgettext(0,"g",5);" (assignment_expression "uVar9 = dcgettext(0,"g",5)" identifier = (call_expression "dcgettext(0,"g",5)" identifier (argument_list "(0,"g",5)" ( number_literal , (string_literal ""g"" " string_content ") , number_literal )))) ;)) }))) (expression_statement "printf("    %-6lx  %s,%-10s  %.*s\n",(int)eVar17,uVar9,uVar8,(uchar *)(iVar7 + -2),puVar15\n                );" (call_expression "printf("    %-6lx  %s,%-10s  %.*s\n",(int)eVar17,uVar9,uVar8,(uchar *)(iVar7 + -2),puVar15\n                )" identifier (argument_list "("    %-6lx  %s,%-10s  %.*s\n",(int)eVar17,uVar9,uVar8,(uchar *)(iVar7 + -2),puVar15\n                )" ( (string_literal ""    %-6lx  %s,%-10s  %.*s\n"" " string_content escape_sequence ") , (cast_expression "(int)eVar17" ( (type_descriptor "int" primitive_type) ) identifier) , identifier , identifier , (cast_expression "(uchar *)(iVar7 + -2)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -2)" ( (binary_expression "iVar7 + -2" identifier + number_literal) ))) , identifier ))) ;) (expression_statement "puVar4 = puVar15;" (assignment_expression "puVar4 = puVar15" identifier = identifier) ;) (expression_statement "in_stack_ffffff98 = (char *)(iVar7 + -2);" (assignment_expression "in_stack_ffffff98 = (char *)(iVar7 + -2)" identifier = (cast_expression "(char *)(iVar7 + -2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -2)" ( (binary_expression "iVar7 + -2" identifier + number_literal) )))) ;) }))) (expression_statement "sVar10 = strnlen((char *)puVar4,(size_t)in_stack_ffffff98);" (assignment_expression "sVar10 = strnlen((char *)puVar4,(size_t)in_stack_ffffff98)" identifier = (call_expression "strnlen((char *)puVar4,(size_t)in_stack_ffffff98)" identifier (argument_list "((char *)puVar4,(size_t)in_stack_ffffff98)" ( (cast_expression "(char *)puVar4" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(size_t)in_stack_ffffff98" ( (type_descriptor "size_t" primitive_type) ) identifier) )))) ;) (expression_statement "puVar15 = puVar4 + sVar10 + 1;" (assignment_expression "puVar15 = puVar4 + sVar10 + 1" identifier = (binary_expression "puVar4 + sVar10 + 1" (binary_expression "puVar4 + sVar10" identifier + identifier) + number_literal)) ;) }) while (parenthesized_expression "(puVar15 < puVar13)" ( (binary_expression "puVar15 < puVar13" identifier < identifier) )) ;) }) (else_clause "else {\n      in_stack_ffffff98 = (char *)local_24;\n      if (display_debug_pubnames_worker::lexical_block_6::lexical_block_6_9::warned == 0) {\n        in_stack_ffffff98 = "Only DWARF 2 and 3 pubnames are currently supported\n";\n        pcVar3 = (char *)dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n        warn(pcVar3);\n        display_debug_pubnames_worker::lexical_block_6::lexical_block_6_9::warned = 1;\n      }\n    }" else (compound_statement "{\n      in_stack_ffffff98 = (char *)local_24;\n      if (display_debug_pubnames_worker::lexical_block_6::lexical_block_6_9::warned == 0) {\n        in_stack_ffffff98 = "Only DWARF 2 and 3 pubnames are currently supported\n";\n        pcVar3 = (char *)dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n        warn(pcVar3);\n        display_debug_pubnames_worker::lexical_block_6::lexical_block_6_9::warned = 1;\n      }\n    }" { (expression_statement "in_stack_ffffff98 = (char *)local_24;" (assignment_expression "in_stack_ffffff98 = (char *)local_24" identifier = (cast_expression "(char *)local_24" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (display_debug_pubnames_worker::lexical_block_6::lexical_block_6_9::warned == 0) {\n        in_stack_ffffff98 = "Only DWARF 2 and 3 pubnames are currently supported\n";\n        pcVar3 = (char *)dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n        warn(pcVar3);\n        display_debug_pubnames_worker::lexical_block_6::lexical_block_6_9::warned = 1;\n      }" if (parenthesized_expression "(display_debug_pubnames_worker::lexical_block_6::lexical_block_6_9::warned == 0)" ( (binary_expression "display_debug_pubnames_worker::lexical_block_6::lexical_block_6_9::warned == 0" identifier (ERROR "::lexical_block_6::lexical_block_6_9::warned" : : identifier : : identifier : : identifier) == number_literal) )) (compound_statement "{\n        in_stack_ffffff98 = "Only DWARF 2 and 3 pubnames are currently supported\n";\n        pcVar3 = (char *)dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n        warn(pcVar3);\n        display_debug_pubnames_worker::lexical_block_6::lexical_block_6_9::warned = 1;\n      }" { (expression_statement "in_stack_ffffff98 = "Only DWARF 2 and 3 pubnames are currently supported\n";" (assignment_expression "in_stack_ffffff98 = "Only DWARF 2 and 3 pubnames are currently supported\n"" identifier = (string_literal ""Only DWARF 2 and 3 pubnames are currently supported\n"" " string_content escape_sequence ")) ;) (expression_statement "pcVar3 = (char *)dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5)" identifier (argument_list "(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5)" ( number_literal , (string_literal ""Only DWARF 2 and 3 pubnames are currently supported\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar3);" (call_expression "warn(pcVar3)" identifier (argument_list "(pcVar3)" ( identifier ))) ;) (labeled_statement "display_debug_pubnames_worker::lexical_block_6::lexical_block_6_9::warned = 1;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_6::lexical_block_6_9::warned = 1;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_6_9::warned = 1;" statement_identifier : (ERROR ":" :) (expression_statement "warned = 1;" (assignment_expression "warned = 1" identifier = number_literal) ;)))) })) }))) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "undefined4 __regparm3 FUN_000351f0(int param_1,undefined4 param_2,int param_3)\n\n{\n  ulonglong uVar1;\n  ushort uVar2;\n  char *pcVar3;\n  int iVar4;\n  undefined4 uVar5;\n  size_t sVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  int *piVar10;\n  char *pcVar11;\n  uint uVar12;\n  char *pcVar13;\n  char *pcVar14;\n  longlong lVar15;\n  char *local_54;\n  uint local_50;\n  int local_48;\n  int local_34;\n  uint local_28;\n  undefined4 local_24;\n  \n  pcVar14 = *(char **)(param_1 + 0x10);\n  pcVar11 = pcVar14 + *(int *)(param_1 + 0x1c);\n  FUN_00032500();\n  FUN_0001ec20();\n  do {\n    if (pcVar11 <= pcVar14) {\nLAB_00035816:\n      putchar(10);\n      return 1;\n    }\n    pcVar13 = pcVar14 + 4;\n    if (pcVar13 < pcVar11) {\n      iVar4 = 4;\nLAB_0003540f:\n      lVar15 = (*DAT_00076b4c)(pcVar14,iVar4);\n      if (lVar15 == 0xffffffff) {\n        pcVar14 = pcVar14 + 0xc;\n        if (pcVar14 < pcVar11) {\n          iVar4 = 8;\n        }\n        else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,iVar4);\n        local_34 = 0xc;\n        local_48 = 8;\n        pcVar13 = pcVar14;\n      }\n      else {\n        local_34 = 4;\n        local_48 = 4;\n      }\n      iVar4 = (int)lVar15;\n      uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n      uVar1 = lVar15 + (ulonglong)uVar12;\n      if ((uint)((uint)uVar1 < uVar12) <= (uint)(uVar1 >> 0x20)) goto LAB_0003527f;\nLAB_000357ce:\n      uVar5 = FUN_0001cbf0(0);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar9 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar9,uVar8,uVar12 - local_34,uVar5);\n      goto LAB_00035816;\n    }\n    iVar4 = (int)pcVar11 - (int)pcVar14;\n    if (iVar4 - 1U < 8) goto LAB_0003540f;\n    local_34 = 4;\n    local_48 = 4;\nLAB_00035266:\n    iVar4 = 0;\n    uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n    uVar1 = (ulonglong)uVar12;\nLAB_0003527f:\n    local_50 = (uint)(uVar1 >> 0x20);\n    local_54 = (char *)uVar1;\n    if (*(uint *)(param_1 + 0x20) < local_50 ||\n        *(uint *)(param_1 + 0x20) - local_50 < (uint)(*(uint *)(param_1 + 0x1c) < local_54))\n    goto LAB_000357ce;\n    pcVar14 = pcVar13 + iVar4;\n    local_54 = pcVar13 + 2;\n    iVar7 = local_48;\n    if (local_54 < pcVar11) {\n      uVar2 = (*DAT_00076b4c)(pcVar13,2);\n      if (local_54 + local_48 < pcVar11) {\nLAB_00035730:\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n      }\n      else {\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n        iVar7 = (int)pcVar11 - (int)local_54;\n        if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;\n      }\nLAB_000352fb:\n      local_34 = (*DAT_00076b4c)(local_54,iVar7);\n    }\n    else if (pcVar13 < pcVar11) {\n      uVar12 = ((int)pcVar11 - (int)pcVar13) - 1;\n      if (7 < uVar12) goto LAB_000352c7;\n      uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12);\n      if (local_54 + local_48 < pcVar11) goto LAB_00035730;\n      local_28 = (uint)uVar2;\n      uVar2 = uVar2 - 2;\n      local_34 = 0;\n    }\n    else {\nLAB_000352c7:\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (local_54 + local_48 < pcVar11) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }\n    if (DAT_0007694c - 1U < 0xfffffffe) {\n      iVar7 = 0;\n      piVar10 = (int *)(DAT_00076944 + 0xc);\n      do {\n        if (*piVar10 == local_34 && piVar10[1] == 0) goto LAB_00035321;\n        iVar7 = iVar7 + 1;\n        piVar10 = piVar10 + 0x14;\n      } while (DAT_0007694c != iVar7);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar5 = dcgettext(0,\n                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                        ,5);\n      warn(uVar5,local_34,uVar8);\n    }\nLAB_00035321:\n    local_54 = local_54 + local_48;\n    pcVar13 = local_54 + local_48;\n    iVar7 = local_48;\n    if ((pcVar13 < pcVar11) ||\n       ((local_24 = 0, local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)))) {\n      local_24 = (*DAT_00076b4c)(local_54,iVar7);\n    }\n    pcVar3 = (char *)dcgettext(0,"  Length:                              %ld\n",5);\n    printf(pcVar3,iVar4);\n    pcVar3 = (char *)dcgettext(0,"  Version:                             %d\n",5);\n    printf(pcVar3,local_28);\n    pcVar3 = (char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5);\n    printf(pcVar3,local_34);\n    pcVar3 = (char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5);\n    printf(pcVar3,local_24);\n    if (uVar2 < 2) {\n      if (param_3 == 0) {\n        pcVar3 = "\n    Offset\tName\n";\n      }\n      else {\n        pcVar3 = "\n    Offset  Kind          Name\n";\n      }\n      pcVar3 = (char *)dcgettext(0,pcVar3,5);\n      printf(pcVar3);\n      do {\n        pcVar3 = pcVar13 + local_48;\n        if (pcVar11 <= pcVar3) {\n          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }\n          break;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,local_48);\n        if (lVar15 == 0) break;\n        iVar4 = (int)pcVar11 - (int)pcVar3;\n        local_54 = (char *)(iVar4 - 1);\n        if (param_3 == 0) {\n          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);\n        }\n        else {\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }\n        sVar6 = strnlen(pcVar3,(size_t)local_54);\n        pcVar13 = pcVar3 + sVar6 + 1;\n      } while (pcVar13 < pcVar11);\n    }\n    else if (DAT_00074224 == 0) {\n      uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n      warn(uVar8);\n      DAT_00074224 = 1;\n    }\n  } while( true );\n}\n\n" (function_definition "undefined4 __regparm3 FUN_000351f0(int param_1,undefined4 param_2,int param_3)\n\n{\n  ulonglong uVar1;\n  ushort uVar2;\n  char *pcVar3;\n  int iVar4;\n  undefined4 uVar5;\n  size_t sVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  int *piVar10;\n  char *pcVar11;\n  uint uVar12;\n  char *pcVar13;\n  char *pcVar14;\n  longlong lVar15;\n  char *local_54;\n  uint local_50;\n  int local_48;\n  int local_34;\n  uint local_28;\n  undefined4 local_24;\n  \n  pcVar14 = *(char **)(param_1 + 0x10);\n  pcVar11 = pcVar14 + *(int *)(param_1 + 0x1c);\n  FUN_00032500();\n  FUN_0001ec20();\n  do {\n    if (pcVar11 <= pcVar14) {\nLAB_00035816:\n      putchar(10);\n      return 1;\n    }\n    pcVar13 = pcVar14 + 4;\n    if (pcVar13 < pcVar11) {\n      iVar4 = 4;\nLAB_0003540f:\n      lVar15 = (*DAT_00076b4c)(pcVar14,iVar4);\n      if (lVar15 == 0xffffffff) {\n        pcVar14 = pcVar14 + 0xc;\n        if (pcVar14 < pcVar11) {\n          iVar4 = 8;\n        }\n        else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,iVar4);\n        local_34 = 0xc;\n        local_48 = 8;\n        pcVar13 = pcVar14;\n      }\n      else {\n        local_34 = 4;\n        local_48 = 4;\n      }\n      iVar4 = (int)lVar15;\n      uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n      uVar1 = lVar15 + (ulonglong)uVar12;\n      if ((uint)((uint)uVar1 < uVar12) <= (uint)(uVar1 >> 0x20)) goto LAB_0003527f;\nLAB_000357ce:\n      uVar5 = FUN_0001cbf0(0);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar9 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar9,uVar8,uVar12 - local_34,uVar5);\n      goto LAB_00035816;\n    }\n    iVar4 = (int)pcVar11 - (int)pcVar14;\n    if (iVar4 - 1U < 8) goto LAB_0003540f;\n    local_34 = 4;\n    local_48 = 4;\nLAB_00035266:\n    iVar4 = 0;\n    uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n    uVar1 = (ulonglong)uVar12;\nLAB_0003527f:\n    local_50 = (uint)(uVar1 >> 0x20);\n    local_54 = (char *)uVar1;\n    if (*(uint *)(param_1 + 0x20) < local_50 ||\n        *(uint *)(param_1 + 0x20) - local_50 < (uint)(*(uint *)(param_1 + 0x1c) < local_54))\n    goto LAB_000357ce;\n    pcVar14 = pcVar13 + iVar4;\n    local_54 = pcVar13 + 2;\n    iVar7 = local_48;\n    if (local_54 < pcVar11) {\n      uVar2 = (*DAT_00076b4c)(pcVar13,2);\n      if (local_54 + local_48 < pcVar11) {\nLAB_00035730:\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n      }\n      else {\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n        iVar7 = (int)pcVar11 - (int)local_54;\n        if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;\n      }\nLAB_000352fb:\n      local_34 = (*DAT_00076b4c)(local_54,iVar7);\n    }\n    else if (pcVar13 < pcVar11) {\n      uVar12 = ((int)pcVar11 - (int)pcVar13) - 1;\n      if (7 < uVar12) goto LAB_000352c7;\n      uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12);\n      if (local_54 + local_48 < pcVar11) goto LAB_00035730;\n      local_28 = (uint)uVar2;\n      uVar2 = uVar2 - 2;\n      local_34 = 0;\n    }\n    else {\nLAB_000352c7:\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (local_54 + local_48 < pcVar11) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }\n    if (DAT_0007694c - 1U < 0xfffffffe) {\n      iVar7 = 0;\n      piVar10 = (int *)(DAT_00076944 + 0xc);\n      do {\n        if (*piVar10 == local_34 && piVar10[1] == 0) goto LAB_00035321;\n        iVar7 = iVar7 + 1;\n        piVar10 = piVar10 + 0x14;\n      } while (DAT_0007694c != iVar7);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar5 = dcgettext(0,\n                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                        ,5);\n      warn(uVar5,local_34,uVar8);\n    }\nLAB_00035321:\n    local_54 = local_54 + local_48;\n    pcVar13 = local_54 + local_48;\n    iVar7 = local_48;\n    if ((pcVar13 < pcVar11) ||\n       ((local_24 = 0, local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)))) {\n      local_24 = (*DAT_00076b4c)(local_54,iVar7);\n    }\n    pcVar3 = (char *)dcgettext(0,"  Length:                              %ld\n",5);\n    printf(pcVar3,iVar4);\n    pcVar3 = (char *)dcgettext(0,"  Version:                             %d\n",5);\n    printf(pcVar3,local_28);\n    pcVar3 = (char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5);\n    printf(pcVar3,local_34);\n    pcVar3 = (char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5);\n    printf(pcVar3,local_24);\n    if (uVar2 < 2) {\n      if (param_3 == 0) {\n        pcVar3 = "\n    Offset\tName\n";\n      }\n      else {\n        pcVar3 = "\n    Offset  Kind          Name\n";\n      }\n      pcVar3 = (char *)dcgettext(0,pcVar3,5);\n      printf(pcVar3);\n      do {\n        pcVar3 = pcVar13 + local_48;\n        if (pcVar11 <= pcVar3) {\n          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }\n          break;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,local_48);\n        if (lVar15 == 0) break;\n        iVar4 = (int)pcVar11 - (int)pcVar3;\n        local_54 = (char *)(iVar4 - 1);\n        if (param_3 == 0) {\n          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);\n        }\n        else {\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }\n        sVar6 = strnlen(pcVar3,(size_t)local_54);\n        pcVar13 = pcVar3 + sVar6 + 1;\n      } while (pcVar13 < pcVar11);\n    }\n    else if (DAT_00074224 == 0) {\n      uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n      warn(uVar8);\n      DAT_00074224 = 1;\n    }\n  } while( true );\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_000351f0(int param_1,undefined4 param_2,int param_3)" identifier (parameter_list "(int param_1,undefined4 param_2,int param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  ulonglong uVar1;\n  ushort uVar2;\n  char *pcVar3;\n  int iVar4;\n  undefined4 uVar5;\n  size_t sVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  int *piVar10;\n  char *pcVar11;\n  uint uVar12;\n  char *pcVar13;\n  char *pcVar14;\n  longlong lVar15;\n  char *local_54;\n  uint local_50;\n  int local_48;\n  int local_34;\n  uint local_28;\n  undefined4 local_24;\n  \n  pcVar14 = *(char **)(param_1 + 0x10);\n  pcVar11 = pcVar14 + *(int *)(param_1 + 0x1c);\n  FUN_00032500();\n  FUN_0001ec20();\n  do {\n    if (pcVar11 <= pcVar14) {\nLAB_00035816:\n      putchar(10);\n      return 1;\n    }\n    pcVar13 = pcVar14 + 4;\n    if (pcVar13 < pcVar11) {\n      iVar4 = 4;\nLAB_0003540f:\n      lVar15 = (*DAT_00076b4c)(pcVar14,iVar4);\n      if (lVar15 == 0xffffffff) {\n        pcVar14 = pcVar14 + 0xc;\n        if (pcVar14 < pcVar11) {\n          iVar4 = 8;\n        }\n        else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,iVar4);\n        local_34 = 0xc;\n        local_48 = 8;\n        pcVar13 = pcVar14;\n      }\n      else {\n        local_34 = 4;\n        local_48 = 4;\n      }\n      iVar4 = (int)lVar15;\n      uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n      uVar1 = lVar15 + (ulonglong)uVar12;\n      if ((uint)((uint)uVar1 < uVar12) <= (uint)(uVar1 >> 0x20)) goto LAB_0003527f;\nLAB_000357ce:\n      uVar5 = FUN_0001cbf0(0);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar9 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar9,uVar8,uVar12 - local_34,uVar5);\n      goto LAB_00035816;\n    }\n    iVar4 = (int)pcVar11 - (int)pcVar14;\n    if (iVar4 - 1U < 8) goto LAB_0003540f;\n    local_34 = 4;\n    local_48 = 4;\nLAB_00035266:\n    iVar4 = 0;\n    uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n    uVar1 = (ulonglong)uVar12;\nLAB_0003527f:\n    local_50 = (uint)(uVar1 >> 0x20);\n    local_54 = (char *)uVar1;\n    if (*(uint *)(param_1 + 0x20) < local_50 ||\n        *(uint *)(param_1 + 0x20) - local_50 < (uint)(*(uint *)(param_1 + 0x1c) < local_54))\n    goto LAB_000357ce;\n    pcVar14 = pcVar13 + iVar4;\n    local_54 = pcVar13 + 2;\n    iVar7 = local_48;\n    if (local_54 < pcVar11) {\n      uVar2 = (*DAT_00076b4c)(pcVar13,2);\n      if (local_54 + local_48 < pcVar11) {\nLAB_00035730:\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n      }\n      else {\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n        iVar7 = (int)pcVar11 - (int)local_54;\n        if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;\n      }\nLAB_000352fb:\n      local_34 = (*DAT_00076b4c)(local_54,iVar7);\n    }\n    else if (pcVar13 < pcVar11) {\n      uVar12 = ((int)pcVar11 - (int)pcVar13) - 1;\n      if (7 < uVar12) goto LAB_000352c7;\n      uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12);\n      if (local_54 + local_48 < pcVar11) goto LAB_00035730;\n      local_28 = (uint)uVar2;\n      uVar2 = uVar2 - 2;\n      local_34 = 0;\n    }\n    else {\nLAB_000352c7:\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (local_54 + local_48 < pcVar11) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }\n    if (DAT_0007694c - 1U < 0xfffffffe) {\n      iVar7 = 0;\n      piVar10 = (int *)(DAT_00076944 + 0xc);\n      do {\n        if (*piVar10 == local_34 && piVar10[1] == 0) goto LAB_00035321;\n        iVar7 = iVar7 + 1;\n        piVar10 = piVar10 + 0x14;\n      } while (DAT_0007694c != iVar7);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar5 = dcgettext(0,\n                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                        ,5);\n      warn(uVar5,local_34,uVar8);\n    }\nLAB_00035321:\n    local_54 = local_54 + local_48;\n    pcVar13 = local_54 + local_48;\n    iVar7 = local_48;\n    if ((pcVar13 < pcVar11) ||\n       ((local_24 = 0, local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)))) {\n      local_24 = (*DAT_00076b4c)(local_54,iVar7);\n    }\n    pcVar3 = (char *)dcgettext(0,"  Length:                              %ld\n",5);\n    printf(pcVar3,iVar4);\n    pcVar3 = (char *)dcgettext(0,"  Version:                             %d\n",5);\n    printf(pcVar3,local_28);\n    pcVar3 = (char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5);\n    printf(pcVar3,local_34);\n    pcVar3 = (char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5);\n    printf(pcVar3,local_24);\n    if (uVar2 < 2) {\n      if (param_3 == 0) {\n        pcVar3 = "\n    Offset\tName\n";\n      }\n      else {\n        pcVar3 = "\n    Offset  Kind          Name\n";\n      }\n      pcVar3 = (char *)dcgettext(0,pcVar3,5);\n      printf(pcVar3);\n      do {\n        pcVar3 = pcVar13 + local_48;\n        if (pcVar11 <= pcVar3) {\n          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }\n          break;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,local_48);\n        if (lVar15 == 0) break;\n        iVar4 = (int)pcVar11 - (int)pcVar3;\n        local_54 = (char *)(iVar4 - 1);\n        if (param_3 == 0) {\n          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);\n        }\n        else {\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }\n        sVar6 = strnlen(pcVar3,(size_t)local_54);\n        pcVar13 = pcVar3 + sVar6 + 1;\n      } while (pcVar13 < pcVar11);\n    }\n    else if (DAT_00074224 == 0) {\n      uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n      warn(uVar8);\n      DAT_00074224 = 1;\n    }\n  } while( true );\n}" { (declaration "ulonglong uVar1;" type_identifier identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "size_t sVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (declaration "longlong lVar15;" type_identifier identifier ;) (declaration "char *local_54;" primitive_type (pointer_declarator "*local_54" * identifier) ;) (declaration "uint local_50;" type_identifier identifier ;) (declaration "int local_48;" primitive_type identifier ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "uint local_28;" type_identifier identifier ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (expression_statement "pcVar14 = *(char **)(param_1 + 0x10);" (assignment_expression "pcVar14 = *(char **)(param_1 + 0x10)" identifier = (pointer_expression "*(char **)(param_1 + 0x10)" * (cast_expression "(char **)(param_1 + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "pcVar11 = pcVar14 + *(int *)(param_1 + 0x1c);" (assignment_expression "pcVar11 = pcVar14 + *(int *)(param_1 + 0x1c)" identifier = (binary_expression "pcVar14 + *(int *)(param_1 + 0x1c)" identifier + (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))))) ;) (expression_statement "FUN_00032500();" (call_expression "FUN_00032500()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001ec20();" (call_expression "FUN_0001ec20()" identifier (argument_list "()" ( ))) ;) (do_statement "do {\n    if (pcVar11 <= pcVar14) {\nLAB_00035816:\n      putchar(10);\n      return 1;\n    }\n    pcVar13 = pcVar14 + 4;\n    if (pcVar13 < pcVar11) {\n      iVar4 = 4;\nLAB_0003540f:\n      lVar15 = (*DAT_00076b4c)(pcVar14,iVar4);\n      if (lVar15 == 0xffffffff) {\n        pcVar14 = pcVar14 + 0xc;\n        if (pcVar14 < pcVar11) {\n          iVar4 = 8;\n        }\n        else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,iVar4);\n        local_34 = 0xc;\n        local_48 = 8;\n        pcVar13 = pcVar14;\n      }\n      else {\n        local_34 = 4;\n        local_48 = 4;\n      }\n      iVar4 = (int)lVar15;\n      uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n      uVar1 = lVar15 + (ulonglong)uVar12;\n      if ((uint)((uint)uVar1 < uVar12) <= (uint)(uVar1 >> 0x20)) goto LAB_0003527f;\nLAB_000357ce:\n      uVar5 = FUN_0001cbf0(0);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar9 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar9,uVar8,uVar12 - local_34,uVar5);\n      goto LAB_00035816;\n    }\n    iVar4 = (int)pcVar11 - (int)pcVar14;\n    if (iVar4 - 1U < 8) goto LAB_0003540f;\n    local_34 = 4;\n    local_48 = 4;\nLAB_00035266:\n    iVar4 = 0;\n    uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n    uVar1 = (ulonglong)uVar12;\nLAB_0003527f:\n    local_50 = (uint)(uVar1 >> 0x20);\n    local_54 = (char *)uVar1;\n    if (*(uint *)(param_1 + 0x20) < local_50 ||\n        *(uint *)(param_1 + 0x20) - local_50 < (uint)(*(uint *)(param_1 + 0x1c) < local_54))\n    goto LAB_000357ce;\n    pcVar14 = pcVar13 + iVar4;\n    local_54 = pcVar13 + 2;\n    iVar7 = local_48;\n    if (local_54 < pcVar11) {\n      uVar2 = (*DAT_00076b4c)(pcVar13,2);\n      if (local_54 + local_48 < pcVar11) {\nLAB_00035730:\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n      }\n      else {\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n        iVar7 = (int)pcVar11 - (int)local_54;\n        if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;\n      }\nLAB_000352fb:\n      local_34 = (*DAT_00076b4c)(local_54,iVar7);\n    }\n    else if (pcVar13 < pcVar11) {\n      uVar12 = ((int)pcVar11 - (int)pcVar13) - 1;\n      if (7 < uVar12) goto LAB_000352c7;\n      uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12);\n      if (local_54 + local_48 < pcVar11) goto LAB_00035730;\n      local_28 = (uint)uVar2;\n      uVar2 = uVar2 - 2;\n      local_34 = 0;\n    }\n    else {\nLAB_000352c7:\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (local_54 + local_48 < pcVar11) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }\n    if (DAT_0007694c - 1U < 0xfffffffe) {\n      iVar7 = 0;\n      piVar10 = (int *)(DAT_00076944 + 0xc);\n      do {\n        if (*piVar10 == local_34 && piVar10[1] == 0) goto LAB_00035321;\n        iVar7 = iVar7 + 1;\n        piVar10 = piVar10 + 0x14;\n      } while (DAT_0007694c != iVar7);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar5 = dcgettext(0,\n                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                        ,5);\n      warn(uVar5,local_34,uVar8);\n    }\nLAB_00035321:\n    local_54 = local_54 + local_48;\n    pcVar13 = local_54 + local_48;\n    iVar7 = local_48;\n    if ((pcVar13 < pcVar11) ||\n       ((local_24 = 0, local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)))) {\n      local_24 = (*DAT_00076b4c)(local_54,iVar7);\n    }\n    pcVar3 = (char *)dcgettext(0,"  Length:                              %ld\n",5);\n    printf(pcVar3,iVar4);\n    pcVar3 = (char *)dcgettext(0,"  Version:                             %d\n",5);\n    printf(pcVar3,local_28);\n    pcVar3 = (char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5);\n    printf(pcVar3,local_34);\n    pcVar3 = (char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5);\n    printf(pcVar3,local_24);\n    if (uVar2 < 2) {\n      if (param_3 == 0) {\n        pcVar3 = "\n    Offset\tName\n";\n      }\n      else {\n        pcVar3 = "\n    Offset  Kind          Name\n";\n      }\n      pcVar3 = (char *)dcgettext(0,pcVar3,5);\n      printf(pcVar3);\n      do {\n        pcVar3 = pcVar13 + local_48;\n        if (pcVar11 <= pcVar3) {\n          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }\n          break;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,local_48);\n        if (lVar15 == 0) break;\n        iVar4 = (int)pcVar11 - (int)pcVar3;\n        local_54 = (char *)(iVar4 - 1);\n        if (param_3 == 0) {\n          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);\n        }\n        else {\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }\n        sVar6 = strnlen(pcVar3,(size_t)local_54);\n        pcVar13 = pcVar3 + sVar6 + 1;\n      } while (pcVar13 < pcVar11);\n    }\n    else if (DAT_00074224 == 0) {\n      uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n      warn(uVar8);\n      DAT_00074224 = 1;\n    }\n  } while( true );" do (compound_statement "{\n    if (pcVar11 <= pcVar14) {\nLAB_00035816:\n      putchar(10);\n      return 1;\n    }\n    pcVar13 = pcVar14 + 4;\n    if (pcVar13 < pcVar11) {\n      iVar4 = 4;\nLAB_0003540f:\n      lVar15 = (*DAT_00076b4c)(pcVar14,iVar4);\n      if (lVar15 == 0xffffffff) {\n        pcVar14 = pcVar14 + 0xc;\n        if (pcVar14 < pcVar11) {\n          iVar4 = 8;\n        }\n        else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,iVar4);\n        local_34 = 0xc;\n        local_48 = 8;\n        pcVar13 = pcVar14;\n      }\n      else {\n        local_34 = 4;\n        local_48 = 4;\n      }\n      iVar4 = (int)lVar15;\n      uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n      uVar1 = lVar15 + (ulonglong)uVar12;\n      if ((uint)((uint)uVar1 < uVar12) <= (uint)(uVar1 >> 0x20)) goto LAB_0003527f;\nLAB_000357ce:\n      uVar5 = FUN_0001cbf0(0);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar9 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar9,uVar8,uVar12 - local_34,uVar5);\n      goto LAB_00035816;\n    }\n    iVar4 = (int)pcVar11 - (int)pcVar14;\n    if (iVar4 - 1U < 8) goto LAB_0003540f;\n    local_34 = 4;\n    local_48 = 4;\nLAB_00035266:\n    iVar4 = 0;\n    uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n    uVar1 = (ulonglong)uVar12;\nLAB_0003527f:\n    local_50 = (uint)(uVar1 >> 0x20);\n    local_54 = (char *)uVar1;\n    if (*(uint *)(param_1 + 0x20) < local_50 ||\n        *(uint *)(param_1 + 0x20) - local_50 < (uint)(*(uint *)(param_1 + 0x1c) < local_54))\n    goto LAB_000357ce;\n    pcVar14 = pcVar13 + iVar4;\n    local_54 = pcVar13 + 2;\n    iVar7 = local_48;\n    if (local_54 < pcVar11) {\n      uVar2 = (*DAT_00076b4c)(pcVar13,2);\n      if (local_54 + local_48 < pcVar11) {\nLAB_00035730:\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n      }\n      else {\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n        iVar7 = (int)pcVar11 - (int)local_54;\n        if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;\n      }\nLAB_000352fb:\n      local_34 = (*DAT_00076b4c)(local_54,iVar7);\n    }\n    else if (pcVar13 < pcVar11) {\n      uVar12 = ((int)pcVar11 - (int)pcVar13) - 1;\n      if (7 < uVar12) goto LAB_000352c7;\n      uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12);\n      if (local_54 + local_48 < pcVar11) goto LAB_00035730;\n      local_28 = (uint)uVar2;\n      uVar2 = uVar2 - 2;\n      local_34 = 0;\n    }\n    else {\nLAB_000352c7:\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (local_54 + local_48 < pcVar11) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }\n    if (DAT_0007694c - 1U < 0xfffffffe) {\n      iVar7 = 0;\n      piVar10 = (int *)(DAT_00076944 + 0xc);\n      do {\n        if (*piVar10 == local_34 && piVar10[1] == 0) goto LAB_00035321;\n        iVar7 = iVar7 + 1;\n        piVar10 = piVar10 + 0x14;\n      } while (DAT_0007694c != iVar7);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar5 = dcgettext(0,\n                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                        ,5);\n      warn(uVar5,local_34,uVar8);\n    }\nLAB_00035321:\n    local_54 = local_54 + local_48;\n    pcVar13 = local_54 + local_48;\n    iVar7 = local_48;\n    if ((pcVar13 < pcVar11) ||\n       ((local_24 = 0, local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)))) {\n      local_24 = (*DAT_00076b4c)(local_54,iVar7);\n    }\n    pcVar3 = (char *)dcgettext(0,"  Length:                              %ld\n",5);\n    printf(pcVar3,iVar4);\n    pcVar3 = (char *)dcgettext(0,"  Version:                             %d\n",5);\n    printf(pcVar3,local_28);\n    pcVar3 = (char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5);\n    printf(pcVar3,local_34);\n    pcVar3 = (char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5);\n    printf(pcVar3,local_24);\n    if (uVar2 < 2) {\n      if (param_3 == 0) {\n        pcVar3 = "\n    Offset\tName\n";\n      }\n      else {\n        pcVar3 = "\n    Offset  Kind          Name\n";\n      }\n      pcVar3 = (char *)dcgettext(0,pcVar3,5);\n      printf(pcVar3);\n      do {\n        pcVar3 = pcVar13 + local_48;\n        if (pcVar11 <= pcVar3) {\n          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }\n          break;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,local_48);\n        if (lVar15 == 0) break;\n        iVar4 = (int)pcVar11 - (int)pcVar3;\n        local_54 = (char *)(iVar4 - 1);\n        if (param_3 == 0) {\n          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);\n        }\n        else {\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }\n        sVar6 = strnlen(pcVar3,(size_t)local_54);\n        pcVar13 = pcVar3 + sVar6 + 1;\n      } while (pcVar13 < pcVar11);\n    }\n    else if (DAT_00074224 == 0) {\n      uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n      warn(uVar8);\n      DAT_00074224 = 1;\n    }\n  }" { (if_statement "if (pcVar11 <= pcVar14) {\nLAB_00035816:\n      putchar(10);\n      return 1;\n    }" if (parenthesized_expression "(pcVar11 <= pcVar14)" ( (binary_expression "pcVar11 <= pcVar14" identifier <= identifier) )) (compound_statement "{\nLAB_00035816:\n      putchar(10);\n      return 1;\n    }" { (labeled_statement "LAB_00035816:\n      putchar(10);" statement_identifier : (expression_statement "putchar(10);" (call_expression "putchar(10)" identifier (argument_list "(10)" ( number_literal ))) ;)) (return_statement "return 1;" return number_literal ;) })) (expression_statement "pcVar13 = pcVar14 + 4;" (assignment_expression "pcVar13 = pcVar14 + 4" identifier = (binary_expression "pcVar14 + 4" identifier + number_literal)) ;) (if_statement "if (pcVar13 < pcVar11) {\n      iVar4 = 4;\nLAB_0003540f:\n      lVar15 = (*DAT_00076b4c)(pcVar14,iVar4);\n      if (lVar15 == 0xffffffff) {\n        pcVar14 = pcVar14 + 0xc;\n        if (pcVar14 < pcVar11) {\n          iVar4 = 8;\n        }\n        else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,iVar4);\n        local_34 = 0xc;\n        local_48 = 8;\n        pcVar13 = pcVar14;\n      }\n      else {\n        local_34 = 4;\n        local_48 = 4;\n      }\n      iVar4 = (int)lVar15;\n      uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n      uVar1 = lVar15 + (ulonglong)uVar12;\n      if ((uint)((uint)uVar1 < uVar12) <= (uint)(uVar1 >> 0x20)) goto LAB_0003527f;\nLAB_000357ce:\n      uVar5 = FUN_0001cbf0(0);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar9 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar9,uVar8,uVar12 - local_34,uVar5);\n      goto LAB_00035816;\n    }" if (parenthesized_expression "(pcVar13 < pcVar11)" ( (binary_expression "pcVar13 < pcVar11" identifier < identifier) )) (compound_statement "{\n      iVar4 = 4;\nLAB_0003540f:\n      lVar15 = (*DAT_00076b4c)(pcVar14,iVar4);\n      if (lVar15 == 0xffffffff) {\n        pcVar14 = pcVar14 + 0xc;\n        if (pcVar14 < pcVar11) {\n          iVar4 = 8;\n        }\n        else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,iVar4);\n        local_34 = 0xc;\n        local_48 = 8;\n        pcVar13 = pcVar14;\n      }\n      else {\n        local_34 = 4;\n        local_48 = 4;\n      }\n      iVar4 = (int)lVar15;\n      uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n      uVar1 = lVar15 + (ulonglong)uVar12;\n      if ((uint)((uint)uVar1 < uVar12) <= (uint)(uVar1 >> 0x20)) goto LAB_0003527f;\nLAB_000357ce:\n      uVar5 = FUN_0001cbf0(0);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar9 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar9,uVar8,uVar12 - local_34,uVar5);\n      goto LAB_00035816;\n    }" { (expression_statement "iVar4 = 4;" (assignment_expression "iVar4 = 4" identifier = number_literal) ;) (labeled_statement "LAB_0003540f:\n      lVar15 = (*DAT_00076b4c)(pcVar14,iVar4);" statement_identifier : (expression_statement "lVar15 = (*DAT_00076b4c)(pcVar14,iVar4);" (assignment_expression "lVar15 = (*DAT_00076b4c)(pcVar14,iVar4)" identifier = (call_expression "(*DAT_00076b4c)(pcVar14,iVar4)" (parenthesized_expression "(*DAT_00076b4c)" ( (pointer_expression "*DAT_00076b4c" * identifier) )) (argument_list "(pcVar14,iVar4)" ( identifier , identifier )))) ;)) (if_statement "if (lVar15 == 0xffffffff) {\n        pcVar14 = pcVar14 + 0xc;\n        if (pcVar14 < pcVar11) {\n          iVar4 = 8;\n        }\n        else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,iVar4);\n        local_34 = 0xc;\n        local_48 = 8;\n        pcVar13 = pcVar14;\n      }\n      else {\n        local_34 = 4;\n        local_48 = 4;\n      }" if (parenthesized_expression "(lVar15 == 0xffffffff)" ( (binary_expression "lVar15 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        pcVar14 = pcVar14 + 0xc;\n        if (pcVar14 < pcVar11) {\n          iVar4 = 8;\n        }\n        else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,iVar4);\n        local_34 = 0xc;\n        local_48 = 8;\n        pcVar13 = pcVar14;\n      }" { (expression_statement "pcVar14 = pcVar14 + 0xc;" (assignment_expression "pcVar14 = pcVar14 + 0xc" identifier = (binary_expression "pcVar14 + 0xc" identifier + number_literal)) ;) (if_statement "if (pcVar14 < pcVar11) {\n          iVar4 = 8;\n        }\n        else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }" if (parenthesized_expression "(pcVar14 < pcVar11)" ( (binary_expression "pcVar14 < pcVar11" identifier < identifier) )) (compound_statement "{\n          iVar4 = 8;\n        }" { (expression_statement "iVar4 = 8;" (assignment_expression "iVar4 = 8" identifier = number_literal) ;) }) (else_clause "else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }" else (if_statement "if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }" if (parenthesized_expression "((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U))" ( (binary_expression "(pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)" (parenthesized_expression "(pcVar11 <= pcVar13)" ( (binary_expression "pcVar11 <= pcVar13" identifier <= identifier) )) || (parenthesized_expression "(iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)" ( (comma_expression "iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U" (assignment_expression "iVar4 = (int)pcVar11 - (int)pcVar13" identifier = (binary_expression "(int)pcVar11 - (int)pcVar13" (cast_expression "(int)pcVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "7 < iVar4 - 1U" number_literal < (binary_expression "iVar4 - 1U" identifier - number_literal))) ))) )) (compound_statement "{\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }" { (expression_statement "local_34 = 0xc;" (assignment_expression "local_34 = 0xc" identifier = number_literal) ;) (expression_statement "local_48 = 8;" (assignment_expression "local_48 = 8" identifier = number_literal) ;) (expression_statement "pcVar13 = pcVar14;" (assignment_expression "pcVar13 = pcVar14" identifier = identifier) ;) (goto_statement "goto LAB_00035266;" goto statement_identifier ;) })))) (expression_statement "lVar15 = (*DAT_00076b4c)(pcVar13,iVar4);" (assignment_expression "lVar15 = (*DAT_00076b4c)(pcVar13,iVar4)" identifier = (call_expression "(*DAT_00076b4c)(pcVar13,iVar4)" (parenthesized_expression "(*DAT_00076b4c)" ( (pointer_expression "*DAT_00076b4c" * identifier) )) (argument_list "(pcVar13,iVar4)" ( identifier , identifier )))) ;) (expression_statement "local_34 = 0xc;" (assignment_expression "local_34 = 0xc" identifier = number_literal) ;) (expression_statement "local_48 = 8;" (assignment_expression "local_48 = 8" identifier = number_literal) ;) (expression_statement "pcVar13 = pcVar14;" (assignment_expression "pcVar13 = pcVar14" identifier = identifier) ;) }) (else_clause "else {\n        local_34 = 4;\n        local_48 = 4;\n      }" else (compound_statement "{\n        local_34 = 4;\n        local_48 = 4;\n      }" { (expression_statement "local_34 = 4;" (assignment_expression "local_34 = 4" identifier = number_literal) ;) (expression_statement "local_48 = 4;" (assignment_expression "local_48 = 4" identifier = number_literal) ;) }))) (expression_statement "iVar4 = (int)lVar15;" (assignment_expression "iVar4 = (int)lVar15" identifier = (cast_expression "(int)lVar15" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);" (assignment_expression "uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10)" identifier = (binary_expression "(int)pcVar13 - *(int *)(param_1 + 0x10)" (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier) - (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))))) ;) (expression_statement "uVar1 = lVar15 + (ulonglong)uVar12;" (assignment_expression "uVar1 = lVar15 + (ulonglong)uVar12" identifier = (binary_expression "lVar15 + (ulonglong)uVar12" identifier + (cast_expression "(ulonglong)uVar12" ( (type_descriptor "ulonglong" type_identifier) ) identifier))) ;) (if_statement "if ((uint)((uint)uVar1 < uVar12) <= (uint)(uVar1 >> 0x20)) goto LAB_0003527f;" if (parenthesized_expression "((uint)((uint)uVar1 < uVar12) <= (uint)(uVar1 >> 0x20))" ( (binary_expression "(uint)((uint)uVar1 < uVar12) <= (uint)(uVar1 >> 0x20)" (call_expression "(uint)((uint)uVar1 < uVar12)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)uVar1 < uVar12)" ( (binary_expression "(uint)uVar1 < uVar12" (cast_expression "(uint)uVar1" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) ))) <= (call_expression "(uint)(uVar1 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar1 >> 0x20)" ( (binary_expression "uVar1 >> 0x20" identifier >> number_literal) )))) )) (goto_statement "goto LAB_0003527f;" goto statement_identifier ;)) (labeled_statement "LAB_000357ce:\n      uVar5 = FUN_0001cbf0(0);" statement_identifier : (expression_statement "uVar5 = FUN_0001cbf0(0);" (assignment_expression "uVar5 = FUN_0001cbf0(0)" identifier = (call_expression "FUN_0001cbf0(0)" identifier (argument_list "(0)" ( number_literal )))) ;)) (expression_statement "uVar8 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar8 = *(undefined4 *)(param_1 + 8)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);" (assignment_expression "uVar9 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5)" identifier = (call_expression "dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5)" identifier (argument_list "(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5)" ( number_literal , (string_literal ""Debug info is corrupted, %s header at %#lx has length %s\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar9,uVar8,uVar12 - local_34,uVar5);" (call_expression "warn(uVar9,uVar8,uVar12 - local_34,uVar5)" identifier (argument_list "(uVar9,uVar8,uVar12 - local_34,uVar5)" ( identifier , identifier , (binary_expression "uVar12 - local_34" identifier - identifier) , identifier ))) ;) (goto_statement "goto LAB_00035816;" goto statement_identifier ;) })) (expression_statement "iVar4 = (int)pcVar11 - (int)pcVar14;" (assignment_expression "iVar4 = (int)pcVar11 - (int)pcVar14" identifier = (binary_expression "(int)pcVar11 - (int)pcVar14" (cast_expression "(int)pcVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar14" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (iVar4 - 1U < 8) goto LAB_0003540f;" if (parenthesized_expression "(iVar4 - 1U < 8)" ( (binary_expression "iVar4 - 1U < 8" (binary_expression "iVar4 - 1U" identifier - number_literal) < number_literal) )) (goto_statement "goto LAB_0003540f;" goto statement_identifier ;)) (expression_statement "local_34 = 4;" (assignment_expression "local_34 = 4" identifier = number_literal) ;) (expression_statement "local_48 = 4;" (assignment_expression "local_48 = 4" identifier = number_literal) ;) (labeled_statement "LAB_00035266:\n    iVar4 = 0;" statement_identifier : (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;)) (expression_statement "uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);" (assignment_expression "uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10)" identifier = (binary_expression "(int)pcVar13 - *(int *)(param_1 + 0x10)" (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier) - (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))))) ;) (expression_statement "uVar1 = (ulonglong)uVar12;" (assignment_expression "uVar1 = (ulonglong)uVar12" identifier = (cast_expression "(ulonglong)uVar12" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) ;) (labeled_statement "LAB_0003527f:\n    local_50 = (uint)(uVar1 >> 0x20);" statement_identifier : (expression_statement "local_50 = (uint)(uVar1 >> 0x20);" (assignment_expression "local_50 = (uint)(uVar1 >> 0x20)" identifier = (call_expression "(uint)(uVar1 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar1 >> 0x20)" ( (binary_expression "uVar1 >> 0x20" identifier >> number_literal) )))) ;)) (expression_statement "local_54 = (char *)uVar1;" (assignment_expression "local_54 = (char *)uVar1" identifier = (cast_expression "(char *)uVar1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(uint *)(param_1 + 0x20) < local_50 ||\n        *(uint *)(param_1 + 0x20) - local_50 < (uint)(*(uint *)(param_1 + 0x1c) < local_54))\n    goto LAB_000357ce;" if (parenthesized_expression "(*(uint *)(param_1 + 0x20) < local_50 ||\n        *(uint *)(param_1 + 0x20) - local_50 < (uint)(*(uint *)(param_1 + 0x1c) < local_54))" ( (binary_expression "*(uint *)(param_1 + 0x20) < local_50 ||\n        *(uint *)(param_1 + 0x20) - local_50 < (uint)(*(uint *)(param_1 + 0x1c) < local_54)" (binary_expression "*(uint *)(param_1 + 0x20) < local_50" (pointer_expression "*(uint *)(param_1 + 0x20)" * (cast_expression "(uint *)(param_1 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) < identifier) || (binary_expression "*(uint *)(param_1 + 0x20) - local_50 < (uint)(*(uint *)(param_1 + 0x1c) < local_54)" (binary_expression "*(uint *)(param_1 + 0x20) - local_50" (pointer_expression "*(uint *)(param_1 + 0x20)" * (cast_expression "(uint *)(param_1 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) - identifier) < (call_expression "(uint)(*(uint *)(param_1 + 0x1c) < local_54)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_1 + 0x1c) < local_54)" ( (binary_expression "*(uint *)(param_1 + 0x1c) < local_54" (pointer_expression "*(uint *)(param_1 + 0x1c)" * (cast_expression "(uint *)(param_1 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) < identifier) ))))) )) (goto_statement "goto LAB_000357ce;" goto statement_identifier ;)) (expression_statement "pcVar14 = pcVar13 + iVar4;" (assignment_expression "pcVar14 = pcVar13 + iVar4" identifier = (binary_expression "pcVar13 + iVar4" identifier + identifier)) ;) (expression_statement "local_54 = pcVar13 + 2;" (assignment_expression "local_54 = pcVar13 + 2" identifier = (binary_expression "pcVar13 + 2" identifier + number_literal)) ;) (expression_statement "iVar7 = local_48;" (assignment_expression "iVar7 = local_48" identifier = identifier) ;) (if_statement "if (local_54 < pcVar11) {\n      uVar2 = (*DAT_00076b4c)(pcVar13,2);\n      if (local_54 + local_48 < pcVar11) {\nLAB_00035730:\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n      }\n      else {\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n        iVar7 = (int)pcVar11 - (int)local_54;\n        if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;\n      }\nLAB_000352fb:\n      local_34 = (*DAT_00076b4c)(local_54,iVar7);\n    }\n    else if (pcVar13 < pcVar11) {\n      uVar12 = ((int)pcVar11 - (int)pcVar13) - 1;\n      if (7 < uVar12) goto LAB_000352c7;\n      uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12);\n      if (local_54 + local_48 < pcVar11) goto LAB_00035730;\n      local_28 = (uint)uVar2;\n      uVar2 = uVar2 - 2;\n      local_34 = 0;\n    }\n    else {\nLAB_000352c7:\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (local_54 + local_48 < pcVar11) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }" if (parenthesized_expression "(local_54 < pcVar11)" ( (binary_expression "local_54 < pcVar11" identifier < identifier) )) (compound_statement "{\n      uVar2 = (*DAT_00076b4c)(pcVar13,2);\n      if (local_54 + local_48 < pcVar11) {\nLAB_00035730:\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n      }\n      else {\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n        iVar7 = (int)pcVar11 - (int)local_54;\n        if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;\n      }\nLAB_000352fb:\n      local_34 = (*DAT_00076b4c)(local_54,iVar7);\n    }" { (expression_statement "uVar2 = (*DAT_00076b4c)(pcVar13,2);" (assignment_expression "uVar2 = (*DAT_00076b4c)(pcVar13,2)" identifier = (call_expression "(*DAT_00076b4c)(pcVar13,2)" (parenthesized_expression "(*DAT_00076b4c)" ( (pointer_expression "*DAT_00076b4c" * identifier) )) (argument_list "(pcVar13,2)" ( identifier , number_literal )))) ;) (if_statement "if (local_54 + local_48 < pcVar11) {\nLAB_00035730:\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n      }\n      else {\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n        iVar7 = (int)pcVar11 - (int)local_54;\n        if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;\n      }" if (parenthesized_expression "(local_54 + local_48 < pcVar11)" ( (binary_expression "local_54 + local_48 < pcVar11" (binary_expression "local_54 + local_48" identifier + identifier) < identifier) )) (compound_statement "{\nLAB_00035730:\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n      }" { (labeled_statement "LAB_00035730:\n        local_28 = (uint)uVar2;" statement_identifier : (expression_statement "local_28 = (uint)uVar2;" (assignment_expression "local_28 = (uint)uVar2" identifier = (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;)) (expression_statement "uVar2 = uVar2 - 2;" (assignment_expression "uVar2 = uVar2 - 2" identifier = (binary_expression "uVar2 - 2" identifier - number_literal)) ;) }) (else_clause "else {\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n        iVar7 = (int)pcVar11 - (int)local_54;\n        if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;\n      }" else (compound_statement "{\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n        iVar7 = (int)pcVar11 - (int)local_54;\n        if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;\n      }" { (expression_statement "local_28 = (uint)uVar2;" (assignment_expression "local_28 = (uint)uVar2" identifier = (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar2 = uVar2 - 2;" (assignment_expression "uVar2 = uVar2 - 2" identifier = (binary_expression "uVar2 - 2" identifier - number_literal)) ;) (expression_statement "iVar7 = (int)pcVar11 - (int)local_54;" (assignment_expression "iVar7 = (int)pcVar11 - (int)local_54" identifier = (binary_expression "(int)pcVar11 - (int)local_54" (cast_expression "(int)pcVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;" if (parenthesized_expression "(7 < ((int)pcVar11 - (int)local_54) - 1U)" ( (binary_expression "7 < ((int)pcVar11 - (int)local_54) - 1U" number_literal < (binary_expression "((int)pcVar11 - (int)local_54) - 1U" (parenthesized_expression "((int)pcVar11 - (int)local_54)" ( (binary_expression "(int)pcVar11 - (int)local_54" (cast_expression "(int)pcVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal)) )) (goto_statement "goto LAB_000354ec;" goto statement_identifier ;)) }))) (labeled_statement "LAB_000352fb:\n      local_34 = (*DAT_00076b4c)(local_54,iVar7);" statement_identifier : (expression_statement "local_34 = (*DAT_00076b4c)(local_54,iVar7);" (assignment_expression "local_34 = (*DAT_00076b4c)(local_54,iVar7)" identifier = (call_expression "(*DAT_00076b4c)(local_54,iVar7)" (parenthesized_expression "(*DAT_00076b4c)" ( (pointer_expression "*DAT_00076b4c" * identifier) )) (argument_list "(local_54,iVar7)" ( identifier , identifier )))) ;)) }) (else_clause "else if (pcVar13 < pcVar11) {\n      uVar12 = ((int)pcVar11 - (int)pcVar13) - 1;\n      if (7 < uVar12) goto LAB_000352c7;\n      uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12);\n      if (local_54 + local_48 < pcVar11) goto LAB_00035730;\n      local_28 = (uint)uVar2;\n      uVar2 = uVar2 - 2;\n      local_34 = 0;\n    }\n    else {\nLAB_000352c7:\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (local_54 + local_48 < pcVar11) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }" else (if_statement "if (pcVar13 < pcVar11) {\n      uVar12 = ((int)pcVar11 - (int)pcVar13) - 1;\n      if (7 < uVar12) goto LAB_000352c7;\n      uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12);\n      if (local_54 + local_48 < pcVar11) goto LAB_00035730;\n      local_28 = (uint)uVar2;\n      uVar2 = uVar2 - 2;\n      local_34 = 0;\n    }\n    else {\nLAB_000352c7:\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (local_54 + local_48 < pcVar11) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }" if (parenthesized_expression "(pcVar13 < pcVar11)" ( (binary_expression "pcVar13 < pcVar11" identifier < identifier) )) (compound_statement "{\n      uVar12 = ((int)pcVar11 - (int)pcVar13) - 1;\n      if (7 < uVar12) goto LAB_000352c7;\n      uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12);\n      if (local_54 + local_48 < pcVar11) goto LAB_00035730;\n      local_28 = (uint)uVar2;\n      uVar2 = uVar2 - 2;\n      local_34 = 0;\n    }" { (expression_statement "uVar12 = ((int)pcVar11 - (int)pcVar13) - 1;" (assignment_expression "uVar12 = ((int)pcVar11 - (int)pcVar13) - 1" identifier = (binary_expression "((int)pcVar11 - (int)pcVar13) - 1" (parenthesized_expression "((int)pcVar11 - (int)pcVar13)" ( (binary_expression "(int)pcVar11 - (int)pcVar13" (cast_expression "(int)pcVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal)) ;) (if_statement "if (7 < uVar12) goto LAB_000352c7;" if (parenthesized_expression "(7 < uVar12)" ( (binary_expression "7 < uVar12" number_literal < identifier) )) (goto_statement "goto LAB_000352c7;" goto statement_identifier ;)) (expression_statement "uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12);" (assignment_expression "uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12)" identifier = (call_expression "(*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12)" (parenthesized_expression "(*DAT_00076b4c)" ( (pointer_expression "*DAT_00076b4c" * identifier) )) (argument_list "(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12)" ( identifier , (binary_expression "(int)pcVar11 - (int)pcVar13" (cast_expression "(int)pcVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) , identifier , identifier )))) ;) (if_statement "if (local_54 + local_48 < pcVar11) goto LAB_00035730;" if (parenthesized_expression "(local_54 + local_48 < pcVar11)" ( (binary_expression "local_54 + local_48 < pcVar11" (binary_expression "local_54 + local_48" identifier + identifier) < identifier) )) (goto_statement "goto LAB_00035730;" goto statement_identifier ;)) (expression_statement "local_28 = (uint)uVar2;" (assignment_expression "local_28 = (uint)uVar2" identifier = (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar2 = uVar2 - 2;" (assignment_expression "uVar2 = uVar2 - 2" identifier = (binary_expression "uVar2 - 2" identifier - number_literal)) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) }) (else_clause "else {\nLAB_000352c7:\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (local_54 + local_48 < pcVar11) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }" else (compound_statement "{\nLAB_000352c7:\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (local_54 + local_48 < pcVar11) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }" { (labeled_statement "LAB_000352c7:\n      local_28 = 0;" statement_identifier : (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;)) (expression_statement "uVar2 = 0xfffe;" (assignment_expression "uVar2 = 0xfffe" identifier = number_literal) ;) (if_statement "if (local_54 + local_48 < pcVar11) goto LAB_000352fb;" if (parenthesized_expression "(local_54 + local_48 < pcVar11)" ( (binary_expression "local_54 + local_48 < pcVar11" (binary_expression "local_54 + local_48" identifier + identifier) < identifier) )) (goto_statement "goto LAB_000352fb;" goto statement_identifier ;)) (labeled_statement "LAB_000354ec:\n      local_34 = 0;" statement_identifier : (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;)) }))))) (if_statement "if (DAT_0007694c - 1U < 0xfffffffe) {\n      iVar7 = 0;\n      piVar10 = (int *)(DAT_00076944 + 0xc);\n      do {\n        if (*piVar10 == local_34 && piVar10[1] == 0) goto LAB_00035321;\n        iVar7 = iVar7 + 1;\n        piVar10 = piVar10 + 0x14;\n      } while (DAT_0007694c != iVar7);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar5 = dcgettext(0,\n                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                        ,5);\n      warn(uVar5,local_34,uVar8);\n    }" if (parenthesized_expression "(DAT_0007694c - 1U < 0xfffffffe)" ( (binary_expression "DAT_0007694c - 1U < 0xfffffffe" (binary_expression "DAT_0007694c - 1U" identifier - number_literal) < number_literal) )) (compound_statement "{\n      iVar7 = 0;\n      piVar10 = (int *)(DAT_00076944 + 0xc);\n      do {\n        if (*piVar10 == local_34 && piVar10[1] == 0) goto LAB_00035321;\n        iVar7 = iVar7 + 1;\n        piVar10 = piVar10 + 0x14;\n      } while (DAT_0007694c != iVar7);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar5 = dcgettext(0,\n                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                        ,5);\n      warn(uVar5,local_34,uVar8);\n    }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "piVar10 = (int *)(DAT_00076944 + 0xc);" (assignment_expression "piVar10 = (int *)(DAT_00076944 + 0xc)" identifier = (cast_expression "(int *)(DAT_00076944 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00076944 + 0xc)" ( (binary_expression "DAT_00076944 + 0xc" identifier + number_literal) )))) ;) (do_statement "do {\n        if (*piVar10 == local_34 && piVar10[1] == 0) goto LAB_00035321;\n        iVar7 = iVar7 + 1;\n        piVar10 = piVar10 + 0x14;\n      } while (DAT_0007694c != iVar7);" do (compound_statement "{\n        if (*piVar10 == local_34 && piVar10[1] == 0) goto LAB_00035321;\n        iVar7 = iVar7 + 1;\n        piVar10 = piVar10 + 0x14;\n      }" { (if_statement "if (*piVar10 == local_34 && piVar10[1] == 0) goto LAB_00035321;" if (parenthesized_expression "(*piVar10 == local_34 && piVar10[1] == 0)" ( (binary_expression "*piVar10 == local_34 && piVar10[1] == 0" (binary_expression "*piVar10 == local_34" (pointer_expression "*piVar10" * identifier) == identifier) && (binary_expression "piVar10[1] == 0" (subscript_expression "piVar10[1]" identifier [ number_literal ]) == number_literal)) )) (goto_statement "goto LAB_00035321;" goto statement_identifier ;)) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "piVar10 = piVar10 + 0x14;" (assignment_expression "piVar10 = piVar10 + 0x14" identifier = (binary_expression "piVar10 + 0x14" identifier + number_literal)) ;) }) while (parenthesized_expression "(DAT_0007694c != iVar7)" ( (binary_expression "DAT_0007694c != iVar7" identifier != identifier) )) ;) (expression_statement "uVar8 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar8 = *(undefined4 *)(param_1 + 8)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = dcgettext(0,\n                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                        ,5);" (assignment_expression "uVar5 = dcgettext(0,\n                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                        ,5)" identifier = (call_expression "dcgettext(0,\n                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                        ,5)" identifier (argument_list "(0,\n                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                        ,5)" ( number_literal , (string_literal "".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar5,local_34,uVar8);" (call_expression "warn(uVar5,local_34,uVar8)" identifier (argument_list "(uVar5,local_34,uVar8)" ( identifier , identifier , identifier ))) ;) })) (labeled_statement "LAB_00035321:\n    local_54 = local_54 + local_48;" statement_identifier : (expression_statement "local_54 = local_54 + local_48;" (assignment_expression "local_54 = local_54 + local_48" identifier = (binary_expression "local_54 + local_48" identifier + identifier)) ;)) (expression_statement "pcVar13 = local_54 + local_48;" (assignment_expression "pcVar13 = local_54 + local_48" identifier = (binary_expression "local_54 + local_48" identifier + identifier)) ;) (expression_statement "iVar7 = local_48;" (assignment_expression "iVar7 = local_48" identifier = identifier) ;) (if_statement "if ((pcVar13 < pcVar11) ||\n       ((local_24 = 0, local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)))) {\n      local_24 = (*DAT_00076b4c)(local_54,iVar7);\n    }" if (parenthesized_expression "((pcVar13 < pcVar11) ||\n       ((local_24 = 0, local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8))))" ( (binary_expression "(pcVar13 < pcVar11) ||\n       ((local_24 = 0, local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)))" (parenthesized_expression "(pcVar13 < pcVar11)" ( (binary_expression "pcVar13 < pcVar11" identifier < identifier) )) || (parenthesized_expression "((local_24 = 0, local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)))" ( (parenthesized_expression "(local_24 = 0, local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8))" ( (comma_expression "local_24 = 0, local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)" (assignment_expression "local_24 = 0" identifier = number_literal) , (binary_expression "local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)" (binary_expression "local_54 < pcVar11" identifier < identifier) && (parenthesized_expression "(iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)" ( (comma_expression "iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8" (assignment_expression "iVar7 = (int)pcVar11 - (int)local_54" identifier = (binary_expression "(int)pcVar11 - (int)local_54" (cast_expression "(int)pcVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "((int)pcVar11 - (int)local_54) - 1U < 8" (binary_expression "((int)pcVar11 - (int)local_54) - 1U" (parenthesized_expression "((int)pcVar11 - (int)local_54)" ( (binary_expression "(int)pcVar11 - (int)local_54" (cast_expression "(int)pcVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal) < number_literal)) )))) )) ))) )) (compound_statement "{\n      local_24 = (*DAT_00076b4c)(local_54,iVar7);\n    }" { (expression_statement "local_24 = (*DAT_00076b4c)(local_54,iVar7);" (assignment_expression "local_24 = (*DAT_00076b4c)(local_54,iVar7)" identifier = (call_expression "(*DAT_00076b4c)(local_54,iVar7)" (parenthesized_expression "(*DAT_00076b4c)" ( (pointer_expression "*DAT_00076b4c" * identifier) )) (argument_list "(local_54,iVar7)" ( identifier , identifier )))) ;) })) (expression_statement "pcVar3 = (char *)dcgettext(0,"  Length:                              %ld\n",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,"  Length:                              %ld\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Length:                              %ld\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Length:                              %ld\n",5)" identifier (argument_list "(0,"  Length:                              %ld\n",5)" ( number_literal , (string_literal ""  Length:                              %ld\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar3,iVar4);" (call_expression "printf(pcVar3,iVar4)" identifier (argument_list "(pcVar3,iVar4)" ( identifier , identifier ))) ;) (expression_statement "pcVar3 = (char *)dcgettext(0,"  Version:                             %d\n",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,"  Version:                             %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Version:                             %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Version:                             %d\n",5)" identifier (argument_list "(0,"  Version:                             %d\n",5)" ( number_literal , (string_literal ""  Version:                             %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar3,local_28);" (call_expression "printf(pcVar3,local_28)" identifier (argument_list "(pcVar3,local_28)" ( identifier , identifier ))) ;) (expression_statement "pcVar3 = (char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5)" identifier (argument_list "(0,"  Offset into .debug_info section:     0x%lx\n",5)" ( number_literal , (string_literal ""  Offset into .debug_info section:     0x%lx\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar3,local_34);" (call_expression "printf(pcVar3,local_34)" identifier (argument_list "(pcVar3,local_34)" ( identifier , identifier ))) ;) (expression_statement "pcVar3 = (char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Size of area in .debug_info section: %ld\n",5)" identifier (argument_list "(0,"  Size of area in .debug_info section: %ld\n",5)" ( number_literal , (string_literal ""  Size of area in .debug_info section: %ld\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar3,local_24);" (call_expression "printf(pcVar3,local_24)" identifier (argument_list "(pcVar3,local_24)" ( identifier , identifier ))) ;) (if_statement "if (uVar2 < 2) {\n      if (param_3 == 0) {\n        pcVar3 = "\n    Offset\tName\n";\n      }\n      else {\n        pcVar3 = "\n    Offset  Kind          Name\n";\n      }\n      pcVar3 = (char *)dcgettext(0,pcVar3,5);\n      printf(pcVar3);\n      do {\n        pcVar3 = pcVar13 + local_48;\n        if (pcVar11 <= pcVar3) {\n          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }\n          break;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,local_48);\n        if (lVar15 == 0) break;\n        iVar4 = (int)pcVar11 - (int)pcVar3;\n        local_54 = (char *)(iVar4 - 1);\n        if (param_3 == 0) {\n          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);\n        }\n        else {\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }\n        sVar6 = strnlen(pcVar3,(size_t)local_54);\n        pcVar13 = pcVar3 + sVar6 + 1;\n      } while (pcVar13 < pcVar11);\n    }\n    else if (DAT_00074224 == 0) {\n      uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n      warn(uVar8);\n      DAT_00074224 = 1;\n    }" if (parenthesized_expression "(uVar2 < 2)" ( (binary_expression "uVar2 < 2" identifier < number_literal) )) (compound_statement "{\n      if (param_3 == 0) {\n        pcVar3 = "\n    Offset\tName\n";\n      }\n      else {\n        pcVar3 = "\n    Offset  Kind          Name\n";\n      }\n      pcVar3 = (char *)dcgettext(0,pcVar3,5);\n      printf(pcVar3);\n      do {\n        pcVar3 = pcVar13 + local_48;\n        if (pcVar11 <= pcVar3) {\n          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }\n          break;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,local_48);\n        if (lVar15 == 0) break;\n        iVar4 = (int)pcVar11 - (int)pcVar3;\n        local_54 = (char *)(iVar4 - 1);\n        if (param_3 == 0) {\n          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);\n        }\n        else {\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }\n        sVar6 = strnlen(pcVar3,(size_t)local_54);\n        pcVar13 = pcVar3 + sVar6 + 1;\n      } while (pcVar13 < pcVar11);\n    }" { (if_statement "if (param_3 == 0) {\n        pcVar3 = "\n    Offset\tName\n";\n      }\n      else {\n        pcVar3 = "\n    Offset  Kind          Name\n";\n      }" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar3 = "\n    Offset\tName\n";\n      }" { (expression_statement "pcVar3 = "\n    Offset\tName\n";" (assignment_expression "pcVar3 = "\n    Offset\tName\n"" identifier = (string_literal ""\n    Offset\tName\n"" " escape_sequence string_content escape_sequence string_content escape_sequence ")) ;) }) (else_clause "else {\n        pcVar3 = "\n    Offset  Kind          Name\n";\n      }" else (compound_statement "{\n        pcVar3 = "\n    Offset  Kind          Name\n";\n      }" { (expression_statement "pcVar3 = "\n    Offset  Kind          Name\n";" (assignment_expression "pcVar3 = "\n    Offset  Kind          Name\n"" identifier = (string_literal ""\n    Offset  Kind          Name\n"" " escape_sequence string_content escape_sequence ")) ;) }))) (expression_statement "pcVar3 = (char *)dcgettext(0,pcVar3,5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,pcVar3,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar3,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar3,5)" identifier (argument_list "(0,pcVar3,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar3);" (call_expression "printf(pcVar3)" identifier (argument_list "(pcVar3)" ( identifier ))) ;) (do_statement "do {\n        pcVar3 = pcVar13 + local_48;\n        if (pcVar11 <= pcVar3) {\n          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }\n          break;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,local_48);\n        if (lVar15 == 0) break;\n        iVar4 = (int)pcVar11 - (int)pcVar3;\n        local_54 = (char *)(iVar4 - 1);\n        if (param_3 == 0) {\n          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);\n        }\n        else {\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }\n        sVar6 = strnlen(pcVar3,(size_t)local_54);\n        pcVar13 = pcVar3 + sVar6 + 1;\n      } while (pcVar13 < pcVar11);" do (compound_statement "{\n        pcVar3 = pcVar13 + local_48;\n        if (pcVar11 <= pcVar3) {\n          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }\n          break;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,local_48);\n        if (lVar15 == 0) break;\n        iVar4 = (int)pcVar11 - (int)pcVar3;\n        local_54 = (char *)(iVar4 - 1);\n        if (param_3 == 0) {\n          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);\n        }\n        else {\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }\n        sVar6 = strnlen(pcVar3,(size_t)local_54);\n        pcVar13 = pcVar3 + sVar6 + 1;\n      }" { (expression_statement "pcVar3 = pcVar13 + local_48;" (assignment_expression "pcVar3 = pcVar13 + local_48" identifier = (binary_expression "pcVar13 + local_48" identifier + identifier)) ;) (if_statement "if (pcVar11 <= pcVar3) {\n          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }\n          break;\n        }" if (parenthesized_expression "(pcVar11 <= pcVar3)" ( (binary_expression "pcVar11 <= pcVar3" identifier <= identifier) )) (compound_statement "{\n          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }\n          break;\n        }" { (if_statement "if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }" if (parenthesized_expression "((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8))" ( (binary_expression "(pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)" (parenthesized_expression "(pcVar13 < pcVar11)" ( (binary_expression "pcVar13 < pcVar11" identifier < identifier) )) && (parenthesized_expression "(((int)pcVar11 - (int)pcVar13) - 1U < 8)" ( (binary_expression "((int)pcVar11 - (int)pcVar13) - 1U < 8" (binary_expression "((int)pcVar11 - (int)pcVar13) - 1U" (parenthesized_expression "((int)pcVar11 - (int)pcVar13)" ( (binary_expression "(int)pcVar11 - (int)pcVar13" (cast_expression "(int)pcVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal) < number_literal) ))) )) (compound_statement "{\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }" { (expression_statement "(*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);" (call_expression "(*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13)" (parenthesized_expression "(*DAT_00076b4c)" ( (pointer_expression "*DAT_00076b4c" * identifier) )) (argument_list "(pcVar13,(int)pcVar11 - (int)pcVar13)" ( identifier , (binary_expression "(int)pcVar11 - (int)pcVar13" (cast_expression "(int)pcVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) })) (break_statement "break;" break ;) })) (expression_statement "lVar15 = (*DAT_00076b4c)(pcVar13,local_48);" (assignment_expression "lVar15 = (*DAT_00076b4c)(pcVar13,local_48)" identifier = (call_expression "(*DAT_00076b4c)(pcVar13,local_48)" (parenthesized_expression "(*DAT_00076b4c)" ( (pointer_expression "*DAT_00076b4c" * identifier) )) (argument_list "(pcVar13,local_48)" ( identifier , identifier )))) ;) (if_statement "if (lVar15 == 0) break;" if (parenthesized_expression "(lVar15 == 0)" ( (binary_expression "lVar15 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = (int)pcVar11 - (int)pcVar3;" (assignment_expression "iVar4 = (int)pcVar11 - (int)pcVar3" identifier = (binary_expression "(int)pcVar11 - (int)pcVar3" (cast_expression "(int)pcVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar3" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "local_54 = (char *)(iVar4 - 1);" (assignment_expression "local_54 = (char *)(iVar4 - 1)" identifier = (cast_expression "(char *)(iVar4 - 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 - 1)" ( (binary_expression "iVar4 - 1" identifier - number_literal) )))) ;) (if_statement "if (param_3 == 0) {\n          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);\n        }\n        else {\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (compound_statement "{\n          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);\n        }" { (expression_statement "printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);" (call_expression "printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3)" identifier (argument_list "("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3)" ( (string_literal ""    %-6lx\t%.*s\n"" " string_content escape_sequence string_content escape_sequence ") , (cast_expression "(int)lVar15" ( (type_descriptor "int" primitive_type) ) identifier) , identifier , identifier ))) ;) }) (else_clause "else {\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }" else (compound_statement "{\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }" { (expression_statement "pcVar13 = pcVar3 + 1;" (assignment_expression "pcVar13 = pcVar3 + 1" identifier = (binary_expression "pcVar3 + 1" identifier + number_literal)) ;) (expression_statement "iVar7 = param_3;" (assignment_expression "iVar7 = param_3" identifier = identifier) ;) (if_statement "if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }" if (parenthesized_expression "((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8))" ( (binary_expression "(pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)" (parenthesized_expression "(pcVar13 < pcVar11)" ( (binary_expression "pcVar13 < pcVar11" identifier < identifier) )) || (parenthesized_expression "(iVar7 = iVar4, local_54 < 8)" ( (comma_expression "iVar7 = iVar4, local_54 < 8" (assignment_expression "iVar7 = iVar4" identifier = identifier) , (binary_expression "local_54 < 8" identifier < number_literal)) ))) )) (compound_statement "{\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }" { (expression_statement "iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);" (assignment_expression "iVar7 = (*DAT_00076b4c)(pcVar3,iVar7)" identifier = (call_expression "(*DAT_00076b4c)(pcVar3,iVar7)" (parenthesized_expression "(*DAT_00076b4c)" ( (pointer_expression "*DAT_00076b4c" * identifier) )) (argument_list "(pcVar3,iVar7)" ( identifier , identifier )))) ;) (expression_statement "uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);" (assignment_expression "uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5)" identifier = (call_expression "dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5)" identifier (argument_list "(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5)" ( number_literal , (pointer_expression "*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4)" * (cast_expression "(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4)" ( (binary_expression "&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4" (pointer_expression "&DAT_000722c0" & identifier) + (binary_expression "((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4" (parenthesized_expression "((uint)(iVar7 << 0x18) >> 0x1c & 7)" ( (binary_expression "(uint)(iVar7 << 0x18) >> 0x1c & 7" (binary_expression "(uint)(iVar7 << 0x18) >> 0x1c" (call_expression "(uint)(iVar7 << 0x18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar7 << 0x18)" ( (binary_expression "iVar7 << 0x18" identifier << number_literal) ))) >> number_literal) & number_literal) )) * number_literal)) )))) , number_literal )))) ;) (if_statement "if (-1 < iVar7 << 0x18) goto LAB_0003565a;" if (parenthesized_expression "(-1 < iVar7 << 0x18)" ( (binary_expression "-1 < iVar7 << 0x18" number_literal < (binary_expression "iVar7 << 0x18" identifier << number_literal)) )) (goto_statement "goto LAB_0003565a;" goto statement_identifier ;)) (expression_statement "uVar5 = dcgettext(0,"s",5);" (assignment_expression "uVar5 = dcgettext(0,"s",5)" identifier = (call_expression "dcgettext(0,"s",5)" identifier (argument_list "(0,"s",5)" ( number_literal , (string_literal ""s"" " string_content ") , number_literal )))) ;) }) (else_clause "else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }" else (compound_statement "{\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }" { (expression_statement "uVar8 = dcgettext(0,"no info",5);" (assignment_expression "uVar8 = dcgettext(0,"no info",5)" identifier = (call_expression "dcgettext(0,"no info",5)" identifier (argument_list "(0,"no info",5)" ( number_literal , (string_literal ""no info"" " string_content ") , number_literal )))) ;) (labeled_statement "LAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);" statement_identifier : (expression_statement "uVar5 = dcgettext(0,"g",5);" (assignment_expression "uVar5 = dcgettext(0,"g",5)" identifier = (call_expression "dcgettext(0,"g",5)" identifier (argument_list "(0,"g",5)" ( number_literal , (string_literal ""g"" " string_content ") , number_literal )))) ;)) }))) (expression_statement "printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);" (call_expression "printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13)" identifier (argument_list "("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13)" ( (string_literal ""    %-6lx  %s,%-10s  %.*s\n"" " string_content escape_sequence ") , (cast_expression "(int)lVar15" ( (type_descriptor "int" primitive_type) ) identifier) , identifier , identifier , (binary_expression "iVar4 - 2U" identifier - number_literal) , identifier ))) ;) (expression_statement "pcVar3 = pcVar13;" (assignment_expression "pcVar3 = pcVar13" identifier = identifier) ;) (expression_statement "local_54 = (char *)(iVar4 - 2U);" (assignment_expression "local_54 = (char *)(iVar4 - 2U)" identifier = (cast_expression "(char *)(iVar4 - 2U)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 - 2U)" ( (binary_expression "iVar4 - 2U" identifier - number_literal) )))) ;) }))) (expression_statement "sVar6 = strnlen(pcVar3,(size_t)local_54);" (assignment_expression "sVar6 = strnlen(pcVar3,(size_t)local_54)" identifier = (call_expression "strnlen(pcVar3,(size_t)local_54)" identifier (argument_list "(pcVar3,(size_t)local_54)" ( identifier , (cast_expression "(size_t)local_54" ( (type_descriptor "size_t" primitive_type) ) identifier) )))) ;) (expression_statement "pcVar13 = pcVar3 + sVar6 + 1;" (assignment_expression "pcVar13 = pcVar3 + sVar6 + 1" identifier = (binary_expression "pcVar3 + sVar6 + 1" (binary_expression "pcVar3 + sVar6" identifier + identifier) + number_literal)) ;) }) while (parenthesized_expression "(pcVar13 < pcVar11)" ( (binary_expression "pcVar13 < pcVar11" identifier < identifier) )) ;) }) (else_clause "else if (DAT_00074224 == 0) {\n      uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n      warn(uVar8);\n      DAT_00074224 = 1;\n    }" else (if_statement "if (DAT_00074224 == 0) {\n      uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n      warn(uVar8);\n      DAT_00074224 = 1;\n    }" if (parenthesized_expression "(DAT_00074224 == 0)" ( (binary_expression "DAT_00074224 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n      warn(uVar8);\n      DAT_00074224 = 1;\n    }" { (expression_statement "uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);" (assignment_expression "uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5)" identifier = (call_expression "dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5)" identifier (argument_list "(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5)" ( number_literal , (string_literal ""Only DWARF 2 and 3 pubnames are currently supported\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar8);" (call_expression "warn(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;) (expression_statement "DAT_00074224 = 1;" (assignment_expression "DAT_00074224 = 1" identifier = number_literal) ;) })))) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;)) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) , (binary_expression LIT < (binary_expression IDENT - LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) ))) <= (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression IDENT - IDENT) , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) || (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) ))))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) - LIT)) )) (goto_statement goto statement_identifier ;)) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) < IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }))))) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * IDENT) == IDENT) && (binary_expression (subscript_expression IDENT [ LIT ]) == LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (binary_expression IDENT < IDENT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) , (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) - LIT) < LIT)) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " escape_sequence string_content escape_sequence string_content escape_sequence ")) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " escape_sequence string_content escape_sequence ")) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , IDENT , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) - LIT) < LIT) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ;) })) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT - LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence ") , (cast_expression ( (type_descriptor TYPE) ) IDENT) , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT < LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT << LIT) ))) >> LIT) & LIT) )) * LIT)) )))) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT << LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;)) }))) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , (cast_expression ( (type_descriptor TYPE) ) IDENT) , IDENT , IDENT , (binary_expression IDENT - LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT - LIT) )))) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + 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 = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })))) }) while (parenthesized_expression ( BOOL )) ;) })))
(function_definition "undefined4 __regparm3 FUN_000351f0(int param_1,undefined4 param_2,int param_3)\n\n{\n  ulonglong uVar1;\n  ushort uVar2;\n  char *pcVar3;\n  int iVar4;\n  undefined4 uVar5;\n  size_t sVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  int *piVar10;\n  char *pcVar11;\n  uint uVar12;\n  char *pcVar13;\n  char *pcVar14;\n  longlong lVar15;\n  char *local_54;\n  uint local_50;\n  int local_48;\n  int local_34;\n  uint local_28;\n  undefined4 local_24;\n  \n  pcVar14 = *(char **)(param_1 + 0x10);\n  pcVar11 = pcVar14 + *(int *)(param_1 + 0x1c);\n  FUN_00032500();\n  FUN_0001ec20();\n  do {\n    if (pcVar11 <= pcVar14) {\nLAB_00035816:\n      putchar(10);\n      return 1;\n    }\n    pcVar13 = pcVar14 + 4;\n    if (pcVar13 < pcVar11) {\n      iVar4 = 4;\nLAB_0003540f:\n      lVar15 = (*DAT_00076b4c)(pcVar14,iVar4);\n      if (lVar15 == 0xffffffff) {\n        pcVar14 = pcVar14 + 0xc;\n        if (pcVar14 < pcVar11) {\n          iVar4 = 8;\n        }\n        else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,iVar4);\n        local_34 = 0xc;\n        local_48 = 8;\n        pcVar13 = pcVar14;\n      }\n      else {\n        local_34 = 4;\n        local_48 = 4;\n      }\n      iVar4 = (int)lVar15;\n      uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n      uVar1 = lVar15 + (ulonglong)uVar12;\n      if ((uint)((uint)uVar1 < uVar12) <= (uint)(uVar1 >> 0x20)) goto LAB_0003527f;\nLAB_000357ce:\n      uVar5 = FUN_0001cbf0(0);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar9 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar9,uVar8,uVar12 - local_34,uVar5);\n      goto LAB_00035816;\n    }\n    iVar4 = (int)pcVar11 - (int)pcVar14;\n    if (iVar4 - 1U < 8) goto LAB_0003540f;\n    local_34 = 4;\n    local_48 = 4;\nLAB_00035266:\n    iVar4 = 0;\n    uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n    uVar1 = (ulonglong)uVar12;\nLAB_0003527f:\n    local_50 = (uint)(uVar1 >> 0x20);\n    local_54 = (char *)uVar1;\n    if (*(uint *)(param_1 + 0x20) < local_50 ||\n        *(uint *)(param_1 + 0x20) - local_50 < (uint)(*(uint *)(param_1 + 0x1c) < local_54))\n    goto LAB_000357ce;\n    pcVar14 = pcVar13 + iVar4;\n    local_54 = pcVar13 + 2;\n    iVar7 = local_48;\n    if (local_54 < pcVar11) {\n      uVar2 = (*DAT_00076b4c)(pcVar13,2);\n      if (local_54 + local_48 < pcVar11) {\nLAB_00035730:\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n      }\n      else {\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n        iVar7 = (int)pcVar11 - (int)local_54;\n        if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;\n      }\nLAB_000352fb:\n      local_34 = (*DAT_00076b4c)(local_54,iVar7);\n    }\n    else if (pcVar13 < pcVar11) {\n      uVar12 = ((int)pcVar11 - (int)pcVar13) - 1;\n      if (7 < uVar12) goto LAB_000352c7;\n      uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12);\n      if (local_54 + local_48 < pcVar11) goto LAB_00035730;\n      local_28 = (uint)uVar2;\n      uVar2 = uVar2 - 2;\n      local_34 = 0;\n    }\n    else {\nLAB_000352c7:\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (local_54 + local_48 < pcVar11) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }\n    if (DAT_0007694c - 1U < 0xfffffffe) {\n      iVar7 = 0;\n      piVar10 = (int *)(DAT_00076944 + 0xc);\n      do {\n        if (*piVar10 == local_34 && piVar10[1] == 0) goto LAB_00035321;\n        iVar7 = iVar7 + 1;\n        piVar10 = piVar10 + 0x14;\n      } while (DAT_0007694c != iVar7);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar5 = dcgettext(0,\n                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                        ,5);\n      warn(uVar5,local_34,uVar8);\n    }\nLAB_00035321:\n    local_54 = local_54 + local_48;\n    pcVar13 = local_54 + local_48;\n    iVar7 = local_48;\n    if ((pcVar13 < pcVar11) ||\n       ((local_24 = 0, local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)))) {\n      local_24 = (*DAT_00076b4c)(local_54,iVar7);\n    }\n    pcVar3 = (char *)dcgettext(0,"  Length:                              %ld\n",5);\n    printf(pcVar3,iVar4);\n    pcVar3 = (char *)dcgettext(0,"  Version:                             %d\n",5);\n    printf(pcVar3,local_28);\n    pcVar3 = (char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5);\n    printf(pcVar3,local_34);\n    pcVar3 = (char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5);\n    printf(pcVar3,local_24);\n    if (uVar2 < 2) {\n      if (param_3 == 0) {\n        pcVar3 = "\n    Offset\tName\n";\n      }\n      else {\n        pcVar3 = "\n    Offset  Kind          Name\n";\n      }\n      pcVar3 = (char *)dcgettext(0,pcVar3,5);\n      printf(pcVar3);\n      do {\n        pcVar3 = pcVar13 + local_48;\n        if (pcVar11 <= pcVar3) {\n          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }\n          break;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,local_48);\n        if (lVar15 == 0) break;\n        iVar4 = (int)pcVar11 - (int)pcVar3;\n        local_54 = (char *)(iVar4 - 1);\n        if (param_3 == 0) {\n          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);\n        }\n        else {\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }\n        sVar6 = strnlen(pcVar3,(size_t)local_54);\n        pcVar13 = pcVar3 + sVar6 + 1;\n      } while (pcVar13 < pcVar11);\n    }\n    else if (DAT_00074224 == 0) {\n      uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n      warn(uVar8);\n      DAT_00074224 = 1;\n    }\n  } while( true );\n}" (type_identifier "undefined4") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_000351f0(int param_1,undefined4 param_2,int param_3)" (identifier "FUN_000351f0") (parameter_list "(int param_1,undefined4 param_2,int param_3)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) () ")"))) (compound_statement "{\n  ulonglong uVar1;\n  ushort uVar2;\n  char *pcVar3;\n  int iVar4;\n  undefined4 uVar5;\n  size_t sVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  int *piVar10;\n  char *pcVar11;\n  uint uVar12;\n  char *pcVar13;\n  char *pcVar14;\n  longlong lVar15;\n  char *local_54;\n  uint local_50;\n  int local_48;\n  int local_34;\n  uint local_28;\n  undefined4 local_24;\n  \n  pcVar14 = *(char **)(param_1 + 0x10);\n  pcVar11 = pcVar14 + *(int *)(param_1 + 0x1c);\n  FUN_00032500();\n  FUN_0001ec20();\n  do {\n    if (pcVar11 <= pcVar14) {\nLAB_00035816:\n      putchar(10);\n      return 1;\n    }\n    pcVar13 = pcVar14 + 4;\n    if (pcVar13 < pcVar11) {\n      iVar4 = 4;\nLAB_0003540f:\n      lVar15 = (*DAT_00076b4c)(pcVar14,iVar4);\n      if (lVar15 == 0xffffffff) {\n        pcVar14 = pcVar14 + 0xc;\n        if (pcVar14 < pcVar11) {\n          iVar4 = 8;\n        }\n        else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,iVar4);\n        local_34 = 0xc;\n        local_48 = 8;\n        pcVar13 = pcVar14;\n      }\n      else {\n        local_34 = 4;\n        local_48 = 4;\n      }\n      iVar4 = (int)lVar15;\n      uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n      uVar1 = lVar15 + (ulonglong)uVar12;\n      if ((uint)((uint)uVar1 < uVar12) <= (uint)(uVar1 >> 0x20)) goto LAB_0003527f;\nLAB_000357ce:\n      uVar5 = FUN_0001cbf0(0);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar9 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar9,uVar8,uVar12 - local_34,uVar5);\n      goto LAB_00035816;\n    }\n    iVar4 = (int)pcVar11 - (int)pcVar14;\n    if (iVar4 - 1U < 8) goto LAB_0003540f;\n    local_34 = 4;\n    local_48 = 4;\nLAB_00035266:\n    iVar4 = 0;\n    uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n    uVar1 = (ulonglong)uVar12;\nLAB_0003527f:\n    local_50 = (uint)(uVar1 >> 0x20);\n    local_54 = (char *)uVar1;\n    if (*(uint *)(param_1 + 0x20) < local_50 ||\n        *(uint *)(param_1 + 0x20) - local_50 < (uint)(*(uint *)(param_1 + 0x1c) < local_54))\n    goto LAB_000357ce;\n    pcVar14 = pcVar13 + iVar4;\n    local_54 = pcVar13 + 2;\n    iVar7 = local_48;\n    if (local_54 < pcVar11) {\n      uVar2 = (*DAT_00076b4c)(pcVar13,2);\n      if (local_54 + local_48 < pcVar11) {\nLAB_00035730:\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n      }\n      else {\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n        iVar7 = (int)pcVar11 - (int)local_54;\n        if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;\n      }\nLAB_000352fb:\n      local_34 = (*DAT_00076b4c)(local_54,iVar7);\n    }\n    else if (pcVar13 < pcVar11) {\n      uVar12 = ((int)pcVar11 - (int)pcVar13) - 1;\n      if (7 < uVar12) goto LAB_000352c7;\n      uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12);\n      if (local_54 + local_48 < pcVar11) goto LAB_00035730;\n      local_28 = (uint)uVar2;\n      uVar2 = uVar2 - 2;\n      local_34 = 0;\n    }\n    else {\nLAB_000352c7:\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (local_54 + local_48 < pcVar11) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }\n    if (DAT_0007694c - 1U < 0xfffffffe) {\n      iVar7 = 0;\n      piVar10 = (int *)(DAT_00076944 + 0xc);\n      do {\n        if (*piVar10 == local_34 && piVar10[1] == 0) goto LAB_00035321;\n        iVar7 = iVar7 + 1;\n        piVar10 = piVar10 + 0x14;\n      } while (DAT_0007694c != iVar7);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar5 = dcgettext(0,\n                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                        ,5);\n      warn(uVar5,local_34,uVar8);\n    }\nLAB_00035321:\n    local_54 = local_54 + local_48;\n    pcVar13 = local_54 + local_48;\n    iVar7 = local_48;\n    if ((pcVar13 < pcVar11) ||\n       ((local_24 = 0, local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)))) {\n      local_24 = (*DAT_00076b4c)(local_54,iVar7);\n    }\n    pcVar3 = (char *)dcgettext(0,"  Length:                              %ld\n",5);\n    printf(pcVar3,iVar4);\n    pcVar3 = (char *)dcgettext(0,"  Version:                             %d\n",5);\n    printf(pcVar3,local_28);\n    pcVar3 = (char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5);\n    printf(pcVar3,local_34);\n    pcVar3 = (char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5);\n    printf(pcVar3,local_24);\n    if (uVar2 < 2) {\n      if (param_3 == 0) {\n        pcVar3 = "\n    Offset\tName\n";\n      }\n      else {\n        pcVar3 = "\n    Offset  Kind          Name\n";\n      }\n      pcVar3 = (char *)dcgettext(0,pcVar3,5);\n      printf(pcVar3);\n      do {\n        pcVar3 = pcVar13 + local_48;\n        if (pcVar11 <= pcVar3) {\n          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }\n          break;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,local_48);\n        if (lVar15 == 0) break;\n        iVar4 = (int)pcVar11 - (int)pcVar3;\n        local_54 = (char *)(iVar4 - 1);\n        if (param_3 == 0) {\n          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);\n        }\n        else {\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }\n        sVar6 = strnlen(pcVar3,(size_t)local_54);\n        pcVar13 = pcVar3 + sVar6 + 1;\n      } while (pcVar13 < pcVar11);\n    }\n    else if (DAT_00074224 == 0) {\n      uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n      warn(uVar8);\n      DAT_00074224 = 1;\n    }\n  } while( true );\n}" ({ "{") (declaration "ulonglong uVar1;" (type_identifier "ulonglong") (identifier "uVar1") (; ";")) (declaration "ushort uVar2;" (type_identifier "ushort") (identifier "uVar2") (; ";")) (declaration "char *pcVar3;" (primitive_type "char") (pointer_declarator "*pcVar3" (* "*") (identifier "pcVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "size_t sVar6;" (primitive_type "size_t") (identifier "sVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "int *piVar10;" (primitive_type "int") (pointer_declarator "*piVar10" (* "*") (identifier "piVar10")) (; ";")) (declaration "char *pcVar11;" (primitive_type "char") (pointer_declarator "*pcVar11" (* "*") (identifier "pcVar11")) (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "char *pcVar13;" (primitive_type "char") (pointer_declarator "*pcVar13" (* "*") (identifier "pcVar13")) (; ";")) (declaration "char *pcVar14;" (primitive_type "char") (pointer_declarator "*pcVar14" (* "*") (identifier "pcVar14")) (; ";")) (declaration "longlong lVar15;" (type_identifier "longlong") (identifier "lVar15") (; ";")) (declaration "char *local_54;" (primitive_type "char") (pointer_declarator "*local_54" (* "*") (identifier "local_54")) (; ";")) (declaration "uint local_50;" (type_identifier "uint") (identifier "local_50") (; ";")) (declaration "int local_48;" (primitive_type "int") (identifier "local_48") (; ";")) (declaration "int local_34;" (primitive_type "int") (identifier "local_34") (; ";")) (declaration "uint local_28;" (type_identifier "uint") (identifier "local_28") (; ";")) (declaration "undefined4 local_24;" (type_identifier "undefined4") (identifier "local_24") (; ";")) (expression_statement "pcVar14 = *(char **)(param_1 + 0x10);" (assignment_expression "pcVar14 = *(char **)(param_1 + 0x10)" (identifier "pcVar14") (= "=") (pointer_expression "*(char **)(param_1 + 0x10)" (* "*") (cast_expression "(char **)(param_1 + 0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "pcVar11 = pcVar14 + *(int *)(param_1 + 0x1c);" (assignment_expression "pcVar11 = pcVar14 + *(int *)(param_1 + 0x1c)" (identifier "pcVar11") (= "=") (binary_expression "pcVar14 + *(int *)(param_1 + 0x1c)" (identifier "pcVar14") (+ "+") (pointer_expression "*(int *)(param_1 + 0x1c)" (* "*") (cast_expression "(int *)(param_1 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")")))))) (; ";")) (expression_statement "FUN_00032500();" (call_expression "FUN_00032500()" (identifier "FUN_00032500") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001ec20();" (call_expression "FUN_0001ec20()" (identifier "FUN_0001ec20") (argument_list "()" (( "(") () ")"))) (; ";")) (do_statement "do {\n    if (pcVar11 <= pcVar14) {\nLAB_00035816:\n      putchar(10);\n      return 1;\n    }\n    pcVar13 = pcVar14 + 4;\n    if (pcVar13 < pcVar11) {\n      iVar4 = 4;\nLAB_0003540f:\n      lVar15 = (*DAT_00076b4c)(pcVar14,iVar4);\n      if (lVar15 == 0xffffffff) {\n        pcVar14 = pcVar14 + 0xc;\n        if (pcVar14 < pcVar11) {\n          iVar4 = 8;\n        }\n        else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,iVar4);\n        local_34 = 0xc;\n        local_48 = 8;\n        pcVar13 = pcVar14;\n      }\n      else {\n        local_34 = 4;\n        local_48 = 4;\n      }\n      iVar4 = (int)lVar15;\n      uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n      uVar1 = lVar15 + (ulonglong)uVar12;\n      if ((uint)((uint)uVar1 < uVar12) <= (uint)(uVar1 >> 0x20)) goto LAB_0003527f;\nLAB_000357ce:\n      uVar5 = FUN_0001cbf0(0);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar9 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar9,uVar8,uVar12 - local_34,uVar5);\n      goto LAB_00035816;\n    }\n    iVar4 = (int)pcVar11 - (int)pcVar14;\n    if (iVar4 - 1U < 8) goto LAB_0003540f;\n    local_34 = 4;\n    local_48 = 4;\nLAB_00035266:\n    iVar4 = 0;\n    uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n    uVar1 = (ulonglong)uVar12;\nLAB_0003527f:\n    local_50 = (uint)(uVar1 >> 0x20);\n    local_54 = (char *)uVar1;\n    if (*(uint *)(param_1 + 0x20) < local_50 ||\n        *(uint *)(param_1 + 0x20) - local_50 < (uint)(*(uint *)(param_1 + 0x1c) < local_54))\n    goto LAB_000357ce;\n    pcVar14 = pcVar13 + iVar4;\n    local_54 = pcVar13 + 2;\n    iVar7 = local_48;\n    if (local_54 < pcVar11) {\n      uVar2 = (*DAT_00076b4c)(pcVar13,2);\n      if (local_54 + local_48 < pcVar11) {\nLAB_00035730:\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n      }\n      else {\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n        iVar7 = (int)pcVar11 - (int)local_54;\n        if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;\n      }\nLAB_000352fb:\n      local_34 = (*DAT_00076b4c)(local_54,iVar7);\n    }\n    else if (pcVar13 < pcVar11) {\n      uVar12 = ((int)pcVar11 - (int)pcVar13) - 1;\n      if (7 < uVar12) goto LAB_000352c7;\n      uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12);\n      if (local_54 + local_48 < pcVar11) goto LAB_00035730;\n      local_28 = (uint)uVar2;\n      uVar2 = uVar2 - 2;\n      local_34 = 0;\n    }\n    else {\nLAB_000352c7:\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (local_54 + local_48 < pcVar11) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }\n    if (DAT_0007694c - 1U < 0xfffffffe) {\n      iVar7 = 0;\n      piVar10 = (int *)(DAT_00076944 + 0xc);\n      do {\n        if (*piVar10 == local_34 && piVar10[1] == 0) goto LAB_00035321;\n        iVar7 = iVar7 + 1;\n        piVar10 = piVar10 + 0x14;\n      } while (DAT_0007694c != iVar7);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar5 = dcgettext(0,\n                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                        ,5);\n      warn(uVar5,local_34,uVar8);\n    }\nLAB_00035321:\n    local_54 = local_54 + local_48;\n    pcVar13 = local_54 + local_48;\n    iVar7 = local_48;\n    if ((pcVar13 < pcVar11) ||\n       ((local_24 = 0, local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)))) {\n      local_24 = (*DAT_00076b4c)(local_54,iVar7);\n    }\n    pcVar3 = (char *)dcgettext(0,"  Length:                              %ld\n",5);\n    printf(pcVar3,iVar4);\n    pcVar3 = (char *)dcgettext(0,"  Version:                             %d\n",5);\n    printf(pcVar3,local_28);\n    pcVar3 = (char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5);\n    printf(pcVar3,local_34);\n    pcVar3 = (char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5);\n    printf(pcVar3,local_24);\n    if (uVar2 < 2) {\n      if (param_3 == 0) {\n        pcVar3 = "\n    Offset\tName\n";\n      }\n      else {\n        pcVar3 = "\n    Offset  Kind          Name\n";\n      }\n      pcVar3 = (char *)dcgettext(0,pcVar3,5);\n      printf(pcVar3);\n      do {\n        pcVar3 = pcVar13 + local_48;\n        if (pcVar11 <= pcVar3) {\n          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }\n          break;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,local_48);\n        if (lVar15 == 0) break;\n        iVar4 = (int)pcVar11 - (int)pcVar3;\n        local_54 = (char *)(iVar4 - 1);\n        if (param_3 == 0) {\n          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);\n        }\n        else {\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }\n        sVar6 = strnlen(pcVar3,(size_t)local_54);\n        pcVar13 = pcVar3 + sVar6 + 1;\n      } while (pcVar13 < pcVar11);\n    }\n    else if (DAT_00074224 == 0) {\n      uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n      warn(uVar8);\n      DAT_00074224 = 1;\n    }\n  } while( true );" (do "do") (compound_statement "{\n    if (pcVar11 <= pcVar14) {\nLAB_00035816:\n      putchar(10);\n      return 1;\n    }\n    pcVar13 = pcVar14 + 4;\n    if (pcVar13 < pcVar11) {\n      iVar4 = 4;\nLAB_0003540f:\n      lVar15 = (*DAT_00076b4c)(pcVar14,iVar4);\n      if (lVar15 == 0xffffffff) {\n        pcVar14 = pcVar14 + 0xc;\n        if (pcVar14 < pcVar11) {\n          iVar4 = 8;\n        }\n        else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,iVar4);\n        local_34 = 0xc;\n        local_48 = 8;\n        pcVar13 = pcVar14;\n      }\n      else {\n        local_34 = 4;\n        local_48 = 4;\n      }\n      iVar4 = (int)lVar15;\n      uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n      uVar1 = lVar15 + (ulonglong)uVar12;\n      if ((uint)((uint)uVar1 < uVar12) <= (uint)(uVar1 >> 0x20)) goto LAB_0003527f;\nLAB_000357ce:\n      uVar5 = FUN_0001cbf0(0);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar9 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar9,uVar8,uVar12 - local_34,uVar5);\n      goto LAB_00035816;\n    }\n    iVar4 = (int)pcVar11 - (int)pcVar14;\n    if (iVar4 - 1U < 8) goto LAB_0003540f;\n    local_34 = 4;\n    local_48 = 4;\nLAB_00035266:\n    iVar4 = 0;\n    uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n    uVar1 = (ulonglong)uVar12;\nLAB_0003527f:\n    local_50 = (uint)(uVar1 >> 0x20);\n    local_54 = (char *)uVar1;\n    if (*(uint *)(param_1 + 0x20) < local_50 ||\n        *(uint *)(param_1 + 0x20) - local_50 < (uint)(*(uint *)(param_1 + 0x1c) < local_54))\n    goto LAB_000357ce;\n    pcVar14 = pcVar13 + iVar4;\n    local_54 = pcVar13 + 2;\n    iVar7 = local_48;\n    if (local_54 < pcVar11) {\n      uVar2 = (*DAT_00076b4c)(pcVar13,2);\n      if (local_54 + local_48 < pcVar11) {\nLAB_00035730:\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n      }\n      else {\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n        iVar7 = (int)pcVar11 - (int)local_54;\n        if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;\n      }\nLAB_000352fb:\n      local_34 = (*DAT_00076b4c)(local_54,iVar7);\n    }\n    else if (pcVar13 < pcVar11) {\n      uVar12 = ((int)pcVar11 - (int)pcVar13) - 1;\n      if (7 < uVar12) goto LAB_000352c7;\n      uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12);\n      if (local_54 + local_48 < pcVar11) goto LAB_00035730;\n      local_28 = (uint)uVar2;\n      uVar2 = uVar2 - 2;\n      local_34 = 0;\n    }\n    else {\nLAB_000352c7:\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (local_54 + local_48 < pcVar11) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }\n    if (DAT_0007694c - 1U < 0xfffffffe) {\n      iVar7 = 0;\n      piVar10 = (int *)(DAT_00076944 + 0xc);\n      do {\n        if (*piVar10 == local_34 && piVar10[1] == 0) goto LAB_00035321;\n        iVar7 = iVar7 + 1;\n        piVar10 = piVar10 + 0x14;\n      } while (DAT_0007694c != iVar7);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar5 = dcgettext(0,\n                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                        ,5);\n      warn(uVar5,local_34,uVar8);\n    }\nLAB_00035321:\n    local_54 = local_54 + local_48;\n    pcVar13 = local_54 + local_48;\n    iVar7 = local_48;\n    if ((pcVar13 < pcVar11) ||\n       ((local_24 = 0, local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)))) {\n      local_24 = (*DAT_00076b4c)(local_54,iVar7);\n    }\n    pcVar3 = (char *)dcgettext(0,"  Length:                              %ld\n",5);\n    printf(pcVar3,iVar4);\n    pcVar3 = (char *)dcgettext(0,"  Version:                             %d\n",5);\n    printf(pcVar3,local_28);\n    pcVar3 = (char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5);\n    printf(pcVar3,local_34);\n    pcVar3 = (char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5);\n    printf(pcVar3,local_24);\n    if (uVar2 < 2) {\n      if (param_3 == 0) {\n        pcVar3 = "\n    Offset\tName\n";\n      }\n      else {\n        pcVar3 = "\n    Offset  Kind          Name\n";\n      }\n      pcVar3 = (char *)dcgettext(0,pcVar3,5);\n      printf(pcVar3);\n      do {\n        pcVar3 = pcVar13 + local_48;\n        if (pcVar11 <= pcVar3) {\n          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }\n          break;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,local_48);\n        if (lVar15 == 0) break;\n        iVar4 = (int)pcVar11 - (int)pcVar3;\n        local_54 = (char *)(iVar4 - 1);\n        if (param_3 == 0) {\n          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);\n        }\n        else {\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }\n        sVar6 = strnlen(pcVar3,(size_t)local_54);\n        pcVar13 = pcVar3 + sVar6 + 1;\n      } while (pcVar13 < pcVar11);\n    }\n    else if (DAT_00074224 == 0) {\n      uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n      warn(uVar8);\n      DAT_00074224 = 1;\n    }\n  }" ({ "{") (if_statement "if (pcVar11 <= pcVar14) {\nLAB_00035816:\n      putchar(10);\n      return 1;\n    }" (if "if") (parenthesized_expression "(pcVar11 <= pcVar14)" (( "(") (binary_expression "pcVar11 <= pcVar14" (identifier "pcVar11") (<= "<=") (identifier "pcVar14")) () ")")) (compound_statement "{\nLAB_00035816:\n      putchar(10);\n      return 1;\n    }" ({ "{") (labeled_statement "LAB_00035816:\n      putchar(10);" (statement_identifier "LAB_00035816") (: ":") (expression_statement "putchar(10);" (call_expression "putchar(10)" (identifier "putchar") (argument_list "(10)" (( "(") (number_literal "10") () ")"))) (; ";"))) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "pcVar13 = pcVar14 + 4;" (assignment_expression "pcVar13 = pcVar14 + 4" (identifier "pcVar13") (= "=") (binary_expression "pcVar14 + 4" (identifier "pcVar14") (+ "+") (number_literal "4"))) (; ";")) (if_statement "if (pcVar13 < pcVar11) {\n      iVar4 = 4;\nLAB_0003540f:\n      lVar15 = (*DAT_00076b4c)(pcVar14,iVar4);\n      if (lVar15 == 0xffffffff) {\n        pcVar14 = pcVar14 + 0xc;\n        if (pcVar14 < pcVar11) {\n          iVar4 = 8;\n        }\n        else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,iVar4);\n        local_34 = 0xc;\n        local_48 = 8;\n        pcVar13 = pcVar14;\n      }\n      else {\n        local_34 = 4;\n        local_48 = 4;\n      }\n      iVar4 = (int)lVar15;\n      uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n      uVar1 = lVar15 + (ulonglong)uVar12;\n      if ((uint)((uint)uVar1 < uVar12) <= (uint)(uVar1 >> 0x20)) goto LAB_0003527f;\nLAB_000357ce:\n      uVar5 = FUN_0001cbf0(0);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar9 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar9,uVar8,uVar12 - local_34,uVar5);\n      goto LAB_00035816;\n    }" (if "if") (parenthesized_expression "(pcVar13 < pcVar11)" (( "(") (binary_expression "pcVar13 < pcVar11" (identifier "pcVar13") (< "<") (identifier "pcVar11")) () ")")) (compound_statement "{\n      iVar4 = 4;\nLAB_0003540f:\n      lVar15 = (*DAT_00076b4c)(pcVar14,iVar4);\n      if (lVar15 == 0xffffffff) {\n        pcVar14 = pcVar14 + 0xc;\n        if (pcVar14 < pcVar11) {\n          iVar4 = 8;\n        }\n        else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,iVar4);\n        local_34 = 0xc;\n        local_48 = 8;\n        pcVar13 = pcVar14;\n      }\n      else {\n        local_34 = 4;\n        local_48 = 4;\n      }\n      iVar4 = (int)lVar15;\n      uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);\n      uVar1 = lVar15 + (ulonglong)uVar12;\n      if ((uint)((uint)uVar1 < uVar12) <= (uint)(uVar1 >> 0x20)) goto LAB_0003527f;\nLAB_000357ce:\n      uVar5 = FUN_0001cbf0(0);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar9 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);\n      warn(uVar9,uVar8,uVar12 - local_34,uVar5);\n      goto LAB_00035816;\n    }" ({ "{") (expression_statement "iVar4 = 4;" (assignment_expression "iVar4 = 4" (identifier "iVar4") (= "=") (number_literal "4")) (; ";")) (labeled_statement "LAB_0003540f:\n      lVar15 = (*DAT_00076b4c)(pcVar14,iVar4);" (statement_identifier "LAB_0003540f") (: ":") (expression_statement "lVar15 = (*DAT_00076b4c)(pcVar14,iVar4);" (assignment_expression "lVar15 = (*DAT_00076b4c)(pcVar14,iVar4)" (identifier "lVar15") (= "=") (call_expression "(*DAT_00076b4c)(pcVar14,iVar4)" (parenthesized_expression "(*DAT_00076b4c)" (( "(") (pointer_expression "*DAT_00076b4c" (* "*") (identifier "DAT_00076b4c")) () ")")) (argument_list "(pcVar14,iVar4)" (( "(") (identifier "pcVar14") (, ",") (identifier "iVar4") () ")")))) (; ";"))) (if_statement "if (lVar15 == 0xffffffff) {\n        pcVar14 = pcVar14 + 0xc;\n        if (pcVar14 < pcVar11) {\n          iVar4 = 8;\n        }\n        else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,iVar4);\n        local_34 = 0xc;\n        local_48 = 8;\n        pcVar13 = pcVar14;\n      }\n      else {\n        local_34 = 4;\n        local_48 = 4;\n      }" (if "if") (parenthesized_expression "(lVar15 == 0xffffffff)" (( "(") (binary_expression "lVar15 == 0xffffffff" (identifier "lVar15") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n        pcVar14 = pcVar14 + 0xc;\n        if (pcVar14 < pcVar11) {\n          iVar4 = 8;\n        }\n        else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,iVar4);\n        local_34 = 0xc;\n        local_48 = 8;\n        pcVar13 = pcVar14;\n      }" ({ "{") (expression_statement "pcVar14 = pcVar14 + 0xc;" (assignment_expression "pcVar14 = pcVar14 + 0xc" (identifier "pcVar14") (= "=") (binary_expression "pcVar14 + 0xc" (identifier "pcVar14") (+ "+") (number_literal "0xc"))) (; ";")) (if_statement "if (pcVar14 < pcVar11) {\n          iVar4 = 8;\n        }\n        else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }" (if "if") (parenthesized_expression "(pcVar14 < pcVar11)" (( "(") (binary_expression "pcVar14 < pcVar11" (identifier "pcVar14") (< "<") (identifier "pcVar11")) () ")")) (compound_statement "{\n          iVar4 = 8;\n        }" ({ "{") (expression_statement "iVar4 = 8;" (assignment_expression "iVar4 = 8" (identifier "iVar4") (= "=") (number_literal "8")) (; ";")) (} "}")) (else_clause "else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }" (else "else") (if_statement "if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }" (if "if") (parenthesized_expression "((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U))" (( "(") (binary_expression "(pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)" (parenthesized_expression "(pcVar11 <= pcVar13)" (( "(") (binary_expression "pcVar11 <= pcVar13" (identifier "pcVar11") (<= "<=") (identifier "pcVar13")) () ")")) (|| "||") (parenthesized_expression "(iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)" (( "(") (comma_expression "iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U" (assignment_expression "iVar4 = (int)pcVar11 - (int)pcVar13" (identifier "iVar4") (= "=") (binary_expression "(int)pcVar11 - (int)pcVar13" (cast_expression "(int)pcVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar11")) (- "-") (cast_expression "(int)pcVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar13")))) (, ",") (binary_expression "7 < iVar4 - 1U" (number_literal "7") (< "<") (binary_expression "iVar4 - 1U" (identifier "iVar4") (- "-") (number_literal "1U")))) () ")"))) () ")")) (compound_statement "{\n          local_34 = 0xc;\n          local_48 = 8;\n          pcVar13 = pcVar14;\n          goto LAB_00035266;\n        }" ({ "{") (expression_statement "local_34 = 0xc;" (assignment_expression "local_34 = 0xc" (identifier "local_34") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "local_48 = 8;" (assignment_expression "local_48 = 8" (identifier "local_48") (= "=") (number_literal "8")) (; ";")) (expression_statement "pcVar13 = pcVar14;" (assignment_expression "pcVar13 = pcVar14" (identifier "pcVar13") (= "=") (identifier "pcVar14")) (; ";")) (goto_statement "goto LAB_00035266;" (goto "goto") (statement_identifier "LAB_00035266") (; ";")) (} "}"))))) (expression_statement "lVar15 = (*DAT_00076b4c)(pcVar13,iVar4);" (assignment_expression "lVar15 = (*DAT_00076b4c)(pcVar13,iVar4)" (identifier "lVar15") (= "=") (call_expression "(*DAT_00076b4c)(pcVar13,iVar4)" (parenthesized_expression "(*DAT_00076b4c)" (( "(") (pointer_expression "*DAT_00076b4c" (* "*") (identifier "DAT_00076b4c")) () ")")) (argument_list "(pcVar13,iVar4)" (( "(") (identifier "pcVar13") (, ",") (identifier "iVar4") () ")")))) (; ";")) (expression_statement "local_34 = 0xc;" (assignment_expression "local_34 = 0xc" (identifier "local_34") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "local_48 = 8;" (assignment_expression "local_48 = 8" (identifier "local_48") (= "=") (number_literal "8")) (; ";")) (expression_statement "pcVar13 = pcVar14;" (assignment_expression "pcVar13 = pcVar14" (identifier "pcVar13") (= "=") (identifier "pcVar14")) (; ";")) (} "}")) (else_clause "else {\n        local_34 = 4;\n        local_48 = 4;\n      }" (else "else") (compound_statement "{\n        local_34 = 4;\n        local_48 = 4;\n      }" ({ "{") (expression_statement "local_34 = 4;" (assignment_expression "local_34 = 4" (identifier "local_34") (= "=") (number_literal "4")) (; ";")) (expression_statement "local_48 = 4;" (assignment_expression "local_48 = 4" (identifier "local_48") (= "=") (number_literal "4")) (; ";")) (} "}")))) (expression_statement "iVar4 = (int)lVar15;" (assignment_expression "iVar4 = (int)lVar15" (identifier "iVar4") (= "=") (cast_expression "(int)lVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar15"))) (; ";")) (expression_statement "uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);" (assignment_expression "uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10)" (identifier "uVar12") (= "=") (binary_expression "(int)pcVar13 - *(int *)(param_1 + 0x10)" (cast_expression "(int)pcVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar13")) (- "-") (pointer_expression "*(int *)(param_1 + 0x10)" (* "*") (cast_expression "(int *)(param_1 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))))) (; ";")) (expression_statement "uVar1 = lVar15 + (ulonglong)uVar12;" (assignment_expression "uVar1 = lVar15 + (ulonglong)uVar12" (identifier "uVar1") (= "=") (binary_expression "lVar15 + (ulonglong)uVar12" (identifier "lVar15") (+ "+") (cast_expression "(ulonglong)uVar12" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar12")))) (; ";")) (if_statement "if ((uint)((uint)uVar1 < uVar12) <= (uint)(uVar1 >> 0x20)) goto LAB_0003527f;" (if "if") (parenthesized_expression "((uint)((uint)uVar1 < uVar12) <= (uint)(uVar1 >> 0x20))" (( "(") (binary_expression "(uint)((uint)uVar1 < uVar12) <= (uint)(uVar1 >> 0x20)" (call_expression "(uint)((uint)uVar1 < uVar12)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint)uVar1 < uVar12)" (( "(") (binary_expression "(uint)uVar1 < uVar12" (cast_expression "(uint)uVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar1")) (< "<") (identifier "uVar12")) () ")"))) (<= "<=") (call_expression "(uint)(uVar1 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar1 >> 0x20)" (( "(") (binary_expression "uVar1 >> 0x20" (identifier "uVar1") (>> ">>") (number_literal "0x20")) () ")")))) () ")")) (goto_statement "goto LAB_0003527f;" (goto "goto") (statement_identifier "LAB_0003527f") (; ";"))) (labeled_statement "LAB_000357ce:\n      uVar5 = FUN_0001cbf0(0);" (statement_identifier "LAB_000357ce") (: ":") (expression_statement "uVar5 = FUN_0001cbf0(0);" (assignment_expression "uVar5 = FUN_0001cbf0(0)" (identifier "uVar5") (= "=") (call_expression "FUN_0001cbf0(0)" (identifier "FUN_0001cbf0") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";"))) (expression_statement "uVar8 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar8 = *(undefined4 *)(param_1 + 8)" (identifier "uVar8") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 8)" (* "*") (cast_expression "(undefined4 *)(param_1 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar9 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);" (assignment_expression "uVar9 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5)" (identifier "uVar9") (= "=") (call_expression "dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5)" (identifier "dcgettext") (argument_list "(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Debug info is corrupted, %s header at %#lx has length %s\n"" (" """) (string_content "Debug info is corrupted, %s header at %#lx has length %s") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar9,uVar8,uVar12 - local_34,uVar5);" (call_expression "warn(uVar9,uVar8,uVar12 - local_34,uVar5)" (identifier "warn") (argument_list "(uVar9,uVar8,uVar12 - local_34,uVar5)" (( "(") (identifier "uVar9") (, ",") (identifier "uVar8") (, ",") (binary_expression "uVar12 - local_34" (identifier "uVar12") (- "-") (identifier "local_34")) (, ",") (identifier "uVar5") () ")"))) (; ";")) (goto_statement "goto LAB_00035816;" (goto "goto") (statement_identifier "LAB_00035816") (; ";")) (} "}"))) (expression_statement "iVar4 = (int)pcVar11 - (int)pcVar14;" (assignment_expression "iVar4 = (int)pcVar11 - (int)pcVar14" (identifier "iVar4") (= "=") (binary_expression "(int)pcVar11 - (int)pcVar14" (cast_expression "(int)pcVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar11")) (- "-") (cast_expression "(int)pcVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar14")))) (; ";")) (if_statement "if (iVar4 - 1U < 8) goto LAB_0003540f;" (if "if") (parenthesized_expression "(iVar4 - 1U < 8)" (( "(") (binary_expression "iVar4 - 1U < 8" (binary_expression "iVar4 - 1U" (identifier "iVar4") (- "-") (number_literal "1U")) (< "<") (number_literal "8")) () ")")) (goto_statement "goto LAB_0003540f;" (goto "goto") (statement_identifier "LAB_0003540f") (; ";"))) (expression_statement "local_34 = 4;" (assignment_expression "local_34 = 4" (identifier "local_34") (= "=") (number_literal "4")) (; ";")) (expression_statement "local_48 = 4;" (assignment_expression "local_48 = 4" (identifier "local_48") (= "=") (number_literal "4")) (; ";")) (labeled_statement "LAB_00035266:\n    iVar4 = 0;" (statement_identifier "LAB_00035266") (: ":") (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";"))) (expression_statement "uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);" (assignment_expression "uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10)" (identifier "uVar12") (= "=") (binary_expression "(int)pcVar13 - *(int *)(param_1 + 0x10)" (cast_expression "(int)pcVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar13")) (- "-") (pointer_expression "*(int *)(param_1 + 0x10)" (* "*") (cast_expression "(int *)(param_1 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))))) (; ";")) (expression_statement "uVar1 = (ulonglong)uVar12;" (assignment_expression "uVar1 = (ulonglong)uVar12" (identifier "uVar1") (= "=") (cast_expression "(ulonglong)uVar12" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar12"))) (; ";")) (labeled_statement "LAB_0003527f:\n    local_50 = (uint)(uVar1 >> 0x20);" (statement_identifier "LAB_0003527f") (: ":") (expression_statement "local_50 = (uint)(uVar1 >> 0x20);" (assignment_expression "local_50 = (uint)(uVar1 >> 0x20)" (identifier "local_50") (= "=") (call_expression "(uint)(uVar1 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar1 >> 0x20)" (( "(") (binary_expression "uVar1 >> 0x20" (identifier "uVar1") (>> ">>") (number_literal "0x20")) () ")")))) (; ";"))) (expression_statement "local_54 = (char *)uVar1;" (assignment_expression "local_54 = (char *)uVar1" (identifier "local_54") (= "=") (cast_expression "(char *)uVar1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar1"))) (; ";")) (if_statement "if (*(uint *)(param_1 + 0x20) < local_50 ||\n        *(uint *)(param_1 + 0x20) - local_50 < (uint)(*(uint *)(param_1 + 0x1c) < local_54))\n    goto LAB_000357ce;" (if "if") (parenthesized_expression "(*(uint *)(param_1 + 0x20) < local_50 ||\n        *(uint *)(param_1 + 0x20) - local_50 < (uint)(*(uint *)(param_1 + 0x1c) < local_54))" (( "(") (binary_expression "*(uint *)(param_1 + 0x20) < local_50 ||\n        *(uint *)(param_1 + 0x20) - local_50 < (uint)(*(uint *)(param_1 + 0x1c) < local_54)" (binary_expression "*(uint *)(param_1 + 0x20) < local_50" (pointer_expression "*(uint *)(param_1 + 0x20)" (* "*") (cast_expression "(uint *)(param_1 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (< "<") (identifier "local_50")) (|| "||") (binary_expression "*(uint *)(param_1 + 0x20) - local_50 < (uint)(*(uint *)(param_1 + 0x1c) < local_54)" (binary_expression "*(uint *)(param_1 + 0x20) - local_50" (pointer_expression "*(uint *)(param_1 + 0x20)" (* "*") (cast_expression "(uint *)(param_1 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (- "-") (identifier "local_50")) (< "<") (call_expression "(uint)(*(uint *)(param_1 + 0x1c) < local_54)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(uint *)(param_1 + 0x1c) < local_54)" (( "(") (binary_expression "*(uint *)(param_1 + 0x1c) < local_54" (pointer_expression "*(uint *)(param_1 + 0x1c)" (* "*") (cast_expression "(uint *)(param_1 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")")))) (< "<") (identifier "local_54")) () ")"))))) () ")")) (goto_statement "goto LAB_000357ce;" (goto "goto") (statement_identifier "LAB_000357ce") (; ";"))) (expression_statement "pcVar14 = pcVar13 + iVar4;" (assignment_expression "pcVar14 = pcVar13 + iVar4" (identifier "pcVar14") (= "=") (binary_expression "pcVar13 + iVar4" (identifier "pcVar13") (+ "+") (identifier "iVar4"))) (; ";")) (expression_statement "local_54 = pcVar13 + 2;" (assignment_expression "local_54 = pcVar13 + 2" (identifier "local_54") (= "=") (binary_expression "pcVar13 + 2" (identifier "pcVar13") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar7 = local_48;" (assignment_expression "iVar7 = local_48" (identifier "iVar7") (= "=") (identifier "local_48")) (; ";")) (if_statement "if (local_54 < pcVar11) {\n      uVar2 = (*DAT_00076b4c)(pcVar13,2);\n      if (local_54 + local_48 < pcVar11) {\nLAB_00035730:\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n      }\n      else {\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n        iVar7 = (int)pcVar11 - (int)local_54;\n        if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;\n      }\nLAB_000352fb:\n      local_34 = (*DAT_00076b4c)(local_54,iVar7);\n    }\n    else if (pcVar13 < pcVar11) {\n      uVar12 = ((int)pcVar11 - (int)pcVar13) - 1;\n      if (7 < uVar12) goto LAB_000352c7;\n      uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12);\n      if (local_54 + local_48 < pcVar11) goto LAB_00035730;\n      local_28 = (uint)uVar2;\n      uVar2 = uVar2 - 2;\n      local_34 = 0;\n    }\n    else {\nLAB_000352c7:\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (local_54 + local_48 < pcVar11) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }" (if "if") (parenthesized_expression "(local_54 < pcVar11)" (( "(") (binary_expression "local_54 < pcVar11" (identifier "local_54") (< "<") (identifier "pcVar11")) () ")")) (compound_statement "{\n      uVar2 = (*DAT_00076b4c)(pcVar13,2);\n      if (local_54 + local_48 < pcVar11) {\nLAB_00035730:\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n      }\n      else {\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n        iVar7 = (int)pcVar11 - (int)local_54;\n        if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;\n      }\nLAB_000352fb:\n      local_34 = (*DAT_00076b4c)(local_54,iVar7);\n    }" ({ "{") (expression_statement "uVar2 = (*DAT_00076b4c)(pcVar13,2);" (assignment_expression "uVar2 = (*DAT_00076b4c)(pcVar13,2)" (identifier "uVar2") (= "=") (call_expression "(*DAT_00076b4c)(pcVar13,2)" (parenthesized_expression "(*DAT_00076b4c)" (( "(") (pointer_expression "*DAT_00076b4c" (* "*") (identifier "DAT_00076b4c")) () ")")) (argument_list "(pcVar13,2)" (( "(") (identifier "pcVar13") (, ",") (number_literal "2") () ")")))) (; ";")) (if_statement "if (local_54 + local_48 < pcVar11) {\nLAB_00035730:\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n      }\n      else {\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n        iVar7 = (int)pcVar11 - (int)local_54;\n        if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;\n      }" (if "if") (parenthesized_expression "(local_54 + local_48 < pcVar11)" (( "(") (binary_expression "local_54 + local_48 < pcVar11" (binary_expression "local_54 + local_48" (identifier "local_54") (+ "+") (identifier "local_48")) (< "<") (identifier "pcVar11")) () ")")) (compound_statement "{\nLAB_00035730:\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n      }" ({ "{") (labeled_statement "LAB_00035730:\n        local_28 = (uint)uVar2;" (statement_identifier "LAB_00035730") (: ":") (expression_statement "local_28 = (uint)uVar2;" (assignment_expression "local_28 = (uint)uVar2" (identifier "local_28") (= "=") (cast_expression "(uint)uVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar2"))) (; ";"))) (expression_statement "uVar2 = uVar2 - 2;" (assignment_expression "uVar2 = uVar2 - 2" (identifier "uVar2") (= "=") (binary_expression "uVar2 - 2" (identifier "uVar2") (- "-") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else {\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n        iVar7 = (int)pcVar11 - (int)local_54;\n        if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;\n      }" (else "else") (compound_statement "{\n        local_28 = (uint)uVar2;\n        uVar2 = uVar2 - 2;\n        iVar7 = (int)pcVar11 - (int)local_54;\n        if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;\n      }" ({ "{") (expression_statement "local_28 = (uint)uVar2;" (assignment_expression "local_28 = (uint)uVar2" (identifier "local_28") (= "=") (cast_expression "(uint)uVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar2"))) (; ";")) (expression_statement "uVar2 = uVar2 - 2;" (assignment_expression "uVar2 = uVar2 - 2" (identifier "uVar2") (= "=") (binary_expression "uVar2 - 2" (identifier "uVar2") (- "-") (number_literal "2"))) (; ";")) (expression_statement "iVar7 = (int)pcVar11 - (int)local_54;" (assignment_expression "iVar7 = (int)pcVar11 - (int)local_54" (identifier "iVar7") (= "=") (binary_expression "(int)pcVar11 - (int)local_54" (cast_expression "(int)pcVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar11")) (- "-") (cast_expression "(int)local_54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_54")))) (; ";")) (if_statement "if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;" (if "if") (parenthesized_expression "(7 < ((int)pcVar11 - (int)local_54) - 1U)" (( "(") (binary_expression "7 < ((int)pcVar11 - (int)local_54) - 1U" (number_literal "7") (< "<") (binary_expression "((int)pcVar11 - (int)local_54) - 1U" (parenthesized_expression "((int)pcVar11 - (int)local_54)" (( "(") (binary_expression "(int)pcVar11 - (int)local_54" (cast_expression "(int)pcVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar11")) (- "-") (cast_expression "(int)local_54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_54"))) () ")")) (- "-") (number_literal "1U"))) () ")")) (goto_statement "goto LAB_000354ec;" (goto "goto") (statement_identifier "LAB_000354ec") (; ";"))) (} "}")))) (labeled_statement "LAB_000352fb:\n      local_34 = (*DAT_00076b4c)(local_54,iVar7);" (statement_identifier "LAB_000352fb") (: ":") (expression_statement "local_34 = (*DAT_00076b4c)(local_54,iVar7);" (assignment_expression "local_34 = (*DAT_00076b4c)(local_54,iVar7)" (identifier "local_34") (= "=") (call_expression "(*DAT_00076b4c)(local_54,iVar7)" (parenthesized_expression "(*DAT_00076b4c)" (( "(") (pointer_expression "*DAT_00076b4c" (* "*") (identifier "DAT_00076b4c")) () ")")) (argument_list "(local_54,iVar7)" (( "(") (identifier "local_54") (, ",") (identifier "iVar7") () ")")))) (; ";"))) (} "}")) (else_clause "else if (pcVar13 < pcVar11) {\n      uVar12 = ((int)pcVar11 - (int)pcVar13) - 1;\n      if (7 < uVar12) goto LAB_000352c7;\n      uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12);\n      if (local_54 + local_48 < pcVar11) goto LAB_00035730;\n      local_28 = (uint)uVar2;\n      uVar2 = uVar2 - 2;\n      local_34 = 0;\n    }\n    else {\nLAB_000352c7:\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (local_54 + local_48 < pcVar11) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }" (else "else") (if_statement "if (pcVar13 < pcVar11) {\n      uVar12 = ((int)pcVar11 - (int)pcVar13) - 1;\n      if (7 < uVar12) goto LAB_000352c7;\n      uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12);\n      if (local_54 + local_48 < pcVar11) goto LAB_00035730;\n      local_28 = (uint)uVar2;\n      uVar2 = uVar2 - 2;\n      local_34 = 0;\n    }\n    else {\nLAB_000352c7:\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (local_54 + local_48 < pcVar11) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }" (if "if") (parenthesized_expression "(pcVar13 < pcVar11)" (( "(") (binary_expression "pcVar13 < pcVar11" (identifier "pcVar13") (< "<") (identifier "pcVar11")) () ")")) (compound_statement "{\n      uVar12 = ((int)pcVar11 - (int)pcVar13) - 1;\n      if (7 < uVar12) goto LAB_000352c7;\n      uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12);\n      if (local_54 + local_48 < pcVar11) goto LAB_00035730;\n      local_28 = (uint)uVar2;\n      uVar2 = uVar2 - 2;\n      local_34 = 0;\n    }" ({ "{") (expression_statement "uVar12 = ((int)pcVar11 - (int)pcVar13) - 1;" (assignment_expression "uVar12 = ((int)pcVar11 - (int)pcVar13) - 1" (identifier "uVar12") (= "=") (binary_expression "((int)pcVar11 - (int)pcVar13) - 1" (parenthesized_expression "((int)pcVar11 - (int)pcVar13)" (( "(") (binary_expression "(int)pcVar11 - (int)pcVar13" (cast_expression "(int)pcVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar11")) (- "-") (cast_expression "(int)pcVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar13"))) () ")")) (- "-") (number_literal "1"))) (; ";")) (if_statement "if (7 < uVar12) goto LAB_000352c7;" (if "if") (parenthesized_expression "(7 < uVar12)" (( "(") (binary_expression "7 < uVar12" (number_literal "7") (< "<") (identifier "uVar12")) () ")")) (goto_statement "goto LAB_000352c7;" (goto "goto") (statement_identifier "LAB_000352c7") (; ";"))) (expression_statement "uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12);" (assignment_expression "uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12)" (identifier "uVar2") (= "=") (call_expression "(*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12)" (parenthesized_expression "(*DAT_00076b4c)" (( "(") (pointer_expression "*DAT_00076b4c" (* "*") (identifier "DAT_00076b4c")) () ")")) (argument_list "(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12)" (( "(") (identifier "pcVar13") (, ",") (binary_expression "(int)pcVar11 - (int)pcVar13" (cast_expression "(int)pcVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar11")) (- "-") (cast_expression "(int)pcVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar13"))) (, ",") (identifier "uVar12") (, ",") (identifier "uVar12") () ")")))) (; ";")) (if_statement "if (local_54 + local_48 < pcVar11) goto LAB_00035730;" (if "if") (parenthesized_expression "(local_54 + local_48 < pcVar11)" (( "(") (binary_expression "local_54 + local_48 < pcVar11" (binary_expression "local_54 + local_48" (identifier "local_54") (+ "+") (identifier "local_48")) (< "<") (identifier "pcVar11")) () ")")) (goto_statement "goto LAB_00035730;" (goto "goto") (statement_identifier "LAB_00035730") (; ";"))) (expression_statement "local_28 = (uint)uVar2;" (assignment_expression "local_28 = (uint)uVar2" (identifier "local_28") (= "=") (cast_expression "(uint)uVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar2"))) (; ";")) (expression_statement "uVar2 = uVar2 - 2;" (assignment_expression "uVar2 = uVar2 - 2" (identifier "uVar2") (= "=") (binary_expression "uVar2 - 2" (identifier "uVar2") (- "-") (number_literal "2"))) (; ";")) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" (identifier "local_34") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\nLAB_000352c7:\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (local_54 + local_48 < pcVar11) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }" (else "else") (compound_statement "{\nLAB_000352c7:\n      local_28 = 0;\n      uVar2 = 0xfffe;\n      if (local_54 + local_48 < pcVar11) goto LAB_000352fb;\nLAB_000354ec:\n      local_34 = 0;\n    }" ({ "{") (labeled_statement "LAB_000352c7:\n      local_28 = 0;" (statement_identifier "LAB_000352c7") (: ":") (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" (identifier "local_28") (= "=") (number_literal "0")) (; ";"))) (expression_statement "uVar2 = 0xfffe;" (assignment_expression "uVar2 = 0xfffe" (identifier "uVar2") (= "=") (number_literal "0xfffe")) (; ";")) (if_statement "if (local_54 + local_48 < pcVar11) goto LAB_000352fb;" (if "if") (parenthesized_expression "(local_54 + local_48 < pcVar11)" (( "(") (binary_expression "local_54 + local_48 < pcVar11" (binary_expression "local_54 + local_48" (identifier "local_54") (+ "+") (identifier "local_48")) (< "<") (identifier "pcVar11")) () ")")) (goto_statement "goto LAB_000352fb;" (goto "goto") (statement_identifier "LAB_000352fb") (; ";"))) (labeled_statement "LAB_000354ec:\n      local_34 = 0;" (statement_identifier "LAB_000354ec") (: ":") (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" (identifier "local_34") (= "=") (number_literal "0")) (; ";"))) (} "}")))))) (if_statement "if (DAT_0007694c - 1U < 0xfffffffe) {\n      iVar7 = 0;\n      piVar10 = (int *)(DAT_00076944 + 0xc);\n      do {\n        if (*piVar10 == local_34 && piVar10[1] == 0) goto LAB_00035321;\n        iVar7 = iVar7 + 1;\n        piVar10 = piVar10 + 0x14;\n      } while (DAT_0007694c != iVar7);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar5 = dcgettext(0,\n                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                        ,5);\n      warn(uVar5,local_34,uVar8);\n    }" (if "if") (parenthesized_expression "(DAT_0007694c - 1U < 0xfffffffe)" (( "(") (binary_expression "DAT_0007694c - 1U < 0xfffffffe" (binary_expression "DAT_0007694c - 1U" (identifier "DAT_0007694c") (- "-") (number_literal "1U")) (< "<") (number_literal "0xfffffffe")) () ")")) (compound_statement "{\n      iVar7 = 0;\n      piVar10 = (int *)(DAT_00076944 + 0xc);\n      do {\n        if (*piVar10 == local_34 && piVar10[1] == 0) goto LAB_00035321;\n        iVar7 = iVar7 + 1;\n        piVar10 = piVar10 + 0x14;\n      } while (DAT_0007694c != iVar7);\n      uVar8 = *(undefined4 *)(param_1 + 8);\n      uVar5 = dcgettext(0,\n                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                        ,5);\n      warn(uVar5,local_34,uVar8);\n    }" ({ "{") (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar10 = (int *)(DAT_00076944 + 0xc);" (assignment_expression "piVar10 = (int *)(DAT_00076944 + 0xc)" (identifier "piVar10") (= "=") (cast_expression "(int *)(DAT_00076944 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00076944 + 0xc)" (( "(") (binary_expression "DAT_00076944 + 0xc" (identifier "DAT_00076944") (+ "+") (number_literal "0xc")) () ")")))) (; ";")) (do_statement "do {\n        if (*piVar10 == local_34 && piVar10[1] == 0) goto LAB_00035321;\n        iVar7 = iVar7 + 1;\n        piVar10 = piVar10 + 0x14;\n      } while (DAT_0007694c != iVar7);" (do "do") (compound_statement "{\n        if (*piVar10 == local_34 && piVar10[1] == 0) goto LAB_00035321;\n        iVar7 = iVar7 + 1;\n        piVar10 = piVar10 + 0x14;\n      }" ({ "{") (if_statement "if (*piVar10 == local_34 && piVar10[1] == 0) goto LAB_00035321;" (if "if") (parenthesized_expression "(*piVar10 == local_34 && piVar10[1] == 0)" (( "(") (binary_expression "*piVar10 == local_34 && piVar10[1] == 0" (binary_expression "*piVar10 == local_34" (pointer_expression "*piVar10" (* "*") (identifier "piVar10")) (== "==") (identifier "local_34")) (&& "&&") (binary_expression "piVar10[1] == 0" (subscript_expression "piVar10[1]" (identifier "piVar10") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0"))) () ")")) (goto_statement "goto LAB_00035321;" (goto "goto") (statement_identifier "LAB_00035321") (; ";"))) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar10 = piVar10 + 0x14;" (assignment_expression "piVar10 = piVar10 + 0x14" (identifier "piVar10") (= "=") (binary_expression "piVar10 + 0x14" (identifier "piVar10") (+ "+") (number_literal "0x14"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(DAT_0007694c != iVar7)" (( "(") (binary_expression "DAT_0007694c != iVar7" (identifier "DAT_0007694c") (!= "!=") (identifier "iVar7")) () ")")) (; ";")) (expression_statement "uVar8 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar8 = *(undefined4 *)(param_1 + 8)" (identifier "uVar8") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 8)" (* "*") (cast_expression "(undefined4 *)(param_1 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar5 = dcgettext(0,\n                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                        ,5);" (assignment_expression "uVar5 = dcgettext(0,\n                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                        ,5)" (identifier "uVar5") (= "=") (call_expression "dcgettext(0,\n                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                        ,5)" (identifier "dcgettext") (argument_list "(0,\n                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"\n                        ,5)" (( "(") (number_literal "0") (, ",") (string_literal "".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"" (" """) (string_content ".debug_info offset of 0x%lx in %s section does not point to a CU header.") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar5,local_34,uVar8);" (call_expression "warn(uVar5,local_34,uVar8)" (identifier "warn") (argument_list "(uVar5,local_34,uVar8)" (( "(") (identifier "uVar5") (, ",") (identifier "local_34") (, ",") (identifier "uVar8") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_00035321:\n    local_54 = local_54 + local_48;" (statement_identifier "LAB_00035321") (: ":") (expression_statement "local_54 = local_54 + local_48;" (assignment_expression "local_54 = local_54 + local_48" (identifier "local_54") (= "=") (binary_expression "local_54 + local_48" (identifier "local_54") (+ "+") (identifier "local_48"))) (; ";"))) (expression_statement "pcVar13 = local_54 + local_48;" (assignment_expression "pcVar13 = local_54 + local_48" (identifier "pcVar13") (= "=") (binary_expression "local_54 + local_48" (identifier "local_54") (+ "+") (identifier "local_48"))) (; ";")) (expression_statement "iVar7 = local_48;" (assignment_expression "iVar7 = local_48" (identifier "iVar7") (= "=") (identifier "local_48")) (; ";")) (if_statement "if ((pcVar13 < pcVar11) ||\n       ((local_24 = 0, local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)))) {\n      local_24 = (*DAT_00076b4c)(local_54,iVar7);\n    }" (if "if") (parenthesized_expression "((pcVar13 < pcVar11) ||\n       ((local_24 = 0, local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8))))" (( "(") (binary_expression "(pcVar13 < pcVar11) ||\n       ((local_24 = 0, local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)))" (parenthesized_expression "(pcVar13 < pcVar11)" (( "(") (binary_expression "pcVar13 < pcVar11" (identifier "pcVar13") (< "<") (identifier "pcVar11")) () ")")) (|| "||") (parenthesized_expression "((local_24 = 0, local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)))" (( "(") (parenthesized_expression "(local_24 = 0, local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8))" (( "(") (comma_expression "local_24 = 0, local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)" (assignment_expression "local_24 = 0" (identifier "local_24") (= "=") (number_literal "0")) (, ",") (binary_expression "local_54 < pcVar11 &&\n        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)" (binary_expression "local_54 < pcVar11" (identifier "local_54") (< "<") (identifier "pcVar11")) (&& "&&") (parenthesized_expression "(iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)" (( "(") (comma_expression "iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8" (assignment_expression "iVar7 = (int)pcVar11 - (int)local_54" (identifier "iVar7") (= "=") (binary_expression "(int)pcVar11 - (int)local_54" (cast_expression "(int)pcVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar11")) (- "-") (cast_expression "(int)local_54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_54")))) (, ",") (binary_expression "((int)pcVar11 - (int)local_54) - 1U < 8" (binary_expression "((int)pcVar11 - (int)local_54) - 1U" (parenthesized_expression "((int)pcVar11 - (int)local_54)" (( "(") (binary_expression "(int)pcVar11 - (int)local_54" (cast_expression "(int)pcVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar11")) (- "-") (cast_expression "(int)local_54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_54"))) () ")")) (- "-") (number_literal "1U")) (< "<") (number_literal "8"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n      local_24 = (*DAT_00076b4c)(local_54,iVar7);\n    }" ({ "{") (expression_statement "local_24 = (*DAT_00076b4c)(local_54,iVar7);" (assignment_expression "local_24 = (*DAT_00076b4c)(local_54,iVar7)" (identifier "local_24") (= "=") (call_expression "(*DAT_00076b4c)(local_54,iVar7)" (parenthesized_expression "(*DAT_00076b4c)" (( "(") (pointer_expression "*DAT_00076b4c" (* "*") (identifier "DAT_00076b4c")) () ")")) (argument_list "(local_54,iVar7)" (( "(") (identifier "local_54") (, ",") (identifier "iVar7") () ")")))) (; ";")) (} "}"))) (expression_statement "pcVar3 = (char *)dcgettext(0,"  Length:                              %ld\n",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,"  Length:                              %ld\n",5)" (identifier "pcVar3") (= "=") (cast_expression "(char *)dcgettext(0,"  Length:                              %ld\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  Length:                              %ld\n",5)" (identifier "dcgettext") (argument_list "(0,"  Length:                              %ld\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  Length:                              %ld\n"" (" """) (string_content "  Length:                              %ld") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar3,iVar4);" (call_expression "printf(pcVar3,iVar4)" (identifier "printf") (argument_list "(pcVar3,iVar4)" (( "(") (identifier "pcVar3") (, ",") (identifier "iVar4") () ")"))) (; ";")) (expression_statement "pcVar3 = (char *)dcgettext(0,"  Version:                             %d\n",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,"  Version:                             %d\n",5)" (identifier "pcVar3") (= "=") (cast_expression "(char *)dcgettext(0,"  Version:                             %d\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  Version:                             %d\n",5)" (identifier "dcgettext") (argument_list "(0,"  Version:                             %d\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  Version:                             %d\n"" (" """) (string_content "  Version:                             %d") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar3,local_28);" (call_expression "printf(pcVar3,local_28)" (identifier "printf") (argument_list "(pcVar3,local_28)" (( "(") (identifier "pcVar3") (, ",") (identifier "local_28") () ")"))) (; ";")) (expression_statement "pcVar3 = (char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5)" (identifier "pcVar3") (= "=") (cast_expression "(char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5)" (identifier "dcgettext") (argument_list "(0,"  Offset into .debug_info section:     0x%lx\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  Offset into .debug_info section:     0x%lx\n"" (" """) (string_content "  Offset into .debug_info section:     0x%lx") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar3,local_34);" (call_expression "printf(pcVar3,local_34)" (identifier "printf") (argument_list "(pcVar3,local_34)" (( "(") (identifier "pcVar3") (, ",") (identifier "local_34") () ")"))) (; ";")) (expression_statement "pcVar3 = (char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5)" (identifier "pcVar3") (= "=") (cast_expression "(char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  Size of area in .debug_info section: %ld\n",5)" (identifier "dcgettext") (argument_list "(0,"  Size of area in .debug_info section: %ld\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  Size of area in .debug_info section: %ld\n"" (" """) (string_content "  Size of area in .debug_info section: %ld") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar3,local_24);" (call_expression "printf(pcVar3,local_24)" (identifier "printf") (argument_list "(pcVar3,local_24)" (( "(") (identifier "pcVar3") (, ",") (identifier "local_24") () ")"))) (; ";")) (if_statement "if (uVar2 < 2) {\n      if (param_3 == 0) {\n        pcVar3 = "\n    Offset\tName\n";\n      }\n      else {\n        pcVar3 = "\n    Offset  Kind          Name\n";\n      }\n      pcVar3 = (char *)dcgettext(0,pcVar3,5);\n      printf(pcVar3);\n      do {\n        pcVar3 = pcVar13 + local_48;\n        if (pcVar11 <= pcVar3) {\n          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }\n          break;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,local_48);\n        if (lVar15 == 0) break;\n        iVar4 = (int)pcVar11 - (int)pcVar3;\n        local_54 = (char *)(iVar4 - 1);\n        if (param_3 == 0) {\n          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);\n        }\n        else {\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }\n        sVar6 = strnlen(pcVar3,(size_t)local_54);\n        pcVar13 = pcVar3 + sVar6 + 1;\n      } while (pcVar13 < pcVar11);\n    }\n    else if (DAT_00074224 == 0) {\n      uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n      warn(uVar8);\n      DAT_00074224 = 1;\n    }" (if "if") (parenthesized_expression "(uVar2 < 2)" (( "(") (binary_expression "uVar2 < 2" (identifier "uVar2") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n      if (param_3 == 0) {\n        pcVar3 = "\n    Offset\tName\n";\n      }\n      else {\n        pcVar3 = "\n    Offset  Kind          Name\n";\n      }\n      pcVar3 = (char *)dcgettext(0,pcVar3,5);\n      printf(pcVar3);\n      do {\n        pcVar3 = pcVar13 + local_48;\n        if (pcVar11 <= pcVar3) {\n          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }\n          break;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,local_48);\n        if (lVar15 == 0) break;\n        iVar4 = (int)pcVar11 - (int)pcVar3;\n        local_54 = (char *)(iVar4 - 1);\n        if (param_3 == 0) {\n          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);\n        }\n        else {\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }\n        sVar6 = strnlen(pcVar3,(size_t)local_54);\n        pcVar13 = pcVar3 + sVar6 + 1;\n      } while (pcVar13 < pcVar11);\n    }" ({ "{") (if_statement "if (param_3 == 0) {\n        pcVar3 = "\n    Offset\tName\n";\n      }\n      else {\n        pcVar3 = "\n    Offset  Kind          Name\n";\n      }" (if "if") (parenthesized_expression "(param_3 == 0)" (( "(") (binary_expression "param_3 == 0" (identifier "param_3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar3 = "\n    Offset\tName\n";\n      }" ({ "{") (expression_statement "pcVar3 = "\n    Offset\tName\n";" (assignment_expression "pcVar3 = "\n    Offset\tName\n"" (identifier "pcVar3") (= "=") (string_literal ""\n    Offset\tName\n"" (" """) (escape_sequence "\n") (string_content "    Offset") (escape_sequence "\t") (string_content "Name") (escape_sequence "\n") (" """))) (; ";")) (} "}")) (else_clause "else {\n        pcVar3 = "\n    Offset  Kind          Name\n";\n      }" (else "else") (compound_statement "{\n        pcVar3 = "\n    Offset  Kind          Name\n";\n      }" ({ "{") (expression_statement "pcVar3 = "\n    Offset  Kind          Name\n";" (assignment_expression "pcVar3 = "\n    Offset  Kind          Name\n"" (identifier "pcVar3") (= "=") (string_literal ""\n    Offset  Kind          Name\n"" (" """) (escape_sequence "\n") (string_content "    Offset  Kind          Name") (escape_sequence "\n") (" """))) (; ";")) (} "}")))) (expression_statement "pcVar3 = (char *)dcgettext(0,pcVar3,5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,pcVar3,5)" (identifier "pcVar3") (= "=") (cast_expression "(char *)dcgettext(0,pcVar3,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,pcVar3,5)" (identifier "dcgettext") (argument_list "(0,pcVar3,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar3") (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar3);" (call_expression "printf(pcVar3)" (identifier "printf") (argument_list "(pcVar3)" (( "(") (identifier "pcVar3") () ")"))) (; ";")) (do_statement "do {\n        pcVar3 = pcVar13 + local_48;\n        if (pcVar11 <= pcVar3) {\n          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }\n          break;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,local_48);\n        if (lVar15 == 0) break;\n        iVar4 = (int)pcVar11 - (int)pcVar3;\n        local_54 = (char *)(iVar4 - 1);\n        if (param_3 == 0) {\n          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);\n        }\n        else {\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }\n        sVar6 = strnlen(pcVar3,(size_t)local_54);\n        pcVar13 = pcVar3 + sVar6 + 1;\n      } while (pcVar13 < pcVar11);" (do "do") (compound_statement "{\n        pcVar3 = pcVar13 + local_48;\n        if (pcVar11 <= pcVar3) {\n          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }\n          break;\n        }\n        lVar15 = (*DAT_00076b4c)(pcVar13,local_48);\n        if (lVar15 == 0) break;\n        iVar4 = (int)pcVar11 - (int)pcVar3;\n        local_54 = (char *)(iVar4 - 1);\n        if (param_3 == 0) {\n          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);\n        }\n        else {\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }\n        sVar6 = strnlen(pcVar3,(size_t)local_54);\n        pcVar13 = pcVar3 + sVar6 + 1;\n      }" ({ "{") (expression_statement "pcVar3 = pcVar13 + local_48;" (assignment_expression "pcVar3 = pcVar13 + local_48" (identifier "pcVar3") (= "=") (binary_expression "pcVar13 + local_48" (identifier "pcVar13") (+ "+") (identifier "local_48"))) (; ";")) (if_statement "if (pcVar11 <= pcVar3) {\n          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }\n          break;\n        }" (if "if") (parenthesized_expression "(pcVar11 <= pcVar3)" (( "(") (binary_expression "pcVar11 <= pcVar3" (identifier "pcVar11") (<= "<=") (identifier "pcVar3")) () ")")) (compound_statement "{\n          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }\n          break;\n        }" ({ "{") (if_statement "if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }" (if "if") (parenthesized_expression "((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8))" (( "(") (binary_expression "(pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)" (parenthesized_expression "(pcVar13 < pcVar11)" (( "(") (binary_expression "pcVar13 < pcVar11" (identifier "pcVar13") (< "<") (identifier "pcVar11")) () ")")) (&& "&&") (parenthesized_expression "(((int)pcVar11 - (int)pcVar13) - 1U < 8)" (( "(") (binary_expression "((int)pcVar11 - (int)pcVar13) - 1U < 8" (binary_expression "((int)pcVar11 - (int)pcVar13) - 1U" (parenthesized_expression "((int)pcVar11 - (int)pcVar13)" (( "(") (binary_expression "(int)pcVar11 - (int)pcVar13" (cast_expression "(int)pcVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar11")) (- "-") (cast_expression "(int)pcVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar13"))) () ")")) (- "-") (number_literal "1U")) (< "<") (number_literal "8")) () ")"))) () ")")) (compound_statement "{\n            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);\n          }" ({ "{") (expression_statement "(*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);" (call_expression "(*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13)" (parenthesized_expression "(*DAT_00076b4c)" (( "(") (pointer_expression "*DAT_00076b4c" (* "*") (identifier "DAT_00076b4c")) () ")")) (argument_list "(pcVar13,(int)pcVar11 - (int)pcVar13)" (( "(") (identifier "pcVar13") (, ",") (binary_expression "(int)pcVar11 - (int)pcVar13" (cast_expression "(int)pcVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar11")) (- "-") (cast_expression "(int)pcVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar13"))) () ")"))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "lVar15 = (*DAT_00076b4c)(pcVar13,local_48);" (assignment_expression "lVar15 = (*DAT_00076b4c)(pcVar13,local_48)" (identifier "lVar15") (= "=") (call_expression "(*DAT_00076b4c)(pcVar13,local_48)" (parenthesized_expression "(*DAT_00076b4c)" (( "(") (pointer_expression "*DAT_00076b4c" (* "*") (identifier "DAT_00076b4c")) () ")")) (argument_list "(pcVar13,local_48)" (( "(") (identifier "pcVar13") (, ",") (identifier "local_48") () ")")))) (; ";")) (if_statement "if (lVar15 == 0) break;" (if "if") (parenthesized_expression "(lVar15 == 0)" (( "(") (binary_expression "lVar15 == 0" (identifier "lVar15") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar4 = (int)pcVar11 - (int)pcVar3;" (assignment_expression "iVar4 = (int)pcVar11 - (int)pcVar3" (identifier "iVar4") (= "=") (binary_expression "(int)pcVar11 - (int)pcVar3" (cast_expression "(int)pcVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar11")) (- "-") (cast_expression "(int)pcVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar3")))) (; ";")) (expression_statement "local_54 = (char *)(iVar4 - 1);" (assignment_expression "local_54 = (char *)(iVar4 - 1)" (identifier "local_54") (= "=") (cast_expression "(char *)(iVar4 - 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 - 1)" (( "(") (binary_expression "iVar4 - 1" (identifier "iVar4") (- "-") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (param_3 == 0) {\n          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);\n        }\n        else {\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }" (if "if") (parenthesized_expression "(param_3 == 0)" (( "(") (binary_expression "param_3 == 0" (identifier "param_3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);\n        }" ({ "{") (expression_statement "printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);" (call_expression "printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3)" (identifier "printf") (argument_list "("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3)" (( "(") (string_literal ""    %-6lx\t%.*s\n"" (" """) (string_content "    %-6lx") (escape_sequence "\t") (string_content "%.*s") (escape_sequence "\n") (" """)) (, ",") (cast_expression "(int)lVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar15")) (, ",") (identifier "local_54") (, ",") (identifier "pcVar3") () ")"))) (; ";")) (} "}")) (else_clause "else {\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }" (else "else") (compound_statement "{\n          pcVar13 = pcVar3 + 1;\n          iVar7 = param_3;\n          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }\n          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);\n          pcVar3 = pcVar13;\n          local_54 = (char *)(iVar4 - 2U);\n        }" ({ "{") (expression_statement "pcVar13 = pcVar3 + 1;" (assignment_expression "pcVar13 = pcVar3 + 1" (identifier "pcVar13") (= "=") (binary_expression "pcVar3 + 1" (identifier "pcVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar7 = param_3;" (assignment_expression "iVar7 = param_3" (identifier "iVar7") (= "=") (identifier "param_3")) (; ";")) (if_statement "if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }\n          else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }" (if "if") (parenthesized_expression "((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8))" (( "(") (binary_expression "(pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)" (parenthesized_expression "(pcVar13 < pcVar11)" (( "(") (binary_expression "pcVar13 < pcVar11" (identifier "pcVar13") (< "<") (identifier "pcVar11")) () ")")) (|| "||") (parenthesized_expression "(iVar7 = iVar4, local_54 < 8)" (( "(") (comma_expression "iVar7 = iVar4, local_54 < 8" (assignment_expression "iVar7 = iVar4" (identifier "iVar7") (= "=") (identifier "iVar4")) (, ",") (binary_expression "local_54 < 8" (identifier "local_54") (< "<") (number_literal "8"))) () ")"))) () ")")) (compound_statement "{\n            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);\n            uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);\n            if (-1 < iVar7 << 0x18) goto LAB_0003565a;\n            uVar5 = dcgettext(0,"s",5);\n          }" ({ "{") (expression_statement "iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);" (assignment_expression "iVar7 = (*DAT_00076b4c)(pcVar3,iVar7)" (identifier "iVar7") (= "=") (call_expression "(*DAT_00076b4c)(pcVar3,iVar7)" (parenthesized_expression "(*DAT_00076b4c)" (( "(") (pointer_expression "*DAT_00076b4c" (* "*") (identifier "DAT_00076b4c")) () ")")) (argument_list "(pcVar3,iVar7)" (( "(") (identifier "pcVar3") (, ",") (identifier "iVar7") () ")")))) (; ";")) (expression_statement "uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);" (assignment_expression "uVar8 = dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5)" (identifier "uVar8") (= "=") (call_expression "dcgettext(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5)" (identifier "dcgettext") (argument_list "(0,*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5)" (( "(") (number_literal "0") (, ",") (pointer_expression "*(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4)" (* "*") (cast_expression "(undefined4 *)\n                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4)" (( "(") (binary_expression "&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4" (pointer_expression "&DAT_000722c0" (& "&") (identifier "DAT_000722c0")) (+ "+") (binary_expression "((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4" (parenthesized_expression "((uint)(iVar7 << 0x18) >> 0x1c & 7)" (( "(") (binary_expression "(uint)(iVar7 << 0x18) >> 0x1c & 7" (binary_expression "(uint)(iVar7 << 0x18) >> 0x1c" (call_expression "(uint)(iVar7 << 0x18)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar7 << 0x18)" (( "(") (binary_expression "iVar7 << 0x18" (identifier "iVar7") (<< "<<") (number_literal "0x18")) () ")"))) (>> ">>") (number_literal "0x1c")) (& "&") (number_literal "7")) () ")")) (* "*") (number_literal "4"))) () ")")))) (, ",") (number_literal "5") () ")")))) (; ";")) (if_statement "if (-1 < iVar7 << 0x18) goto LAB_0003565a;" (if "if") (parenthesized_expression "(-1 < iVar7 << 0x18)" (( "(") (binary_expression "-1 < iVar7 << 0x18" (number_literal "-1") (< "<") (binary_expression "iVar7 << 0x18" (identifier "iVar7") (<< "<<") (number_literal "0x18"))) () ")")) (goto_statement "goto LAB_0003565a;" (goto "goto") (statement_identifier "LAB_0003565a") (; ";"))) (expression_statement "uVar5 = dcgettext(0,"s",5);" (assignment_expression "uVar5 = dcgettext(0,"s",5)" (identifier "uVar5") (= "=") (call_expression "dcgettext(0,"s",5)" (identifier "dcgettext") (argument_list "(0,"s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""s"" (" """) (string_content "s") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (} "}")) (else_clause "else {\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }" (else "else") (compound_statement "{\n            uVar8 = dcgettext(0,"no info",5);\nLAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);\n          }" ({ "{") (expression_statement "uVar8 = dcgettext(0,"no info",5);" (assignment_expression "uVar8 = dcgettext(0,"no info",5)" (identifier "uVar8") (= "=") (call_expression "dcgettext(0,"no info",5)" (identifier "dcgettext") (argument_list "(0,"no info",5)" (( "(") (number_literal "0") (, ",") (string_literal ""no info"" (" """) (string_content "no info") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (labeled_statement "LAB_0003565a:\n            uVar5 = dcgettext(0,"g",5);" (statement_identifier "LAB_0003565a") (: ":") (expression_statement "uVar5 = dcgettext(0,"g",5);" (assignment_expression "uVar5 = dcgettext(0,"g",5)" (identifier "uVar5") (= "=") (call_expression "dcgettext(0,"g",5)" (identifier "dcgettext") (argument_list "(0,"g",5)" (( "(") (number_literal "0") (, ",") (string_literal ""g"" (" """) (string_content "g") (" """)) (, ",") (number_literal "5") () ")")))) (; ";"))) (} "}")))) (expression_statement "printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);" (call_expression "printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13)" (identifier "printf") (argument_list "("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13)" (( "(") (string_literal ""    %-6lx  %s,%-10s  %.*s\n"" (" """) (string_content "    %-6lx  %s,%-10s  %.*s") (escape_sequence "\n") (" """)) (, ",") (cast_expression "(int)lVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar15")) (, ",") (identifier "uVar5") (, ",") (identifier "uVar8") (, ",") (binary_expression "iVar4 - 2U" (identifier "iVar4") (- "-") (number_literal "2U")) (, ",") (identifier "pcVar13") () ")"))) (; ";")) (expression_statement "pcVar3 = pcVar13;" (assignment_expression "pcVar3 = pcVar13" (identifier "pcVar3") (= "=") (identifier "pcVar13")) (; ";")) (expression_statement "local_54 = (char *)(iVar4 - 2U);" (assignment_expression "local_54 = (char *)(iVar4 - 2U)" (identifier "local_54") (= "=") (cast_expression "(char *)(iVar4 - 2U)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 - 2U)" (( "(") (binary_expression "iVar4 - 2U" (identifier "iVar4") (- "-") (number_literal "2U")) () ")")))) (; ";")) (} "}")))) (expression_statement "sVar6 = strnlen(pcVar3,(size_t)local_54);" (assignment_expression "sVar6 = strnlen(pcVar3,(size_t)local_54)" (identifier "sVar6") (= "=") (call_expression "strnlen(pcVar3,(size_t)local_54)" (identifier "strnlen") (argument_list "(pcVar3,(size_t)local_54)" (( "(") (identifier "pcVar3") (, ",") (cast_expression "(size_t)local_54" (( "(") (type_descriptor "size_t" (primitive_type "size_t")) () ")") (identifier "local_54")) () ")")))) (; ";")) (expression_statement "pcVar13 = pcVar3 + sVar6 + 1;" (assignment_expression "pcVar13 = pcVar3 + sVar6 + 1" (identifier "pcVar13") (= "=") (binary_expression "pcVar3 + sVar6 + 1" (binary_expression "pcVar3 + sVar6" (identifier "pcVar3") (+ "+") (identifier "sVar6")) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pcVar13 < pcVar11)" (( "(") (binary_expression "pcVar13 < pcVar11" (identifier "pcVar13") (< "<") (identifier "pcVar11")) () ")")) (; ";")) (} "}")) (else_clause "else if (DAT_00074224 == 0) {\n      uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n      warn(uVar8);\n      DAT_00074224 = 1;\n    }" (else "else") (if_statement "if (DAT_00074224 == 0) {\n      uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n      warn(uVar8);\n      DAT_00074224 = 1;\n    }" (if "if") (parenthesized_expression "(DAT_00074224 == 0)" (( "(") (binary_expression "DAT_00074224 == 0" (identifier "DAT_00074224") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);\n      warn(uVar8);\n      DAT_00074224 = 1;\n    }" ({ "{") (expression_statement "uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);" (assignment_expression "uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5)" (identifier "uVar8") (= "=") (call_expression "dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5)" (identifier "dcgettext") (argument_list "(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Only DWARF 2 and 3 pubnames are currently supported\n"" (" """) (string_content "Only DWARF 2 and 3 pubnames are currently supported") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar8);" (call_expression "warn(uVar8)" (identifier "warn") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")"))) (; ";")) (expression_statement "DAT_00074224 = 1;" (assignment_expression "DAT_00074224 = 1" (identifier "DAT_00074224") (= "=") (number_literal "1")) (; ";")) (} "}"))))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}")))

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

int __regparm3 function_1(type_1 *section,void *file,int var_23)

{
  type_2 var_17;
  type_3 var_22;
  char *pcVar3;
  type_4 *var_16;
  type_4 *var_8;
  char *pcVar6;
  int var_24;
  type_5 uVar8;
  type_5 uVar9;
  size_t var_28;
  int iVar11;
  char *message;
  type_1 *section_1;
  type_6 *var_20;
  type_4 *var_4;
  type_2 var_9;
  type_4 *var_6;
  type_4 *var_1;
  type_2 var_18;
  type_7 var_7;
  type_7 eVar18;
  char *var_25;
  void *in_stack_ffffffa4;
  type_8 var_10;
  type_4 *local_48;
  int var_15;
  type_2 local_28;
  type_4 *local_24;
  
  var_1 = section->start;
  var_4 = var_1 + (int)section->size;
  var_2(in_stack_ffffffa4);
  var_3((type_1 *)section->name,(bfd_boolean)&section->filename,section_1);
  do {
    if (var_4 <= var_1) {
LAB_00035816:
      var_5(10);
      return 1;
    }
    var_6 = var_1 + 4;
    if (var_6 < var_4) {
      var_16 = (type_4 *)0x4;
LAB_0003540f:
      var_7 = (*byte_get)(var_1,(int)var_16);
      if (var_7 == 0xffffffff) {
        var_1 = var_1 + 0xc;
        if (var_1 < var_4) {
          var_8 = (type_4 *)0x8;
        }
        else if ((var_4 <= var_6) ||
                (var_8 = var_4 + -(int)var_6, (type_4 *)0x7 < var_8 + -1)) {
          var_15 = 0xc;
          local_48 = (type_4 *)0x8;
          var_6 = var_1;
          goto LAB_00035266;
        }
        var_7 = (*byte_get)(var_6,(int)var_8);
        var_15 = 0xc;
        local_48 = (type_4 *)0x8;
        var_6 = var_1;
        var_16 = var_8;
      }
      else {
        var_15 = 4;
        local_48 = (type_4 *)0x4;
      }
      var_18 = (type_2)var_7;
      var_9 = (int)var_6 - (int)section->start;
      var_10 = var_7 + var_9;
      if ((type_2)((type_2)var_10 < var_9) <= (type_2)(var_10 >> 0x20)) goto LAB_0003527f;
LAB_000357ce:
      pcVar6 = var_11("x",var_12(var_16) << 0x20,var_18);
      pcVar3 = section->name;
      message = (char *)var_13(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);
      var_14(message,pcVar3,var_9 - var_15,pcVar6);
      goto LAB_00035816;
    }
    var_16 = var_4 + -(int)var_1;
    if (var_16 + -1 < (type_4 *)0x8) goto LAB_0003540f;
    var_15 = 4;
    local_48 = (type_4 *)0x4;
    var_16 = (type_4 *)var_25;
LAB_00035266:
    var_7 = 0;
    var_9 = (int)var_6 - (int)section->start;
    var_10 = (type_9)var_9;
LAB_0003527f:
    var_18 = (type_2)var_7;
    var_17 = *(type_2 *)((int)&section->size + 4);
    if (var_17 < var_10._4_4_ ||
        var_17 - var_10._4_4_ < (type_2)((type_2)section->size < (type_2)var_10)) goto LAB_000357ce;
    var_1 = var_6 + var_18;
    var_16 = var_6 + 2;
    var_8 = local_48;
    if (var_16 < var_4) {
      var_7 = (*byte_get)(var_6,2);
      var_9 = (type_2)var_7;
      if (var_16 + (int)local_48 < var_4) {
LAB_00035730:
        local_28 = var_9 & 0xffff;
        var_22 = (short)var_9 - 2;
      }
      else {
        local_28 = var_9 & 0xffff;
        var_22 = (short)var_7 - 2;
        var_8 = var_4 + -(int)var_16;
        if ((type_4 *)0x7 < var_4 + -(int)var_16 + -1) goto LAB_000354ec;
      }
LAB_000352fb:
      var_7 = (*byte_get)(var_16,(int)var_8);
      var_15 = (int)var_7;
    }
    else if ((var_6 < var_4) && (((int)var_4 - (int)var_6) - 1U < 8)) {
      var_7 = (*byte_get)(var_6,(int)var_4 - (int)var_6);
      var_9 = (type_2)var_7;
      if (var_16 + (int)local_48 < var_4) goto LAB_00035730;
      local_28 = var_9 & 0xffff;
      var_22 = (short)var_7 - 2;
      var_15 = 0;
    }
    else {
      local_28 = 0;
      var_22 = 0xfffe;
      if (var_16 + (int)local_48 < var_4) goto LAB_000352fb;
LAB_000354ec:
      var_15 = 0;
    }
    var_16 = var_16 + (int)local_48;
    if (var_19 - 1 < 0xfffffffe) {
      var_9 = 0;
      var_20 = &debug_information->cu_offset;
      do {
        if ((int)*var_20 == var_15 && *(int *)((int)var_20 + 4) == 0) goto LAB_00035321;
        var_9 = var_9 + 1;
        var_20 = var_20 + 10;
      } while (var_19 != var_9);
      pcVar3 = section->name;
      pcVar6 = (char *)var_13(0,
                                 ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"
                                 ,5);
      var_14(pcVar6,var_15,pcVar3);
    }
LAB_00035321:
    var_6 = var_16 + (int)local_48;
    var_8 = local_48;
    if ((var_6 < var_4) ||
       ((local_24 = (type_4 *)0x0, var_16 < var_4 &&
        (var_8 = var_4 + -(int)var_16, var_4 + -(int)var_16 + -1 < (type_4 *)0x8)))) {
      var_7 = (*byte_get)(var_16,(int)var_8);
      local_24 = (type_4 *)var_7;
    }
    pcVar3 = (char *)var_13(0,"  Length:                              %ld\n",5);
    var_21(pcVar3,var_18);
    pcVar3 = (char *)var_13(0,"  Version:                             %d\n",5);
    var_21(pcVar3,local_28);
    pcVar3 = (char *)var_13(0,"  Offset into .debug_info section:     0x%lx\n",5);
    var_21(pcVar3,var_15);
    pcVar3 = (char *)var_13(0,"  Size of area in .debug_info section: %ld\n",5);
    var_21(pcVar3);
    if (var_22 < 2) {
      if (var_23 == 0) {
        var_25 = "\n    Offset\tName\n";
      }
      else {
        var_25 = "\n    Offset  Kind          Name\n";
      }
      pcVar3 = (char *)var_13(0,var_25,5);
      var_21(pcVar3);
      do {
        var_16 = var_6 + (int)local_48;
        if (var_4 <= var_16) {
          if ((var_6 < var_4) && (var_16 = var_4 + -(int)var_6, var_16 + -1 < (type_4 *)0x8))
          {
            (*byte_get)(var_6,(int)var_16);
            var_25 = (char *)var_16;
          }
          break;
        }
        var_25 = (char *)local_48;
        var_7 = (*byte_get)(var_6,(int)local_48);
        if (var_7 == 0) break;
        var_24 = (int)var_4 - (int)var_16;
        var_25 = (char *)(var_24 + -1);
        if (var_23 == 0) {
          var_21("    %-6lx\t%.*s\n",(int)var_7,var_25,var_16);
        }
        else {
          var_6 = var_16 + 1;
          iVar11 = var_23;
          if ((var_6 < var_4) || (iVar11 = var_24, var_25 < (type_4 *)0x8)) {
            eVar18 = (*byte_get)(var_16,iVar11);
            var_9 = (int)eVar18 << 0x18;
            uVar8 = var_13(0,*(type_5 *)(var_26 + (var_9 >> 0x1c & 7) * 4),5);
            if (-1 < (int)var_9) goto LAB_0003565a;
            uVar9 = var_13(0,"s",5);
          }
          else {
            uVar8 = var_13(0,"no info",5);
LAB_0003565a:
            uVar9 = var_13(0,"g",5);
          }
          var_21("    %-6lx  %s,%-10s  %.*s\n",(int)var_7,uVar9,uVar8,(type_4 *)(var_24 + -2),var_6
                );
          var_16 = var_6;
          var_25 = (char *)(var_24 + -2);
        }
        var_28 = var_27((char *)var_16,(size_t)var_25);
        var_6 = var_16 + var_28 + 1;
      } while (var_6 < var_4);
    }
    else {
      var_25 = (char *)local_24;
      if (function_1::lexical_block_6::lexical_block_6_9::warned == 0) {
        var_25 = "Only DWARF 2 and 3 pubnames are currently supported\n";
        pcVar3 = (char *)var_13(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);
        var_14(pcVar3);
        display_debug_pubnames_worker::lexical_block_6::lexical_block_6_9::warned = 1;
      }
    }
  } while( true );
}


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

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

undefined4 __regparm3 MASKED(int param_1,undefined4 param_2,int param_3)

{
  ulonglong uVar1;
  ushort uVar2;
  char *pcVar3;
  int iVar4;
  undefined4 uVar5;
  size_t sVar6;
  int iVar7;
  undefined4 uVar8;
  undefined4 uVar9;
  int *piVar10;
  char *pcVar11;
  uint uVar12;
  char *pcVar13;
  char *pcVar14;
  longlong lVar15;
  char *local_54;
  uint local_50;
  int local_48;
  int local_34;
  uint local_28;
  undefined4 local_24;
  
  pcVar14 = *(char **)(param_1 + 0x10);
  pcVar11 = pcVar14 + *(int *)(param_1 + 0x1c);
  FUN_00032500();
  FUN_0001ec20();
  do {
    if (pcVar11 <= pcVar14) {
LAB_00035816:
      putchar(10);
      return 1;
    }
    pcVar13 = pcVar14 + 4;
    if (pcVar13 < pcVar11) {
      iVar4 = 4;
LAB_0003540f:
      lVar15 = (*DAT_00076b4c)(pcVar14,iVar4);
      if (lVar15 == 0xffffffff) {
        pcVar14 = pcVar14 + 0xc;
        if (pcVar14 < pcVar11) {
          iVar4 = 8;
        }
        else if ((pcVar11 <= pcVar13) || (iVar4 = (int)pcVar11 - (int)pcVar13, 7 < iVar4 - 1U)) {
          local_34 = 0xc;
          local_48 = 8;
          pcVar13 = pcVar14;
          goto LAB_00035266;
        }
        lVar15 = (*DAT_00076b4c)(pcVar13,iVar4);
        local_34 = 0xc;
        local_48 = 8;
        pcVar13 = pcVar14;
      }
      else {
        local_34 = 4;
        local_48 = 4;
      }
      iVar4 = (int)lVar15;
      uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);
      uVar1 = lVar15 + (ulonglong)uVar12;
      if ((uint)((uint)uVar1 < uVar12) <= (uint)(uVar1 >> 0x20)) goto LAB_0003527f;
LAB_000357ce:
      uVar5 = FUN_0001cbf0(0);
      uVar8 = *(undefined4 *)(param_1 + 8);
      uVar9 = dcgettext(0,"Debug info is corrupted, %s header at %#lx has length %s\n",5);
      warn(uVar9,uVar8,uVar12 - local_34,uVar5);
      goto LAB_00035816;
    }
    iVar4 = (int)pcVar11 - (int)pcVar14;
    if (iVar4 - 1U < 8) goto LAB_0003540f;
    local_34 = 4;
    local_48 = 4;
LAB_00035266:
    iVar4 = 0;
    uVar12 = (int)pcVar13 - *(int *)(param_1 + 0x10);
    uVar1 = (ulonglong)uVar12;
LAB_0003527f:
    local_50 = (uint)(uVar1 >> 0x20);
    local_54 = (char *)uVar1;
    if (*(uint *)(param_1 + 0x20) < local_50 ||
        *(uint *)(param_1 + 0x20) - local_50 < (uint)(*(uint *)(param_1 + 0x1c) < local_54))
    goto LAB_000357ce;
    pcVar14 = pcVar13 + iVar4;
    local_54 = pcVar13 + 2;
    iVar7 = local_48;
    if (local_54 < pcVar11) {
      uVar2 = (*DAT_00076b4c)(pcVar13,2);
      if (local_54 + local_48 < pcVar11) {
LAB_00035730:
        local_28 = (uint)uVar2;
        uVar2 = uVar2 - 2;
      }
      else {
        local_28 = (uint)uVar2;
        uVar2 = uVar2 - 2;
        iVar7 = (int)pcVar11 - (int)local_54;
        if (7 < ((int)pcVar11 - (int)local_54) - 1U) goto LAB_000354ec;
      }
LAB_000352fb:
      local_34 = (*DAT_00076b4c)(local_54,iVar7);
    }
    else if (pcVar13 < pcVar11) {
      uVar12 = ((int)pcVar11 - (int)pcVar13) - 1;
      if (7 < uVar12) goto LAB_000352c7;
      uVar2 = (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13,uVar12,uVar12);
      if (local_54 + local_48 < pcVar11) goto LAB_00035730;
      local_28 = (uint)uVar2;
      uVar2 = uVar2 - 2;
      local_34 = 0;
    }
    else {
LAB_000352c7:
      local_28 = 0;
      uVar2 = 0xfffe;
      if (local_54 + local_48 < pcVar11) goto LAB_000352fb;
LAB_000354ec:
      local_34 = 0;
    }
    if (DAT_0007694c - 1U < 0xfffffffe) {
      iVar7 = 0;
      piVar10 = (int *)(DAT_00076944 + 0xc);
      do {
        if (*piVar10 == local_34 && piVar10[1] == 0) goto LAB_00035321;
        iVar7 = iVar7 + 1;
        piVar10 = piVar10 + 0x14;
      } while (DAT_0007694c != iVar7);
      uVar8 = *(undefined4 *)(param_1 + 8);
      uVar5 = dcgettext(0,
                        ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"
                        ,5);
      warn(uVar5,local_34,uVar8);
    }
LAB_00035321:
    local_54 = local_54 + local_48;
    pcVar13 = local_54 + local_48;
    iVar7 = local_48;
    if ((pcVar13 < pcVar11) ||
       ((local_24 = 0, local_54 < pcVar11 &&
        (iVar7 = (int)pcVar11 - (int)local_54, ((int)pcVar11 - (int)local_54) - 1U < 8)))) {
      local_24 = (*DAT_00076b4c)(local_54,iVar7);
    }
    pcVar3 = (char *)dcgettext(0,"  Length:                              %ld\n",5);
    printf(pcVar3,iVar4);
    pcVar3 = (char *)dcgettext(0,"  Version:                             %d\n",5);
    printf(pcVar3,local_28);
    pcVar3 = (char *)dcgettext(0,"  Offset into .debug_info section:     0x%lx\n",5);
    printf(pcVar3,local_34);
    pcVar3 = (char *)dcgettext(0,"  Size of area in .debug_info section: %ld\n",5);
    printf(pcVar3,local_24);
    if (uVar2 < 2) {
      if (param_3 == 0) {
        pcVar3 = "\n    Offset\tName\n";
      }
      else {
        pcVar3 = "\n    Offset  Kind          Name\n";
      }
      pcVar3 = (char *)dcgettext(0,pcVar3,5);
      printf(pcVar3);
      do {
        pcVar3 = pcVar13 + local_48;
        if (pcVar11 <= pcVar3) {
          if ((pcVar13 < pcVar11) && (((int)pcVar11 - (int)pcVar13) - 1U < 8)) {
            (*DAT_00076b4c)(pcVar13,(int)pcVar11 - (int)pcVar13);
          }
          break;
        }
        lVar15 = (*DAT_00076b4c)(pcVar13,local_48);
        if (lVar15 == 0) break;
        iVar4 = (int)pcVar11 - (int)pcVar3;
        local_54 = (char *)(iVar4 - 1);
        if (param_3 == 0) {
          printf("    %-6lx\t%.*s\n",(int)lVar15,local_54,pcVar3);
        }
        else {
          pcVar13 = pcVar3 + 1;
          iVar7 = param_3;
          if ((pcVar13 < pcVar11) || (iVar7 = iVar4, local_54 < 8)) {
            iVar7 = (*DAT_00076b4c)(pcVar3,iVar7);
            uVar8 = dcgettext(0,*(undefined4 *)
                                 (&DAT_000722c0 + ((uint)(iVar7 << 0x18) >> 0x1c & 7) * 4),5);
            if (-1 < iVar7 << 0x18) goto LAB_0003565a;
            uVar5 = dcgettext(0,"s",5);
          }
          else {
            uVar8 = dcgettext(0,"no info",5);
LAB_0003565a:
            uVar5 = dcgettext(0,"g",5);
          }
          printf("    %-6lx  %s,%-10s  %.*s\n",(int)lVar15,uVar5,uVar8,iVar4 - 2U,pcVar13);
          pcVar3 = pcVar13;
          local_54 = (char *)(iVar4 - 2U);
        }
        sVar6 = strnlen(pcVar3,(size_t)local_54);
        pcVar13 = pcVar3 + sVar6 + 1;
      } while (pcVar13 < pcVar11);
    }
    else if (DAT_00074224 == 0) {
      uVar8 = dcgettext(0,"Only DWARF 2 and 3 pubnames are currently supported\n",5);
      warn(uVar8);
      DAT_00074224 = 1;
    }
  } while( true );
}

