
void print_symbol_info_sysv(extended_symbol_info *info,bfd *abfd)

{
  uchar uVar1;
  combined_entry_type *pcVar2;
  ushort uVar3;
  int iVar4;
  elf_symbol_type *peVar5;
  int *piVar6;
  undefined8 uVar7;
  byte bVar8;
  char *pcVar9;
  bfd *abfd_00;
  
  pcVar9 = info->sinfo->name;
  print_symname("%-20s|",pcVar9,abfd);
  iVar4 = bfd_is_undefined_symclass((int)info->sinfo->type);
  if (iVar4 == 0) {
    print_value((bfd *)info->sinfo->value,(bfd_vma)pcVar9);
  }
  else if (print_width == 0x20) {
    printf("        ");
  }
  else {
    printf("                ");
  }
  pcVar9 = (char *)(ulong)(uint)(int)info->sinfo->type;
  printf("|   %c  |");
  if (info->sinfo->type == '-') {
    printf("%18s|  ",info->sinfo->stab_name);
    printf(desc_format,(ulong)(uint)(int)info->sinfo->stab_desc);
    goto LAB_00105757;
  }
  if (info->elfinfo == (elf_symbol_type *)0x0) {
    if (info->coffinfo != (coff_symbol_type *)0x0) {
      pcVar2 = info->coffinfo->native;
      uVar1 = (pcVar2->u).syment.n_sclass;
      if (uVar1 == 'g') {
        pcVar9 = "File";
      }
      else if (uVar1 == 'h') {
        pcVar9 = "Line";
      }
      else if (uVar1 == 'd') {
        pcVar9 = "Block";
      }
      else {
        uVar3 = (pcVar2->u).syment.n_type;
        if (uVar3 == 0) {
          pcVar9 = "None";
        }
        else {
          uVar3 = uVar3 >> 4 & 3;
          if (uVar3 == 2) {
            pcVar9 = "Function";
          }
          else if (uVar3 == 3) {
            pcVar9 = "Array";
          }
          else {
            if (uVar3 != 1) {
              free(bufp_13492);
              uVar3 = (pcVar2->u).syment.n_type;
              bVar8 = (pcVar2->u).syment.n_sclass;
              pcVar9 = (char *)dcgettext(0,"<unknown>: %d/%d",5);
              iVar4 = asprintf(&bufp_13492,pcVar9,(ulong)bVar8,(ulong)uVar3);
              pcVar9 = bufp_13492;
              goto joined_r0x0010570b;
            }
            pcVar9 = "Pointer";
          }
        }
      }
      goto LAB_00105780;
    }
    printf("                  |");
  }
  else {
    bVar8 = (info->elfinfo->internal_elf_sym).st_info & 0xf;
    switch(bVar8) {
    case 0:
      pcVar9 = "NOTYPE";
      break;
    case 1:
      pcVar9 = "OBJECT";
      break;
    case 2:
      pcVar9 = "FUNC";
      break;
    case 3:
      pcVar9 = "SECTION";
      break;
    case 4:
      pcVar9 = "FILE";
      break;
    case 5:
      pcVar9 = "COMMON";
      break;
    case 6:
      pcVar9 = "TLS";
      break;
    default:
      free(bufp_13480);
      pcVar9 = "<processor specific>: %d";
      if ((2 < bVar8 - 0xd) && (pcVar9 = "<OS specific>: %d", 2 < bVar8 - 10)) {
        pcVar9 = "<unknown>: %d";
      }
      pcVar9 = (char *)dcgettext(0,pcVar9,5);
      iVar4 = asprintf(&bufp_13480,pcVar9,(ulong)bVar8);
      pcVar9 = bufp_13480;
joined_r0x0010570b:
      if (iVar4 < 0) {
        piVar6 = __errno_location();
        uVar7 = xstrerror(*piVar6);
                    /* WARNING: Subroutine does not return */
        fatal("%s",uVar7);
      }
    }
LAB_00105780:
    printf("%18s|");
  }
  if (info->elfinfo == (elf_symbol_type *)0x0) {
    abfd_00 = (bfd *)info->ssize;
    if (abfd_00 != (bfd *)0x0) goto LAB_001057a8;
LAB_00105875:
    if (print_width == 0x20) {
      printf("        ");
      goto LAB_001057ad;
    }
    printf("                ");
    peVar5 = info->elfinfo;
  }
  else {
    abfd_00 = (bfd *)(info->elfinfo->internal_elf_sym).st_size;
    if (abfd_00 == (bfd *)0x0) goto LAB_00105875;
LAB_001057a8:
    print_value(abfd_00,(bfd_vma)pcVar9);
LAB_001057ad:
    peVar5 = info->elfinfo;
  }
  if ((peVar5 != (elf_symbol_type *)0x0) ||
     (peVar5 = (elf_symbol_type *)info->coffinfo, peVar5 != (elf_symbol_type *)0x0)) {
    printf("|     |%s",((peVar5->symbol).section)->name);
    return;
  }
LAB_00105757:
  printf("|     |");
  return;
}



void FUN_001055c0(long *param_1,undefined8 param_2)

{
  char cVar1;
  ushort uVar2;
  int iVar3;
  long lVar4;
  int *piVar5;
  undefined8 uVar6;
  byte bVar7;
  char *pcVar8;
  
  FUN_00103ba0("%-20s|",*(undefined8 *)(*param_1 + 0x10),param_2);
  iVar3 = bfd_is_undefined_symclass((int)*(char *)(*param_1 + 8));
  if (iVar3 == 0) {
    FUN_00105100(*(undefined8 *)*param_1);
  }
  else if (DAT_0010cc00 == 0x20) {
    printf("        ");
  }
  else {
    printf("                ");
  }
  printf("|   %c  |",(ulong)(uint)(int)*(char *)(*param_1 + 8));
  if (*(char *)(*param_1 + 8) == '-') {
    printf("%18s|  ",*(undefined8 *)(*param_1 + 0x20));
    printf(&DAT_0010c2d0,(ulong)(uint)(int)*(short *)(*param_1 + 0x1a));
    goto LAB_00105757;
  }
  if (param_1[2] == 0) {
    if (param_1[3] != 0) {
      lVar4 = *(long *)(param_1[3] + 0x30);
      cVar1 = *(char *)(lVar4 + 0x28);
      if (cVar1 == 'g') {
        pcVar8 = "File";
      }
      else if (cVar1 == 'h') {
        pcVar8 = "Line";
      }
      else if (cVar1 == 'd') {
        pcVar8 = "Block";
      }
      else if (*(ushort *)(lVar4 + 0x26) == 0) {
        pcVar8 = "None";
      }
      else {
        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;
        if (uVar2 == 2) {
          pcVar8 = "Function";
        }
        else if (uVar2 == 3) {
          pcVar8 = "Array";
        }
        else {
          if (uVar2 != 1) {
            free(DAT_0010cbb8);
            uVar2 = *(ushort *)(lVar4 + 0x26);
            bVar7 = *(byte *)(lVar4 + 0x28);
            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);
            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);
            pcVar8 = DAT_0010cbb8;
            goto joined_r0x0010570b;
          }
          pcVar8 = "Pointer";
        }
      }
      goto LAB_00105780;
    }
    printf("                  |");
  }
  else {
    bVar7 = *(byte *)(param_1[2] + 0x48) & 0xf;
    switch(bVar7) {
    case 0:
      pcVar8 = "NOTYPE";
      break;
    case 1:
      pcVar8 = "OBJECT";
      break;
    case 2:
      pcVar8 = "FUNC";
      break;
    case 3:
      pcVar8 = "SECTION";
      break;
    case 4:
      pcVar8 = "FILE";
      break;
    case 5:
      pcVar8 = "COMMON";
      break;
    case 6:
      pcVar8 = "TLS";
      break;
    default:
      free(DAT_0010cbc0);
      pcVar8 = "<processor specific>: %d";
      if ((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)) {
        pcVar8 = "<unknown>: %d";
      }
      pcVar8 = (char *)dcgettext(0,pcVar8,5);
      iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7);
      pcVar8 = DAT_0010cbc0;
joined_r0x0010570b:
      if (iVar3 < 0) {
        piVar5 = __errno_location();
        uVar6 = xstrerror(*piVar5);
                    /* WARNING: Subroutine does not return */
        FUN_00106110("%s",uVar6);
      }
    }
LAB_00105780:
    printf("%18s|",pcVar8);
  }
  if (param_1[2] == 0) {
    if (param_1[1] != 0) goto LAB_001057a8;
LAB_00105875:
    if (DAT_0010cc00 == 0x20) {
      printf("        ");
      goto LAB_001057ad;
    }
    printf("                ");
    lVar4 = param_1[2];
  }
  else {
    if (*(long *)(param_1[2] + 0x38) == 0) goto LAB_00105875;
LAB_001057a8:
    FUN_00105100();
LAB_001057ad:
    lVar4 = param_1[2];
  }
  if ((lVar4 != 0) || (lVar4 = param_1[3], lVar4 != 0)) {
    printf("|     |%s",**(undefined8 **)(lVar4 + 0x20));
    return;
  }
LAB_00105757:
  printf("|     |");
  return;
}


PUSH R12
MOV RDX,RSI
PUSH RBP
PUSH RBX
MOV RAX,qword ptr [RDI]
MOV RBX,RDI
LEA RDI,[0x10812a]
MOV RSI,qword ptr [RAX + 0x10]
CALL 0x00103ba0
MOV RAX,qword ptr [RBX]
MOVSX EDI,byte ptr [RAX + 0x8]
CALL 0x00103130
TEST EAX,EAX
JZ 0x00105720
CMP dword ptr [0x0010cc00],0x20
JZ 0x00105660
LEA RDI,[0x108131]
XOR EAX,EAX
CALL 0x001031d0
MOV RAX,qword ptr [RBX]
LEA RDI,[0x108142]
MOVSX ESI,byte ptr [RAX + 0x8]
XOR EAX,EAX
CALL 0x001031d0
MOV RAX,qword ptr [RBX]
CMP byte ptr [RAX + 0x8],0x2d
JZ 0x00105730
MOV RAX,qword ptr [RBX + 0x10]
TEST RAX,RAX
JZ 0x00105670
MOVZX EDX,byte ptr [RAX + 0x48]
AND EDX,0xf
CMP DL,0x6
JA 0x001058e0
LEA RCX,[0x108e18]
MOVZX EDX,DL
MOVSXD RAX,dword ptr [RCX + RDX*0x4]
ADD RAX,RCX
JMP RAX
LEA RDI,[0x108139]
XOR EAX,EAX
CALL 0x001031d0
JMP 0x00105608
MOV RAX,qword ptr [RBX + 0x18]
TEST RAX,RAX
JZ 0x001058c8
MOV RBP,qword ptr [RAX + 0x30]
MOVZX EAX,byte ptr [RBP + 0x28]
CMP AL,0x67
JZ 0x001057e8
CMP AL,0x68
JZ 0x00105770
CMP AL,0x64
JZ 0x001057d8
MOVZX EAX,word ptr [RBP + 0x26]
TEST AX,AX
JZ 0x00105950
SHR EAX,0x4
AND EAX,0x3
CMP EAX,0x2
JZ 0x00105980
CMP EAX,0x3
JZ 0x00105970
CMP EAX,0x1
JZ 0x00105960
MOV RDI,qword ptr [0x0010cbb8]
CALL 0x00103060
MOVZX R12D,word ptr [RBP + 0x26]
XOR EDI,EDI
MOVZX EBP,byte ptr [RBP + 0x28]
MOV EDX,0x5
LEA RSI,[0x10819b]
CALL 0x001031a0
MOV ECX,R12D
MOV EDX,EBP
LEA RDI,[0x10cbb8]
MOV RSI,RAX
XOR EAX,EAX
CALL 0x001033c0
TEST EAX,EAX
JS 0x0010598c
MOV RSI,qword ptr [0x0010cbb8]
JMP 0x00105780
MOV RAX,qword ptr [RBX]
MOV RDI,qword ptr [RAX]
CALL 0x00105100
JMP 0x00105608
MOV RSI,qword ptr [RAX + 0x20]
LEA RDI,[0x10814c]
XOR EAX,EAX
CALL 0x001031d0
MOV RAX,qword ptr [RBX]
LEA RDI,[0x10c2d0]
MOVSX ESI,word ptr [RAX + 0x1a]
XOR EAX,EAX
CALL 0x001031d0
POP RBX
LEA RDI,[0x108154]
POP RBP
XOR EAX,EAX
POP R12
JMP 0x001031d0
LEA RSI,[0x108107]
NOP word ptr [RAX + RAX*0x1]
LEA RDI,[0x108195]
XOR EAX,EAX
CALL 0x001031d0
MOV RAX,qword ptr [RBX + 0x10]
TEST RAX,RAX
JZ 0x00105868
MOV RDI,qword ptr [RAX + 0x38]
TEST RDI,RDI
JZ 0x00105875
CALL 0x00105100
MOV RAX,qword ptr [RBX + 0x10]
TEST RAX,RAX
JZ 0x00105899
MOV RAX,qword ptr [RAX + 0x20]
POP RBX
LEA RDI,[0x1081c0]
POP RBP
POP R12
MOV RSI,qword ptr [RAX]
XOR EAX,EAX
JMP 0x001031d0
LEA RSI,[0x10810c]
JMP 0x00105780
LEA RSI,[0x108112]
JMP 0x00105780
LEA RSI,[0x1080d3]
JMP 0x00105780
LEA RSI,[0x1080f3]
JMP 0x00105780
LEA RSI,[0x1080ec]
JMP 0x00105780
LEA RSI,[0x1080e7]
JMP 0x00105780
LEA RSI,[0x1080df]
JMP 0x00105780
LEA RSI,[0x1080da]
JMP 0x00105780
LEA RSI,[0x1080f7]
JMP 0x00105780
MOV RDI,qword ptr [RBX + 0x8]
TEST RDI,RDI
JNZ 0x001057a8
CMP dword ptr [0x0010cc00],0x20
JZ 0x001058b0
LEA RDI,[0x108131]
XOR EAX,EAX
CALL 0x001031d0
MOV RAX,qword ptr [RBX + 0x10]
TEST RAX,RAX
JNZ 0x001057ba
MOV RAX,qword ptr [RBX + 0x18]
TEST RAX,RAX
JNZ 0x001057ba
JMP 0x00105757
LEA RDI,[0x108139]
XOR EAX,EAX
CALL 0x001031d0
JMP 0x001057ad
LEA RDI,[0x1081ac]
XOR EAX,EAX
CALL 0x001031d0
JMP 0x0010578e
MOV RDI,qword ptr [0x0010cbc0]
MOVZX EBP,DL
CALL 0x00103060
LEA EAX,[RBP + -0xd]
MOV EDX,0x5
LEA RSI,[0x10815c]
CMP EAX,0x2
JBE 0x0010591e
LEA EAX,[RBP + -0xa]
MOV EDX,0x5
LEA RSI,[0x108175]
CMP EAX,0x2
JBE 0x0010591e
LEA RSI,[0x108187]
XOR EDI,EDI
CALL 0x001031a0
MOV EDX,EBP
LEA RDI,[0x10cbc0]
MOV RSI,RAX
XOR EAX,EAX
CALL 0x001033c0
TEST EAX,EAX
JS 0x0010598c
MOV RSI,qword ptr [0x0010cbc0]
JMP 0x00105780
LEA RSI,[0x108117]
JMP 0x00105780
LEA RSI,[0x108122]
JMP 0x00105780
LEA RSI,[0x10811c]
JMP 0x00105780
LEA RSI,[0x1080fe]
JMP 0x00105780
CALL 0x001030a0
MOV EDI,dword ptr [RAX]
CALL 0x00103440
LEA RDI,[0x1092c3]
MOV RSI,RAX
XOR EAX,EAX
CALL 0x00106110
(translation_unit "void FUN_001055c0(long *param_1,undefined8 param_2)\n\n{\n  char cVar1;\n  ushort uVar2;\n  int iVar3;\n  long lVar4;\n  int *piVar5;\n  undefined8 uVar6;\n  byte bVar7;\n  char *pcVar8;\n  \n  FUN_00103ba0("%-20s|",*(undefined8 *)(*param_1 + 0x10),param_2);\n  iVar3 = bfd_is_undefined_symclass((int)*(char *)(*param_1 + 8));\n  if (iVar3 == 0) {\n    FUN_00105100(*(undefined8 *)*param_1);\n  }\n  else if (DAT_0010cc00 == 0x20) {\n    printf("        ");\n  }\n  else {\n    printf("                ");\n  }\n  printf("|   %c  |",(ulong)(uint)(int)*(char *)(*param_1 + 8));\n  if (*(char *)(*param_1 + 8) == '-') {\n    printf("%18s|  ",*(undefined8 *)(*param_1 + 0x20));\n    printf(&DAT_0010c2d0,(ulong)(uint)(int)*(short *)(*param_1 + 0x1a));\n    goto LAB_00105757;\n  }\n  if (param_1[2] == 0) {\n    if (param_1[3] != 0) {\n      lVar4 = *(long *)(param_1[3] + 0x30);\n      cVar1 = *(char *)(lVar4 + 0x28);\n      if (cVar1 == 'g') {\n        pcVar8 = "File";\n      }\n      else if (cVar1 == 'h') {\n        pcVar8 = "Line";\n      }\n      else if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }\n      goto LAB_00105780;\n    }\n    printf("                  |");\n  }\n  else {\n    bVar7 = *(byte *)(param_1[2] + 0x48) & 0xf;\n    switch(bVar7) {\n    case 0:\n      pcVar8 = "NOTYPE";\n      break;\n    case 1:\n      pcVar8 = "OBJECT";\n      break;\n    case 2:\n      pcVar8 = "FUNC";\n      break;\n    case 3:\n      pcVar8 = "SECTION";\n      break;\n    case 4:\n      pcVar8 = "FILE";\n      break;\n    case 5:\n      pcVar8 = "COMMON";\n      break;\n    case 6:\n      pcVar8 = "TLS";\n      break;\n    default:\n      free(DAT_0010cbc0);\n      pcVar8 = "<processor specific>: %d";\n      if ((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)) {\n        pcVar8 = "<unknown>: %d";\n      }\n      pcVar8 = (char *)dcgettext(0,pcVar8,5);\n      iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7);\n      pcVar8 = DAT_0010cbc0;\njoined_r0x0010570b:\n      if (iVar3 < 0) {\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    /* WARNING: Subroutine does not return */\n        FUN_00106110("%s",uVar6);\n      }\n    }\nLAB_00105780:\n    printf("%18s|",pcVar8);\n  }\n  if (param_1[2] == 0) {\n    if (param_1[1] != 0) goto LAB_001057a8;\nLAB_00105875:\n    if (DAT_0010cc00 == 0x20) {\n      printf("        ");\n      goto LAB_001057ad;\n    }\n    printf("                ");\n    lVar4 = param_1[2];\n  }\n  else {\n    if (*(long *)(param_1[2] + 0x38) == 0) goto LAB_00105875;\nLAB_001057a8:\n    FUN_00105100();\nLAB_001057ad:\n    lVar4 = param_1[2];\n  }\n  if ((lVar4 != 0) || (lVar4 = param_1[3], lVar4 != 0)) {\n    printf("|     |%s",**(undefined8 **)(lVar4 + 0x20));\n    return;\n  }\nLAB_00105757:\n  printf("|     |");\n  return;\n}\n\n" (function_definition "void FUN_001055c0(long *param_1,undefined8 param_2)\n\n{\n  char cVar1;\n  ushort uVar2;\n  int iVar3;\n  long lVar4;\n  int *piVar5;\n  undefined8 uVar6;\n  byte bVar7;\n  char *pcVar8;\n  \n  FUN_00103ba0("%-20s|",*(undefined8 *)(*param_1 + 0x10),param_2);\n  iVar3 = bfd_is_undefined_symclass((int)*(char *)(*param_1 + 8));\n  if (iVar3 == 0) {\n    FUN_00105100(*(undefined8 *)*param_1);\n  }\n  else if (DAT_0010cc00 == 0x20) {\n    printf("        ");\n  }\n  else {\n    printf("                ");\n  }\n  printf("|   %c  |",(ulong)(uint)(int)*(char *)(*param_1 + 8));\n  if (*(char *)(*param_1 + 8) == '-') {\n    printf("%18s|  ",*(undefined8 *)(*param_1 + 0x20));\n    printf(&DAT_0010c2d0,(ulong)(uint)(int)*(short *)(*param_1 + 0x1a));\n    goto LAB_00105757;\n  }\n  if (param_1[2] == 0) {\n    if (param_1[3] != 0) {\n      lVar4 = *(long *)(param_1[3] + 0x30);\n      cVar1 = *(char *)(lVar4 + 0x28);\n      if (cVar1 == 'g') {\n        pcVar8 = "File";\n      }\n      else if (cVar1 == 'h') {\n        pcVar8 = "Line";\n      }\n      else if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }\n      goto LAB_00105780;\n    }\n    printf("                  |");\n  }\n  else {\n    bVar7 = *(byte *)(param_1[2] + 0x48) & 0xf;\n    switch(bVar7) {\n    case 0:\n      pcVar8 = "NOTYPE";\n      break;\n    case 1:\n      pcVar8 = "OBJECT";\n      break;\n    case 2:\n      pcVar8 = "FUNC";\n      break;\n    case 3:\n      pcVar8 = "SECTION";\n      break;\n    case 4:\n      pcVar8 = "FILE";\n      break;\n    case 5:\n      pcVar8 = "COMMON";\n      break;\n    case 6:\n      pcVar8 = "TLS";\n      break;\n    default:\n      free(DAT_0010cbc0);\n      pcVar8 = "<processor specific>: %d";\n      if ((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)) {\n        pcVar8 = "<unknown>: %d";\n      }\n      pcVar8 = (char *)dcgettext(0,pcVar8,5);\n      iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7);\n      pcVar8 = DAT_0010cbc0;\njoined_r0x0010570b:\n      if (iVar3 < 0) {\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    /* WARNING: Subroutine does not return */\n        FUN_00106110("%s",uVar6);\n      }\n    }\nLAB_00105780:\n    printf("%18s|",pcVar8);\n  }\n  if (param_1[2] == 0) {\n    if (param_1[1] != 0) goto LAB_001057a8;\nLAB_00105875:\n    if (DAT_0010cc00 == 0x20) {\n      printf("        ");\n      goto LAB_001057ad;\n    }\n    printf("                ");\n    lVar4 = param_1[2];\n  }\n  else {\n    if (*(long *)(param_1[2] + 0x38) == 0) goto LAB_00105875;\nLAB_001057a8:\n    FUN_00105100();\nLAB_001057ad:\n    lVar4 = param_1[2];\n  }\n  if ((lVar4 != 0) || (lVar4 = param_1[3], lVar4 != 0)) {\n    printf("|     |%s",**(undefined8 **)(lVar4 + 0x20));\n    return;\n  }\nLAB_00105757:\n  printf("|     |");\n  return;\n}" primitive_type (function_declarator "FUN_001055c0(long *param_1,undefined8 param_2)" identifier (parameter_list "(long *param_1,undefined8 param_2)" ( (parameter_declaration "long *param_1" (sized_type_specifier "long" long) (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined8 param_2" type_identifier identifier) ))) (compound_statement "{\n  char cVar1;\n  ushort uVar2;\n  int iVar3;\n  long lVar4;\n  int *piVar5;\n  undefined8 uVar6;\n  byte bVar7;\n  char *pcVar8;\n  \n  FUN_00103ba0("%-20s|",*(undefined8 *)(*param_1 + 0x10),param_2);\n  iVar3 = bfd_is_undefined_symclass((int)*(char *)(*param_1 + 8));\n  if (iVar3 == 0) {\n    FUN_00105100(*(undefined8 *)*param_1);\n  }\n  else if (DAT_0010cc00 == 0x20) {\n    printf("        ");\n  }\n  else {\n    printf("                ");\n  }\n  printf("|   %c  |",(ulong)(uint)(int)*(char *)(*param_1 + 8));\n  if (*(char *)(*param_1 + 8) == '-') {\n    printf("%18s|  ",*(undefined8 *)(*param_1 + 0x20));\n    printf(&DAT_0010c2d0,(ulong)(uint)(int)*(short *)(*param_1 + 0x1a));\n    goto LAB_00105757;\n  }\n  if (param_1[2] == 0) {\n    if (param_1[3] != 0) {\n      lVar4 = *(long *)(param_1[3] + 0x30);\n      cVar1 = *(char *)(lVar4 + 0x28);\n      if (cVar1 == 'g') {\n        pcVar8 = "File";\n      }\n      else if (cVar1 == 'h') {\n        pcVar8 = "Line";\n      }\n      else if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }\n      goto LAB_00105780;\n    }\n    printf("                  |");\n  }\n  else {\n    bVar7 = *(byte *)(param_1[2] + 0x48) & 0xf;\n    switch(bVar7) {\n    case 0:\n      pcVar8 = "NOTYPE";\n      break;\n    case 1:\n      pcVar8 = "OBJECT";\n      break;\n    case 2:\n      pcVar8 = "FUNC";\n      break;\n    case 3:\n      pcVar8 = "SECTION";\n      break;\n    case 4:\n      pcVar8 = "FILE";\n      break;\n    case 5:\n      pcVar8 = "COMMON";\n      break;\n    case 6:\n      pcVar8 = "TLS";\n      break;\n    default:\n      free(DAT_0010cbc0);\n      pcVar8 = "<processor specific>: %d";\n      if ((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)) {\n        pcVar8 = "<unknown>: %d";\n      }\n      pcVar8 = (char *)dcgettext(0,pcVar8,5);\n      iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7);\n      pcVar8 = DAT_0010cbc0;\njoined_r0x0010570b:\n      if (iVar3 < 0) {\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    /* WARNING: Subroutine does not return */\n        FUN_00106110("%s",uVar6);\n      }\n    }\nLAB_00105780:\n    printf("%18s|",pcVar8);\n  }\n  if (param_1[2] == 0) {\n    if (param_1[1] != 0) goto LAB_001057a8;\nLAB_00105875:\n    if (DAT_0010cc00 == 0x20) {\n      printf("        ");\n      goto LAB_001057ad;\n    }\n    printf("                ");\n    lVar4 = param_1[2];\n  }\n  else {\n    if (*(long *)(param_1[2] + 0x38) == 0) goto LAB_00105875;\nLAB_001057a8:\n    FUN_00105100();\nLAB_001057ad:\n    lVar4 = param_1[2];\n  }\n  if ((lVar4 != 0) || (lVar4 = param_1[3], lVar4 != 0)) {\n    printf("|     |%s",**(undefined8 **)(lVar4 + 0x20));\n    return;\n  }\nLAB_00105757:\n  printf("|     |");\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "byte bVar7;" type_identifier identifier ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (expression_statement "FUN_00103ba0("%-20s|",*(undefined8 *)(*param_1 + 0x10),param_2);" (call_expression "FUN_00103ba0("%-20s|",*(undefined8 *)(*param_1 + 0x10),param_2)" identifier (argument_list "("%-20s|",*(undefined8 *)(*param_1 + 0x10),param_2)" ( (string_literal ""%-20s|"" " string_content ") , (pointer_expression "*(undefined8 *)(*param_1 + 0x10)" * (cast_expression "(undefined8 *)(*param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0x10)" ( (binary_expression "*param_1 + 0x10" (pointer_expression "*param_1" * identifier) + number_literal) )))) , identifier ))) ;) (expression_statement "iVar3 = bfd_is_undefined_symclass((int)*(char *)(*param_1 + 8));" (assignment_expression "iVar3 = bfd_is_undefined_symclass((int)*(char *)(*param_1 + 8))" identifier = (call_expression "bfd_is_undefined_symclass((int)*(char *)(*param_1 + 8))" identifier (argument_list "((int)*(char *)(*param_1 + 8))" ( (cast_expression "(int)*(char *)(*param_1 + 8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)(*param_1 + 8)" * (cast_expression "(char *)(*param_1 + 8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )))) ;) (if_statement "if (iVar3 == 0) {\n    FUN_00105100(*(undefined8 *)*param_1);\n  }\n  else if (DAT_0010cc00 == 0x20) {\n    printf("        ");\n  }\n  else {\n    printf("                ");\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    FUN_00105100(*(undefined8 *)*param_1);\n  }" { (expression_statement "FUN_00105100(*(undefined8 *)*param_1);" (call_expression "FUN_00105100(*(undefined8 *)*param_1)" identifier (argument_list "(*(undefined8 *)*param_1)" ( (pointer_expression "*(undefined8 *)*param_1" * (cast_expression "(undefined8 *)*param_1" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) ))) ;) }) (else_clause "else if (DAT_0010cc00 == 0x20) {\n    printf("        ");\n  }\n  else {\n    printf("                ");\n  }" else (if_statement "if (DAT_0010cc00 == 0x20) {\n    printf("        ");\n  }\n  else {\n    printf("                ");\n  }" if (parenthesized_expression "(DAT_0010cc00 == 0x20)" ( (binary_expression "DAT_0010cc00 == 0x20" identifier == number_literal) )) (compound_statement "{\n    printf("        ");\n  }" { (expression_statement "printf("        ");" (call_expression "printf("        ")" identifier (argument_list "("        ")" ( (string_literal ""        "" " string_content ") ))) ;) }) (else_clause "else {\n    printf("                ");\n  }" else (compound_statement "{\n    printf("                ");\n  }" { (expression_statement "printf("                ");" (call_expression "printf("                ")" identifier (argument_list "("                ")" ( (string_literal ""                "" " string_content ") ))) ;) }))))) (expression_statement "printf("|   %c  |",(ulong)(uint)(int)*(char *)(*param_1 + 8));" (call_expression "printf("|   %c  |",(ulong)(uint)(int)*(char *)(*param_1 + 8))" identifier (argument_list "("|   %c  |",(ulong)(uint)(int)*(char *)(*param_1 + 8))" ( (string_literal ""|   %c  |"" " string_content ") , (binary_expression "(ulong)(uint)(int)*(char *)(*param_1 + 8)" (call_expression "(ulong)(uint)(int)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(int)" ( identifier ))) * (cast_expression "(char *)(*param_1 + 8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) )))) ))) ;) (if_statement "if (*(char *)(*param_1 + 8) == '-') {\n    printf("%18s|  ",*(undefined8 *)(*param_1 + 0x20));\n    printf(&DAT_0010c2d0,(ulong)(uint)(int)*(short *)(*param_1 + 0x1a));\n    goto LAB_00105757;\n  }" if (parenthesized_expression "(*(char *)(*param_1 + 8) == '-')" ( (binary_expression "*(char *)(*param_1 + 8) == '-'" (pointer_expression "*(char *)(*param_1 + 8)" * (cast_expression "(char *)(*param_1 + 8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) )))) == (char_literal "'-'" ' character ')) )) (compound_statement "{\n    printf("%18s|  ",*(undefined8 *)(*param_1 + 0x20));\n    printf(&DAT_0010c2d0,(ulong)(uint)(int)*(short *)(*param_1 + 0x1a));\n    goto LAB_00105757;\n  }" { (expression_statement "printf("%18s|  ",*(undefined8 *)(*param_1 + 0x20));" (call_expression "printf("%18s|  ",*(undefined8 *)(*param_1 + 0x20))" identifier (argument_list "("%18s|  ",*(undefined8 *)(*param_1 + 0x20))" ( (string_literal ""%18s|  "" " string_content ") , (pointer_expression "*(undefined8 *)(*param_1 + 0x20)" * (cast_expression "(undefined8 *)(*param_1 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0x20)" ( (binary_expression "*param_1 + 0x20" (pointer_expression "*param_1" * identifier) + number_literal) )))) ))) ;) (expression_statement "printf(&DAT_0010c2d0,(ulong)(uint)(int)*(short *)(*param_1 + 0x1a));" (call_expression "printf(&DAT_0010c2d0,(ulong)(uint)(int)*(short *)(*param_1 + 0x1a))" identifier (argument_list "(&DAT_0010c2d0,(ulong)(uint)(int)*(short *)(*param_1 + 0x1a))" ( (pointer_expression "&DAT_0010c2d0" & identifier) , (binary_expression "(ulong)(uint)(int)*(short *)(*param_1 + 0x1a)" (call_expression "(ulong)(uint)(int)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(int)" ( identifier ))) * (cast_expression "(short *)(*param_1 + 0x1a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0x1a)" ( (binary_expression "*param_1 + 0x1a" (pointer_expression "*param_1" * identifier) + number_literal) )))) ))) ;) (goto_statement "goto LAB_00105757;" goto statement_identifier ;) })) (if_statement "if (param_1[2] == 0) {\n    if (param_1[3] != 0) {\n      lVar4 = *(long *)(param_1[3] + 0x30);\n      cVar1 = *(char *)(lVar4 + 0x28);\n      if (cVar1 == 'g') {\n        pcVar8 = "File";\n      }\n      else if (cVar1 == 'h') {\n        pcVar8 = "Line";\n      }\n      else if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }\n      goto LAB_00105780;\n    }\n    printf("                  |");\n  }\n  else {\n    bVar7 = *(byte *)(param_1[2] + 0x48) & 0xf;\n    switch(bVar7) {\n    case 0:\n      pcVar8 = "NOTYPE";\n      break;\n    case 1:\n      pcVar8 = "OBJECT";\n      break;\n    case 2:\n      pcVar8 = "FUNC";\n      break;\n    case 3:\n      pcVar8 = "SECTION";\n      break;\n    case 4:\n      pcVar8 = "FILE";\n      break;\n    case 5:\n      pcVar8 = "COMMON";\n      break;\n    case 6:\n      pcVar8 = "TLS";\n      break;\n    default:\n      free(DAT_0010cbc0);\n      pcVar8 = "<processor specific>: %d";\n      if ((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)) {\n        pcVar8 = "<unknown>: %d";\n      }\n      pcVar8 = (char *)dcgettext(0,pcVar8,5);\n      iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7);\n      pcVar8 = DAT_0010cbc0;\njoined_r0x0010570b:\n      if (iVar3 < 0) {\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    /* WARNING: Subroutine does not return */\n        FUN_00106110("%s",uVar6);\n      }\n    }\nLAB_00105780:\n    printf("%18s|",pcVar8);\n  }" if (parenthesized_expression "(param_1[2] == 0)" ( (binary_expression "param_1[2] == 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    if (param_1[3] != 0) {\n      lVar4 = *(long *)(param_1[3] + 0x30);\n      cVar1 = *(char *)(lVar4 + 0x28);\n      if (cVar1 == 'g') {\n        pcVar8 = "File";\n      }\n      else if (cVar1 == 'h') {\n        pcVar8 = "Line";\n      }\n      else if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }\n      goto LAB_00105780;\n    }\n    printf("                  |");\n  }" { (if_statement "if (param_1[3] != 0) {\n      lVar4 = *(long *)(param_1[3] + 0x30);\n      cVar1 = *(char *)(lVar4 + 0x28);\n      if (cVar1 == 'g') {\n        pcVar8 = "File";\n      }\n      else if (cVar1 == 'h') {\n        pcVar8 = "Line";\n      }\n      else if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }\n      goto LAB_00105780;\n    }" if (parenthesized_expression "(param_1[3] != 0)" ( (binary_expression "param_1[3] != 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      lVar4 = *(long *)(param_1[3] + 0x30);\n      cVar1 = *(char *)(lVar4 + 0x28);\n      if (cVar1 == 'g') {\n        pcVar8 = "File";\n      }\n      else if (cVar1 == 'h') {\n        pcVar8 = "Line";\n      }\n      else if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }\n      goto LAB_00105780;\n    }" { (expression_statement "lVar4 = *(long *)(param_1[3] + 0x30);" (assignment_expression "lVar4 = *(long *)(param_1[3] + 0x30)" identifier = (pointer_expression "*(long *)(param_1[3] + 0x30)" * (cast_expression "(long *)(param_1[3] + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[3] + 0x30)" ( (binary_expression "param_1[3] + 0x30" (subscript_expression "param_1[3]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "cVar1 = *(char *)(lVar4 + 0x28);" (assignment_expression "cVar1 = *(char *)(lVar4 + 0x28)" identifier = (pointer_expression "*(char *)(lVar4 + 0x28)" * (cast_expression "(char *)(lVar4 + 0x28)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x28)" ( (binary_expression "lVar4 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (cVar1 == 'g') {\n        pcVar8 = "File";\n      }\n      else if (cVar1 == 'h') {\n        pcVar8 = "Line";\n      }\n      else if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }" if (parenthesized_expression "(cVar1 == 'g')" ( (binary_expression "cVar1 == 'g'" identifier == (char_literal "'g'" ' character ')) )) (compound_statement "{\n        pcVar8 = "File";\n      }" { (expression_statement "pcVar8 = "File";" (assignment_expression "pcVar8 = "File"" identifier = (string_literal ""File"" " string_content ")) ;) }) (else_clause "else if (cVar1 == 'h') {\n        pcVar8 = "Line";\n      }\n      else if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }" else (if_statement "if (cVar1 == 'h') {\n        pcVar8 = "Line";\n      }\n      else if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }" if (parenthesized_expression "(cVar1 == 'h')" ( (binary_expression "cVar1 == 'h'" identifier == (char_literal "'h'" ' character ')) )) (compound_statement "{\n        pcVar8 = "Line";\n      }" { (expression_statement "pcVar8 = "Line";" (assignment_expression "pcVar8 = "Line"" identifier = (string_literal ""Line"" " string_content ")) ;) }) (else_clause "else if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }" else (if_statement "if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }" if (parenthesized_expression "(cVar1 == 'd')" ( (binary_expression "cVar1 == 'd'" identifier == (char_literal "'d'" ' character ')) )) (compound_statement "{\n        pcVar8 = "Block";\n      }" { (expression_statement "pcVar8 = "Block";" (assignment_expression "pcVar8 = "Block"" identifier = (string_literal ""Block"" " string_content ")) ;) }) (else_clause "else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }" else (if_statement "if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }" if (parenthesized_expression "(*(ushort *)(lVar4 + 0x26) == 0)" ( (binary_expression "*(ushort *)(lVar4 + 0x26) == 0" (pointer_expression "*(ushort *)(lVar4 + 0x26)" * (cast_expression "(ushort *)(lVar4 + 0x26)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x26)" ( (binary_expression "lVar4 + 0x26" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        pcVar8 = "None";\n      }" { (expression_statement "pcVar8 = "None";" (assignment_expression "pcVar8 = "None"" identifier = (string_literal ""None"" " string_content ")) ;) }) (else_clause "else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }" else (compound_statement "{\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }" { (expression_statement "uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;" (assignment_expression "uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3" identifier = (binary_expression "*(ushort *)(lVar4 + 0x26) >> 4 & 3" (binary_expression "*(ushort *)(lVar4 + 0x26) >> 4" (pointer_expression "*(ushort *)(lVar4 + 0x26)" * (cast_expression "(ushort *)(lVar4 + 0x26)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x26)" ( (binary_expression "lVar4 + 0x26" identifier + number_literal) )))) >> number_literal) & number_literal)) ;) (if_statement "if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }" if (parenthesized_expression "(uVar2 == 2)" ( (binary_expression "uVar2 == 2" identifier == number_literal) )) (compound_statement "{\n          pcVar8 = "Function";\n        }" { (expression_statement "pcVar8 = "Function";" (assignment_expression "pcVar8 = "Function"" identifier = (string_literal ""Function"" " string_content ")) ;) }) (else_clause "else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }" else (if_statement "if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }" if (parenthesized_expression "(uVar2 == 3)" ( (binary_expression "uVar2 == 3" identifier == number_literal) )) (compound_statement "{\n          pcVar8 = "Array";\n        }" { (expression_statement "pcVar8 = "Array";" (assignment_expression "pcVar8 = "Array"" identifier = (string_literal ""Array"" " string_content ")) ;) }) (else_clause "else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }" else (compound_statement "{\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }" { (if_statement "if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }" if (parenthesized_expression "(uVar2 != 1)" ( (binary_expression "uVar2 != 1" identifier != number_literal) )) (compound_statement "{\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }" { (expression_statement "free(DAT_0010cbb8);" (call_expression "free(DAT_0010cbb8)" identifier (argument_list "(DAT_0010cbb8)" ( identifier ))) ;) (expression_statement "uVar2 = *(ushort *)(lVar4 + 0x26);" (assignment_expression "uVar2 = *(ushort *)(lVar4 + 0x26)" identifier = (pointer_expression "*(ushort *)(lVar4 + 0x26)" * (cast_expression "(ushort *)(lVar4 + 0x26)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x26)" ( (binary_expression "lVar4 + 0x26" identifier + number_literal) ))))) ;) (expression_statement "bVar7 = *(byte *)(lVar4 + 0x28);" (assignment_expression "bVar7 = *(byte *)(lVar4 + 0x28)" identifier = (pointer_expression "*(byte *)(lVar4 + 0x28)" * (cast_expression "(byte *)(lVar4 + 0x28)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x28)" ( (binary_expression "lVar4 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5)" identifier = (cast_expression "(char *)dcgettext(0,"<unknown>: %d/%d",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<unknown>: %d/%d",5)" identifier (argument_list "(0,"<unknown>: %d/%d",5)" ( number_literal , (string_literal ""<unknown>: %d/%d"" " string_content ") , number_literal ))))) ;) (expression_statement "iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);" (assignment_expression "iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2)" identifier = (call_expression "asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2)" identifier (argument_list "(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2)" ( (pointer_expression "&DAT_0010cbb8" & identifier) , identifier , (cast_expression "(ulong)bVar7" ( (type_descriptor "ulong" type_identifier) ) identifier) , (cast_expression "(ulong)uVar2" ( (type_descriptor "ulong" type_identifier) ) identifier) )))) ;) (expression_statement "pcVar8 = DAT_0010cbb8;" (assignment_expression "pcVar8 = DAT_0010cbb8" identifier = identifier) ;) (goto_statement "goto joined_r0x0010570b;" goto statement_identifier ;) })) (expression_statement "pcVar8 = "Pointer";" (assignment_expression "pcVar8 = "Pointer"" identifier = (string_literal ""Pointer"" " string_content ")) ;) }))))) }))))))))) (goto_statement "goto LAB_00105780;" goto statement_identifier ;) })) (expression_statement "printf("                  |");" (call_expression "printf("                  |")" identifier (argument_list "("                  |")" ( (string_literal ""                  |"" " string_content ") ))) ;) }) (else_clause "else {\n    bVar7 = *(byte *)(param_1[2] + 0x48) & 0xf;\n    switch(bVar7) {\n    case 0:\n      pcVar8 = "NOTYPE";\n      break;\n    case 1:\n      pcVar8 = "OBJECT";\n      break;\n    case 2:\n      pcVar8 = "FUNC";\n      break;\n    case 3:\n      pcVar8 = "SECTION";\n      break;\n    case 4:\n      pcVar8 = "FILE";\n      break;\n    case 5:\n      pcVar8 = "COMMON";\n      break;\n    case 6:\n      pcVar8 = "TLS";\n      break;\n    default:\n      free(DAT_0010cbc0);\n      pcVar8 = "<processor specific>: %d";\n      if ((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)) {\n        pcVar8 = "<unknown>: %d";\n      }\n      pcVar8 = (char *)dcgettext(0,pcVar8,5);\n      iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7);\n      pcVar8 = DAT_0010cbc0;\njoined_r0x0010570b:\n      if (iVar3 < 0) {\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    /* WARNING: Subroutine does not return */\n        FUN_00106110("%s",uVar6);\n      }\n    }\nLAB_00105780:\n    printf("%18s|",pcVar8);\n  }" else (compound_statement "{\n    bVar7 = *(byte *)(param_1[2] + 0x48) & 0xf;\n    switch(bVar7) {\n    case 0:\n      pcVar8 = "NOTYPE";\n      break;\n    case 1:\n      pcVar8 = "OBJECT";\n      break;\n    case 2:\n      pcVar8 = "FUNC";\n      break;\n    case 3:\n      pcVar8 = "SECTION";\n      break;\n    case 4:\n      pcVar8 = "FILE";\n      break;\n    case 5:\n      pcVar8 = "COMMON";\n      break;\n    case 6:\n      pcVar8 = "TLS";\n      break;\n    default:\n      free(DAT_0010cbc0);\n      pcVar8 = "<processor specific>: %d";\n      if ((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)) {\n        pcVar8 = "<unknown>: %d";\n      }\n      pcVar8 = (char *)dcgettext(0,pcVar8,5);\n      iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7);\n      pcVar8 = DAT_0010cbc0;\njoined_r0x0010570b:\n      if (iVar3 < 0) {\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    /* WARNING: Subroutine does not return */\n        FUN_00106110("%s",uVar6);\n      }\n    }\nLAB_00105780:\n    printf("%18s|",pcVar8);\n  }" { (expression_statement "bVar7 = *(byte *)(param_1[2] + 0x48) & 0xf;" (assignment_expression "bVar7 = *(byte *)(param_1[2] + 0x48) & 0xf" identifier = (binary_expression "*(byte *)(param_1[2] + 0x48) & 0xf" (pointer_expression "*(byte *)(param_1[2] + 0x48)" * (cast_expression "(byte *)(param_1[2] + 0x48)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[2] + 0x48)" ( (binary_expression "param_1[2] + 0x48" (subscript_expression "param_1[2]" identifier [ number_literal ]) + number_literal) )))) & number_literal)) ;) (switch_statement "switch(bVar7) {\n    case 0:\n      pcVar8 = "NOTYPE";\n      break;\n    case 1:\n      pcVar8 = "OBJECT";\n      break;\n    case 2:\n      pcVar8 = "FUNC";\n      break;\n    case 3:\n      pcVar8 = "SECTION";\n      break;\n    case 4:\n      pcVar8 = "FILE";\n      break;\n    case 5:\n      pcVar8 = "COMMON";\n      break;\n    case 6:\n      pcVar8 = "TLS";\n      break;\n    default:\n      free(DAT_0010cbc0);\n      pcVar8 = "<processor specific>: %d";\n      if ((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)) {\n        pcVar8 = "<unknown>: %d";\n      }\n      pcVar8 = (char *)dcgettext(0,pcVar8,5);\n      iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7);\n      pcVar8 = DAT_0010cbc0;\njoined_r0x0010570b:\n      if (iVar3 < 0) {\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    /* WARNING: Subroutine does not return */\n        FUN_00106110("%s",uVar6);\n      }\n    }" switch (parenthesized_expression "(bVar7)" ( identifier )) (compound_statement "{\n    case 0:\n      pcVar8 = "NOTYPE";\n      break;\n    case 1:\n      pcVar8 = "OBJECT";\n      break;\n    case 2:\n      pcVar8 = "FUNC";\n      break;\n    case 3:\n      pcVar8 = "SECTION";\n      break;\n    case 4:\n      pcVar8 = "FILE";\n      break;\n    case 5:\n      pcVar8 = "COMMON";\n      break;\n    case 6:\n      pcVar8 = "TLS";\n      break;\n    default:\n      free(DAT_0010cbc0);\n      pcVar8 = "<processor specific>: %d";\n      if ((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)) {\n        pcVar8 = "<unknown>: %d";\n      }\n      pcVar8 = (char *)dcgettext(0,pcVar8,5);\n      iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7);\n      pcVar8 = DAT_0010cbc0;\njoined_r0x0010570b:\n      if (iVar3 < 0) {\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    /* WARNING: Subroutine does not return */\n        FUN_00106110("%s",uVar6);\n      }\n    }" { (case_statement "case 0:\n      pcVar8 = "NOTYPE";\n      break;" case number_literal : (expression_statement "pcVar8 = "NOTYPE";" (assignment_expression "pcVar8 = "NOTYPE"" identifier = (string_literal ""NOTYPE"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 1:\n      pcVar8 = "OBJECT";\n      break;" case number_literal : (expression_statement "pcVar8 = "OBJECT";" (assignment_expression "pcVar8 = "OBJECT"" identifier = (string_literal ""OBJECT"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n      pcVar8 = "FUNC";\n      break;" case number_literal : (expression_statement "pcVar8 = "FUNC";" (assignment_expression "pcVar8 = "FUNC"" identifier = (string_literal ""FUNC"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n      pcVar8 = "SECTION";\n      break;" case number_literal : (expression_statement "pcVar8 = "SECTION";" (assignment_expression "pcVar8 = "SECTION"" identifier = (string_literal ""SECTION"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n      pcVar8 = "FILE";\n      break;" case number_literal : (expression_statement "pcVar8 = "FILE";" (assignment_expression "pcVar8 = "FILE"" identifier = (string_literal ""FILE"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n      pcVar8 = "COMMON";\n      break;" case number_literal : (expression_statement "pcVar8 = "COMMON";" (assignment_expression "pcVar8 = "COMMON"" identifier = (string_literal ""COMMON"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n      pcVar8 = "TLS";\n      break;" case number_literal : (expression_statement "pcVar8 = "TLS";" (assignment_expression "pcVar8 = "TLS"" identifier = (string_literal ""TLS"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "default:\n      free(DAT_0010cbc0);\n      pcVar8 = "<processor specific>: %d";\n      if ((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)) {\n        pcVar8 = "<unknown>: %d";\n      }\n      pcVar8 = (char *)dcgettext(0,pcVar8,5);\n      iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7);\n      pcVar8 = DAT_0010cbc0;\njoined_r0x0010570b:\n      if (iVar3 < 0) {\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    /* WARNING: Subroutine does not return */\n        FUN_00106110("%s",uVar6);\n      }" default : (expression_statement "free(DAT_0010cbc0);" (call_expression "free(DAT_0010cbc0)" identifier (argument_list "(DAT_0010cbc0)" ( identifier ))) ;) (expression_statement "pcVar8 = "<processor specific>: %d";" (assignment_expression "pcVar8 = "<processor specific>: %d"" identifier = (string_literal ""<processor specific>: %d"" " string_content ")) ;) (if_statement "if ((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)) {\n        pcVar8 = "<unknown>: %d";\n      }" if (parenthesized_expression "((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10))" ( (binary_expression "(2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)" (parenthesized_expression "(2 < bVar7 - 0xd)" ( (binary_expression "2 < bVar7 - 0xd" number_literal < (binary_expression "bVar7 - 0xd" identifier - number_literal)) )) && (parenthesized_expression "(pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)" ( (comma_expression "pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10" (assignment_expression "pcVar8 = "<OS specific>: %d"" identifier = (string_literal ""<OS specific>: %d"" " string_content ")) , (binary_expression "2 < bVar7 - 10" number_literal < (binary_expression "bVar7 - 10" identifier - number_literal))) ))) )) (compound_statement "{\n        pcVar8 = "<unknown>: %d";\n      }" { (expression_statement "pcVar8 = "<unknown>: %d";" (assignment_expression "pcVar8 = "<unknown>: %d"" identifier = (string_literal ""<unknown>: %d"" " string_content ")) ;) })) (expression_statement "pcVar8 = (char *)dcgettext(0,pcVar8,5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,pcVar8,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar8,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar8,5)" identifier (argument_list "(0,pcVar8,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7);" (assignment_expression "iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7)" identifier = (call_expression "asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7)" identifier (argument_list "(&DAT_0010cbc0,pcVar8,(ulong)bVar7)" ( (pointer_expression "&DAT_0010cbc0" & identifier) , identifier , (cast_expression "(ulong)bVar7" ( (type_descriptor "ulong" type_identifier) ) identifier) )))) ;) (expression_statement "pcVar8 = DAT_0010cbc0;" (assignment_expression "pcVar8 = DAT_0010cbc0" identifier = identifier) ;) (labeled_statement "joined_r0x0010570b:\n      if (iVar3 < 0) {\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    /* WARNING: Subroutine does not return */\n        FUN_00106110("%s",uVar6);\n      }" statement_identifier : (if_statement "if (iVar3 < 0) {\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    /* WARNING: Subroutine does not return */\n        FUN_00106110("%s",uVar6);\n      }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    /* WARNING: Subroutine does not return */\n        FUN_00106110("%s",uVar6);\n      }" { (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar6 = xstrerror(*piVar5);" (assignment_expression "uVar6 = xstrerror(*piVar5)" identifier = (call_expression "xstrerror(*piVar5)" identifier (argument_list "(*piVar5)" ( (pointer_expression "*piVar5" * identifier) )))) ;) comment (expression_statement "FUN_00106110("%s",uVar6);" (call_expression "FUN_00106110("%s",uVar6)" identifier (argument_list "("%s",uVar6)" ( (string_literal ""%s"" " string_content ") , identifier ))) ;) })))) })) (labeled_statement "LAB_00105780:\n    printf("%18s|",pcVar8);" statement_identifier : (expression_statement "printf("%18s|",pcVar8);" (call_expression "printf("%18s|",pcVar8)" identifier (argument_list "("%18s|",pcVar8)" ( (string_literal ""%18s|"" " string_content ") , identifier ))) ;)) }))) (if_statement "if (param_1[2] == 0) {\n    if (param_1[1] != 0) goto LAB_001057a8;\nLAB_00105875:\n    if (DAT_0010cc00 == 0x20) {\n      printf("        ");\n      goto LAB_001057ad;\n    }\n    printf("                ");\n    lVar4 = param_1[2];\n  }\n  else {\n    if (*(long *)(param_1[2] + 0x38) == 0) goto LAB_00105875;\nLAB_001057a8:\n    FUN_00105100();\nLAB_001057ad:\n    lVar4 = param_1[2];\n  }" if (parenthesized_expression "(param_1[2] == 0)" ( (binary_expression "param_1[2] == 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    if (param_1[1] != 0) goto LAB_001057a8;\nLAB_00105875:\n    if (DAT_0010cc00 == 0x20) {\n      printf("        ");\n      goto LAB_001057ad;\n    }\n    printf("                ");\n    lVar4 = param_1[2];\n  }" { (if_statement "if (param_1[1] != 0) goto LAB_001057a8;" if (parenthesized_expression "(param_1[1] != 0)" ( (binary_expression "param_1[1] != 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_001057a8;" goto statement_identifier ;)) (labeled_statement "LAB_00105875:\n    if (DAT_0010cc00 == 0x20) {\n      printf("        ");\n      goto LAB_001057ad;\n    }" statement_identifier : (if_statement "if (DAT_0010cc00 == 0x20) {\n      printf("        ");\n      goto LAB_001057ad;\n    }" if (parenthesized_expression "(DAT_0010cc00 == 0x20)" ( (binary_expression "DAT_0010cc00 == 0x20" identifier == number_literal) )) (compound_statement "{\n      printf("        ");\n      goto LAB_001057ad;\n    }" { (expression_statement "printf("        ");" (call_expression "printf("        ")" identifier (argument_list "("        ")" ( (string_literal ""        "" " string_content ") ))) ;) (goto_statement "goto LAB_001057ad;" goto statement_identifier ;) }))) (expression_statement "printf("                ");" (call_expression "printf("                ")" identifier (argument_list "("                ")" ( (string_literal ""                "" " string_content ") ))) ;) (expression_statement "lVar4 = param_1[2];" (assignment_expression "lVar4 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) }) (else_clause "else {\n    if (*(long *)(param_1[2] + 0x38) == 0) goto LAB_00105875;\nLAB_001057a8:\n    FUN_00105100();\nLAB_001057ad:\n    lVar4 = param_1[2];\n  }" else (compound_statement "{\n    if (*(long *)(param_1[2] + 0x38) == 0) goto LAB_00105875;\nLAB_001057a8:\n    FUN_00105100();\nLAB_001057ad:\n    lVar4 = param_1[2];\n  }" { (if_statement "if (*(long *)(param_1[2] + 0x38) == 0) goto LAB_00105875;" if (parenthesized_expression "(*(long *)(param_1[2] + 0x38) == 0)" ( (binary_expression "*(long *)(param_1[2] + 0x38) == 0" (pointer_expression "*(long *)(param_1[2] + 0x38)" * (cast_expression "(long *)(param_1[2] + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[2] + 0x38)" ( (binary_expression "param_1[2] + 0x38" (subscript_expression "param_1[2]" identifier [ number_literal ]) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_00105875;" goto statement_identifier ;)) (labeled_statement "LAB_001057a8:\n    FUN_00105100();" statement_identifier : (expression_statement "FUN_00105100();" (call_expression "FUN_00105100()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_001057ad:\n    lVar4 = param_1[2];" statement_identifier : (expression_statement "lVar4 = param_1[2];" (assignment_expression "lVar4 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;)) }))) (if_statement "if ((lVar4 != 0) || (lVar4 = param_1[3], lVar4 != 0)) {\n    printf("|     |%s",**(undefined8 **)(lVar4 + 0x20));\n    return;\n  }" if (parenthesized_expression "((lVar4 != 0) || (lVar4 = param_1[3], lVar4 != 0))" ( (binary_expression "(lVar4 != 0) || (lVar4 = param_1[3], lVar4 != 0)" (parenthesized_expression "(lVar4 != 0)" ( (binary_expression "lVar4 != 0" identifier != number_literal) )) || (parenthesized_expression "(lVar4 = param_1[3], lVar4 != 0)" ( (comma_expression "lVar4 = param_1[3], lVar4 != 0" (assignment_expression "lVar4 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) , (binary_expression "lVar4 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    printf("|     |%s",**(undefined8 **)(lVar4 + 0x20));\n    return;\n  }" { (expression_statement "printf("|     |%s",**(undefined8 **)(lVar4 + 0x20));" (call_expression "printf("|     |%s",**(undefined8 **)(lVar4 + 0x20))" identifier (argument_list "("|     |%s",**(undefined8 **)(lVar4 + 0x20))" ( (string_literal ""|     |%s"" " string_content ") , (pointer_expression "**(undefined8 **)(lVar4 + 0x20)" * (pointer_expression "*(undefined8 **)(lVar4 + 0x20)" * (cast_expression "(undefined8 **)(lVar4 + 0x20)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar4 + 0x20)" ( (binary_expression "lVar4 + 0x20" identifier + number_literal) ))))) ))) ;) (return_statement "return;" return ;) })) (labeled_statement "LAB_00105757:\n  printf("|     |");" statement_identifier : (expression_statement "printf("|     |");" (call_expression "printf("|     |")" identifier (argument_list "("|     |")" ( (string_literal ""|     |"" " string_content ") ))) ;)) (return_statement "return;" return ;) })))
(translation_unit "void print_symbol_info_sysv(extended_symbol_info *info,bfd *abfd)\n\n{\n  uchar uVar1;\n  combined_entry_type *pcVar2;\n  ushort uVar3;\n  int iVar4;\n  elf_symbol_type *peVar5;\n  int *piVar6;\n  undefined8 uVar7;\n  byte bVar8;\n  char *pcVar9;\n  bfd *abfd_00;\n  \n  pcVar9 = info->sinfo->name;\n  print_symname("%-20s|",pcVar9,abfd);\n  iVar4 = bfd_is_undefined_symclass((int)info->sinfo->type);\n  if (iVar4 == 0) {\n    print_value((bfd *)info->sinfo->value,(bfd_vma)pcVar9);\n  }\n  else if (print_width == 0x20) {\n    printf("        ");\n  }\n  else {\n    printf("                ");\n  }\n  pcVar9 = (char *)(ulong)(uint)(int)info->sinfo->type;\n  printf("|   %c  |");\n  if (info->sinfo->type == '-') {\n    printf("%18s|  ",info->sinfo->stab_name);\n    printf(desc_format,(ulong)(uint)(int)info->sinfo->stab_desc);\n    goto LAB_00105757;\n  }\n  if (info->elfinfo == (elf_symbol_type *)0x0) {\n    if (info->coffinfo != (coff_symbol_type *)0x0) {\n      pcVar2 = info->coffinfo->native;\n      uVar1 = (pcVar2->u).syment.n_sclass;\n      if (uVar1 == 'g') {\n        pcVar9 = "File";\n      }\n      else if (uVar1 == 'h') {\n        pcVar9 = "Line";\n      }\n      else if (uVar1 == 'd') {\n        pcVar9 = "Block";\n      }\n      else {\n        uVar3 = (pcVar2->u).syment.n_type;\n        if (uVar3 == 0) {\n          pcVar9 = "None";\n        }\n        else {\n          uVar3 = uVar3 >> 4 & 3;\n          if (uVar3 == 2) {\n            pcVar9 = "Function";\n          }\n          else if (uVar3 == 3) {\n            pcVar9 = "Array";\n          }\n          else {\n            if (uVar3 != 1) {\n              free(bufp_13492);\n              uVar3 = (pcVar2->u).syment.n_type;\n              bVar8 = (pcVar2->u).syment.n_sclass;\n              pcVar9 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n              iVar4 = asprintf(&bufp_13492,pcVar9,(ulong)bVar8,(ulong)uVar3);\n              pcVar9 = bufp_13492;\n              goto joined_r0x0010570b;\n            }\n            pcVar9 = "Pointer";\n          }\n        }\n      }\n      goto LAB_00105780;\n    }\n    printf("                  |");\n  }\n  else {\n    bVar8 = (info->elfinfo->internal_elf_sym).st_info & 0xf;\n    switch(bVar8) {\n    case 0:\n      pcVar9 = "NOTYPE";\n      break;\n    case 1:\n      pcVar9 = "OBJECT";\n      break;\n    case 2:\n      pcVar9 = "FUNC";\n      break;\n    case 3:\n      pcVar9 = "SECTION";\n      break;\n    case 4:\n      pcVar9 = "FILE";\n      break;\n    case 5:\n      pcVar9 = "COMMON";\n      break;\n    case 6:\n      pcVar9 = "TLS";\n      break;\n    default:\n      free(bufp_13480);\n      pcVar9 = "<processor specific>: %d";\n      if ((2 < bVar8 - 0xd) && (pcVar9 = "<OS specific>: %d", 2 < bVar8 - 10)) {\n        pcVar9 = "<unknown>: %d";\n      }\n      pcVar9 = (char *)dcgettext(0,pcVar9,5);\n      iVar4 = asprintf(&bufp_13480,pcVar9,(ulong)bVar8);\n      pcVar9 = bufp_13480;\njoined_r0x0010570b:\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        uVar7 = xstrerror(*piVar6);\n                    /* WARNING: Subroutine does not return */\n        fatal("%s",uVar7);\n      }\n    }\nLAB_00105780:\n    printf("%18s|");\n  }\n  if (info->elfinfo == (elf_symbol_type *)0x0) {\n    abfd_00 = (bfd *)info->ssize;\n    if (abfd_00 != (bfd *)0x0) goto LAB_001057a8;\nLAB_00105875:\n    if (print_width == 0x20) {\n      printf("        ");\n      goto LAB_001057ad;\n    }\n    printf("                ");\n    peVar5 = info->elfinfo;\n  }\n  else {\n    abfd_00 = (bfd *)(info->elfinfo->internal_elf_sym).st_size;\n    if (abfd_00 == (bfd *)0x0) goto LAB_00105875;\nLAB_001057a8:\n    print_value(abfd_00,(bfd_vma)pcVar9);\nLAB_001057ad:\n    peVar5 = info->elfinfo;\n  }\n  if ((peVar5 != (elf_symbol_type *)0x0) ||\n     (peVar5 = (elf_symbol_type *)info->coffinfo, peVar5 != (elf_symbol_type *)0x0)) {\n    printf("|     |%s",((peVar5->symbol).section)->name);\n    return;\n  }\nLAB_00105757:\n  printf("|     |");\n  return;\n}\n\n" (function_definition "void print_symbol_info_sysv(extended_symbol_info *info,bfd *abfd)\n\n{\n  uchar uVar1;\n  combined_entry_type *pcVar2;\n  ushort uVar3;\n  int iVar4;\n  elf_symbol_type *peVar5;\n  int *piVar6;\n  undefined8 uVar7;\n  byte bVar8;\n  char *pcVar9;\n  bfd *abfd_00;\n  \n  pcVar9 = info->sinfo->name;\n  print_symname("%-20s|",pcVar9,abfd);\n  iVar4 = bfd_is_undefined_symclass((int)info->sinfo->type);\n  if (iVar4 == 0) {\n    print_value((bfd *)info->sinfo->value,(bfd_vma)pcVar9);\n  }\n  else if (print_width == 0x20) {\n    printf("        ");\n  }\n  else {\n    printf("                ");\n  }\n  pcVar9 = (char *)(ulong)(uint)(int)info->sinfo->type;\n  printf("|   %c  |");\n  if (info->sinfo->type == '-') {\n    printf("%18s|  ",info->sinfo->stab_name);\n    printf(desc_format,(ulong)(uint)(int)info->sinfo->stab_desc);\n    goto LAB_00105757;\n  }\n  if (info->elfinfo == (elf_symbol_type *)0x0) {\n    if (info->coffinfo != (coff_symbol_type *)0x0) {\n      pcVar2 = info->coffinfo->native;\n      uVar1 = (pcVar2->u).syment.n_sclass;\n      if (uVar1 == 'g') {\n        pcVar9 = "File";\n      }\n      else if (uVar1 == 'h') {\n        pcVar9 = "Line";\n      }\n      else if (uVar1 == 'd') {\n        pcVar9 = "Block";\n      }\n      else {\n        uVar3 = (pcVar2->u).syment.n_type;\n        if (uVar3 == 0) {\n          pcVar9 = "None";\n        }\n        else {\n          uVar3 = uVar3 >> 4 & 3;\n          if (uVar3 == 2) {\n            pcVar9 = "Function";\n          }\n          else if (uVar3 == 3) {\n            pcVar9 = "Array";\n          }\n          else {\n            if (uVar3 != 1) {\n              free(bufp_13492);\n              uVar3 = (pcVar2->u).syment.n_type;\n              bVar8 = (pcVar2->u).syment.n_sclass;\n              pcVar9 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n              iVar4 = asprintf(&bufp_13492,pcVar9,(ulong)bVar8,(ulong)uVar3);\n              pcVar9 = bufp_13492;\n              goto joined_r0x0010570b;\n            }\n            pcVar9 = "Pointer";\n          }\n        }\n      }\n      goto LAB_00105780;\n    }\n    printf("                  |");\n  }\n  else {\n    bVar8 = (info->elfinfo->internal_elf_sym).st_info & 0xf;\n    switch(bVar8) {\n    case 0:\n      pcVar9 = "NOTYPE";\n      break;\n    case 1:\n      pcVar9 = "OBJECT";\n      break;\n    case 2:\n      pcVar9 = "FUNC";\n      break;\n    case 3:\n      pcVar9 = "SECTION";\n      break;\n    case 4:\n      pcVar9 = "FILE";\n      break;\n    case 5:\n      pcVar9 = "COMMON";\n      break;\n    case 6:\n      pcVar9 = "TLS";\n      break;\n    default:\n      free(bufp_13480);\n      pcVar9 = "<processor specific>: %d";\n      if ((2 < bVar8 - 0xd) && (pcVar9 = "<OS specific>: %d", 2 < bVar8 - 10)) {\n        pcVar9 = "<unknown>: %d";\n      }\n      pcVar9 = (char *)dcgettext(0,pcVar9,5);\n      iVar4 = asprintf(&bufp_13480,pcVar9,(ulong)bVar8);\n      pcVar9 = bufp_13480;\njoined_r0x0010570b:\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        uVar7 = xstrerror(*piVar6);\n                    /* WARNING: Subroutine does not return */\n        fatal("%s",uVar7);\n      }\n    }\nLAB_00105780:\n    printf("%18s|");\n  }\n  if (info->elfinfo == (elf_symbol_type *)0x0) {\n    abfd_00 = (bfd *)info->ssize;\n    if (abfd_00 != (bfd *)0x0) goto LAB_001057a8;\nLAB_00105875:\n    if (print_width == 0x20) {\n      printf("        ");\n      goto LAB_001057ad;\n    }\n    printf("                ");\n    peVar5 = info->elfinfo;\n  }\n  else {\n    abfd_00 = (bfd *)(info->elfinfo->internal_elf_sym).st_size;\n    if (abfd_00 == (bfd *)0x0) goto LAB_00105875;\nLAB_001057a8:\n    print_value(abfd_00,(bfd_vma)pcVar9);\nLAB_001057ad:\n    peVar5 = info->elfinfo;\n  }\n  if ((peVar5 != (elf_symbol_type *)0x0) ||\n     (peVar5 = (elf_symbol_type *)info->coffinfo, peVar5 != (elf_symbol_type *)0x0)) {\n    printf("|     |%s",((peVar5->symbol).section)->name);\n    return;\n  }\nLAB_00105757:\n  printf("|     |");\n  return;\n}" primitive_type (function_declarator "print_symbol_info_sysv(extended_symbol_info *info,bfd *abfd)" identifier (parameter_list "(extended_symbol_info *info,bfd *abfd)" ( (parameter_declaration "extended_symbol_info *info" type_identifier (pointer_declarator "*info" * identifier)) , (parameter_declaration "bfd *abfd" type_identifier (pointer_declarator "*abfd" * identifier)) ))) (compound_statement "{\n  uchar uVar1;\n  combined_entry_type *pcVar2;\n  ushort uVar3;\n  int iVar4;\n  elf_symbol_type *peVar5;\n  int *piVar6;\n  undefined8 uVar7;\n  byte bVar8;\n  char *pcVar9;\n  bfd *abfd_00;\n  \n  pcVar9 = info->sinfo->name;\n  print_symname("%-20s|",pcVar9,abfd);\n  iVar4 = bfd_is_undefined_symclass((int)info->sinfo->type);\n  if (iVar4 == 0) {\n    print_value((bfd *)info->sinfo->value,(bfd_vma)pcVar9);\n  }\n  else if (print_width == 0x20) {\n    printf("        ");\n  }\n  else {\n    printf("                ");\n  }\n  pcVar9 = (char *)(ulong)(uint)(int)info->sinfo->type;\n  printf("|   %c  |");\n  if (info->sinfo->type == '-') {\n    printf("%18s|  ",info->sinfo->stab_name);\n    printf(desc_format,(ulong)(uint)(int)info->sinfo->stab_desc);\n    goto LAB_00105757;\n  }\n  if (info->elfinfo == (elf_symbol_type *)0x0) {\n    if (info->coffinfo != (coff_symbol_type *)0x0) {\n      pcVar2 = info->coffinfo->native;\n      uVar1 = (pcVar2->u).syment.n_sclass;\n      if (uVar1 == 'g') {\n        pcVar9 = "File";\n      }\n      else if (uVar1 == 'h') {\n        pcVar9 = "Line";\n      }\n      else if (uVar1 == 'd') {\n        pcVar9 = "Block";\n      }\n      else {\n        uVar3 = (pcVar2->u).syment.n_type;\n        if (uVar3 == 0) {\n          pcVar9 = "None";\n        }\n        else {\n          uVar3 = uVar3 >> 4 & 3;\n          if (uVar3 == 2) {\n            pcVar9 = "Function";\n          }\n          else if (uVar3 == 3) {\n            pcVar9 = "Array";\n          }\n          else {\n            if (uVar3 != 1) {\n              free(bufp_13492);\n              uVar3 = (pcVar2->u).syment.n_type;\n              bVar8 = (pcVar2->u).syment.n_sclass;\n              pcVar9 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n              iVar4 = asprintf(&bufp_13492,pcVar9,(ulong)bVar8,(ulong)uVar3);\n              pcVar9 = bufp_13492;\n              goto joined_r0x0010570b;\n            }\n            pcVar9 = "Pointer";\n          }\n        }\n      }\n      goto LAB_00105780;\n    }\n    printf("                  |");\n  }\n  else {\n    bVar8 = (info->elfinfo->internal_elf_sym).st_info & 0xf;\n    switch(bVar8) {\n    case 0:\n      pcVar9 = "NOTYPE";\n      break;\n    case 1:\n      pcVar9 = "OBJECT";\n      break;\n    case 2:\n      pcVar9 = "FUNC";\n      break;\n    case 3:\n      pcVar9 = "SECTION";\n      break;\n    case 4:\n      pcVar9 = "FILE";\n      break;\n    case 5:\n      pcVar9 = "COMMON";\n      break;\n    case 6:\n      pcVar9 = "TLS";\n      break;\n    default:\n      free(bufp_13480);\n      pcVar9 = "<processor specific>: %d";\n      if ((2 < bVar8 - 0xd) && (pcVar9 = "<OS specific>: %d", 2 < bVar8 - 10)) {\n        pcVar9 = "<unknown>: %d";\n      }\n      pcVar9 = (char *)dcgettext(0,pcVar9,5);\n      iVar4 = asprintf(&bufp_13480,pcVar9,(ulong)bVar8);\n      pcVar9 = bufp_13480;\njoined_r0x0010570b:\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        uVar7 = xstrerror(*piVar6);\n                    /* WARNING: Subroutine does not return */\n        fatal("%s",uVar7);\n      }\n    }\nLAB_00105780:\n    printf("%18s|");\n  }\n  if (info->elfinfo == (elf_symbol_type *)0x0) {\n    abfd_00 = (bfd *)info->ssize;\n    if (abfd_00 != (bfd *)0x0) goto LAB_001057a8;\nLAB_00105875:\n    if (print_width == 0x20) {\n      printf("        ");\n      goto LAB_001057ad;\n    }\n    printf("                ");\n    peVar5 = info->elfinfo;\n  }\n  else {\n    abfd_00 = (bfd *)(info->elfinfo->internal_elf_sym).st_size;\n    if (abfd_00 == (bfd *)0x0) goto LAB_00105875;\nLAB_001057a8:\n    print_value(abfd_00,(bfd_vma)pcVar9);\nLAB_001057ad:\n    peVar5 = info->elfinfo;\n  }\n  if ((peVar5 != (elf_symbol_type *)0x0) ||\n     (peVar5 = (elf_symbol_type *)info->coffinfo, peVar5 != (elf_symbol_type *)0x0)) {\n    printf("|     |%s",((peVar5->symbol).section)->name);\n    return;\n  }\nLAB_00105757:\n  printf("|     |");\n  return;\n}" { (declaration "uchar uVar1;" type_identifier identifier ;) (declaration "combined_entry_type *pcVar2;" type_identifier (pointer_declarator "*pcVar2" * identifier) ;) (declaration "ushort uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "elf_symbol_type *peVar5;" type_identifier (pointer_declarator "*peVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "undefined8 uVar7;" type_identifier identifier ;) (declaration "byte bVar8;" type_identifier identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "bfd *abfd_00;" type_identifier (pointer_declarator "*abfd_00" * identifier) ;) (expression_statement "pcVar9 = info->sinfo->name;" (assignment_expression "pcVar9 = info->sinfo->name" identifier = (field_expression "info->sinfo->name" (field_expression "info->sinfo" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "print_symname("%-20s|",pcVar9,abfd);" (call_expression "print_symname("%-20s|",pcVar9,abfd)" identifier (argument_list "("%-20s|",pcVar9,abfd)" ( (string_literal ""%-20s|"" " string_content ") , identifier , identifier ))) ;) (expression_statement "iVar4 = bfd_is_undefined_symclass((int)info->sinfo->type);" (assignment_expression "iVar4 = bfd_is_undefined_symclass((int)info->sinfo->type)" identifier = (call_expression "bfd_is_undefined_symclass((int)info->sinfo->type)" identifier (argument_list "((int)info->sinfo->type)" ( (cast_expression "(int)info->sinfo->type" ( (type_descriptor "int" primitive_type) ) (field_expression "info->sinfo->type" (field_expression "info->sinfo" identifier -> field_identifier) -> field_identifier)) )))) ;) (if_statement "if (iVar4 == 0) {\n    print_value((bfd *)info->sinfo->value,(bfd_vma)pcVar9);\n  }\n  else if (print_width == 0x20) {\n    printf("        ");\n  }\n  else {\n    printf("                ");\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    print_value((bfd *)info->sinfo->value,(bfd_vma)pcVar9);\n  }" { (expression_statement "print_value((bfd *)info->sinfo->value,(bfd_vma)pcVar9);" (call_expression "print_value((bfd *)info->sinfo->value,(bfd_vma)pcVar9)" identifier (argument_list "((bfd *)info->sinfo->value,(bfd_vma)pcVar9)" ( (cast_expression "(bfd *)info->sinfo->value" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "info->sinfo->value" (field_expression "info->sinfo" identifier -> field_identifier) -> field_identifier)) , (cast_expression "(bfd_vma)pcVar9" ( (type_descriptor "bfd_vma" type_identifier) ) identifier) ))) ;) }) (else_clause "else if (print_width == 0x20) {\n    printf("        ");\n  }\n  else {\n    printf("                ");\n  }" else (if_statement "if (print_width == 0x20) {\n    printf("        ");\n  }\n  else {\n    printf("                ");\n  }" if (parenthesized_expression "(print_width == 0x20)" ( (binary_expression "print_width == 0x20" identifier == number_literal) )) (compound_statement "{\n    printf("        ");\n  }" { (expression_statement "printf("        ");" (call_expression "printf("        ")" identifier (argument_list "("        ")" ( (string_literal ""        "" " string_content ") ))) ;) }) (else_clause "else {\n    printf("                ");\n  }" else (compound_statement "{\n    printf("                ");\n  }" { (expression_statement "printf("                ");" (call_expression "printf("                ")" identifier (argument_list "("                ")" ( (string_literal ""                "" " string_content ") ))) ;) }))))) (expression_statement "pcVar9 = (char *)(ulong)(uint)(int)info->sinfo->type;" (assignment_expression "pcVar9 = (char *)(ulong)(uint)(int)info->sinfo->type" identifier = (cast_expression "(char *)(ulong)(uint)(int)info->sinfo->type" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)(uint)(int)info->sinfo->type" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)(int)info->sinfo->type" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(int)info->sinfo->type" ( (type_descriptor "int" primitive_type) ) (field_expression "info->sinfo->type" (field_expression "info->sinfo" identifier -> field_identifier) -> field_identifier)))))) ;) (expression_statement "printf("|   %c  |");" (call_expression "printf("|   %c  |")" identifier (argument_list "("|   %c  |")" ( (string_literal ""|   %c  |"" " string_content ") ))) ;) (if_statement "if (info->sinfo->type == '-') {\n    printf("%18s|  ",info->sinfo->stab_name);\n    printf(desc_format,(ulong)(uint)(int)info->sinfo->stab_desc);\n    goto LAB_00105757;\n  }" if (parenthesized_expression "(info->sinfo->type == '-')" ( (binary_expression "info->sinfo->type == '-'" (field_expression "info->sinfo->type" (field_expression "info->sinfo" identifier -> field_identifier) -> field_identifier) == (char_literal "'-'" ' character ')) )) (compound_statement "{\n    printf("%18s|  ",info->sinfo->stab_name);\n    printf(desc_format,(ulong)(uint)(int)info->sinfo->stab_desc);\n    goto LAB_00105757;\n  }" { (expression_statement "printf("%18s|  ",info->sinfo->stab_name);" (call_expression "printf("%18s|  ",info->sinfo->stab_name)" identifier (argument_list "("%18s|  ",info->sinfo->stab_name)" ( (string_literal ""%18s|  "" " string_content ") , (field_expression "info->sinfo->stab_name" (field_expression "info->sinfo" identifier -> field_identifier) -> field_identifier) ))) ;) (expression_statement "printf(desc_format,(ulong)(uint)(int)info->sinfo->stab_desc);" (call_expression "printf(desc_format,(ulong)(uint)(int)info->sinfo->stab_desc)" identifier (argument_list "(desc_format,(ulong)(uint)(int)info->sinfo->stab_desc)" ( identifier , (cast_expression "(ulong)(uint)(int)info->sinfo->stab_desc" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)(int)info->sinfo->stab_desc" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(int)info->sinfo->stab_desc" ( (type_descriptor "int" primitive_type) ) (field_expression "info->sinfo->stab_desc" (field_expression "info->sinfo" identifier -> field_identifier) -> field_identifier)))) ))) ;) (goto_statement "goto LAB_00105757;" goto statement_identifier ;) })) (if_statement "if (info->elfinfo == (elf_symbol_type *)0x0) {\n    if (info->coffinfo != (coff_symbol_type *)0x0) {\n      pcVar2 = info->coffinfo->native;\n      uVar1 = (pcVar2->u).syment.n_sclass;\n      if (uVar1 == 'g') {\n        pcVar9 = "File";\n      }\n      else if (uVar1 == 'h') {\n        pcVar9 = "Line";\n      }\n      else if (uVar1 == 'd') {\n        pcVar9 = "Block";\n      }\n      else {\n        uVar3 = (pcVar2->u).syment.n_type;\n        if (uVar3 == 0) {\n          pcVar9 = "None";\n        }\n        else {\n          uVar3 = uVar3 >> 4 & 3;\n          if (uVar3 == 2) {\n            pcVar9 = "Function";\n          }\n          else if (uVar3 == 3) {\n            pcVar9 = "Array";\n          }\n          else {\n            if (uVar3 != 1) {\n              free(bufp_13492);\n              uVar3 = (pcVar2->u).syment.n_type;\n              bVar8 = (pcVar2->u).syment.n_sclass;\n              pcVar9 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n              iVar4 = asprintf(&bufp_13492,pcVar9,(ulong)bVar8,(ulong)uVar3);\n              pcVar9 = bufp_13492;\n              goto joined_r0x0010570b;\n            }\n            pcVar9 = "Pointer";\n          }\n        }\n      }\n      goto LAB_00105780;\n    }\n    printf("                  |");\n  }\n  else {\n    bVar8 = (info->elfinfo->internal_elf_sym).st_info & 0xf;\n    switch(bVar8) {\n    case 0:\n      pcVar9 = "NOTYPE";\n      break;\n    case 1:\n      pcVar9 = "OBJECT";\n      break;\n    case 2:\n      pcVar9 = "FUNC";\n      break;\n    case 3:\n      pcVar9 = "SECTION";\n      break;\n    case 4:\n      pcVar9 = "FILE";\n      break;\n    case 5:\n      pcVar9 = "COMMON";\n      break;\n    case 6:\n      pcVar9 = "TLS";\n      break;\n    default:\n      free(bufp_13480);\n      pcVar9 = "<processor specific>: %d";\n      if ((2 < bVar8 - 0xd) && (pcVar9 = "<OS specific>: %d", 2 < bVar8 - 10)) {\n        pcVar9 = "<unknown>: %d";\n      }\n      pcVar9 = (char *)dcgettext(0,pcVar9,5);\n      iVar4 = asprintf(&bufp_13480,pcVar9,(ulong)bVar8);\n      pcVar9 = bufp_13480;\njoined_r0x0010570b:\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        uVar7 = xstrerror(*piVar6);\n                    /* WARNING: Subroutine does not return */\n        fatal("%s",uVar7);\n      }\n    }\nLAB_00105780:\n    printf("%18s|");\n  }" if (parenthesized_expression "(info->elfinfo == (elf_symbol_type *)0x0)" ( (binary_expression "info->elfinfo == (elf_symbol_type *)0x0" (field_expression "info->elfinfo" identifier -> field_identifier) == (cast_expression "(elf_symbol_type *)0x0" ( (type_descriptor "elf_symbol_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (info->coffinfo != (coff_symbol_type *)0x0) {\n      pcVar2 = info->coffinfo->native;\n      uVar1 = (pcVar2->u).syment.n_sclass;\n      if (uVar1 == 'g') {\n        pcVar9 = "File";\n      }\n      else if (uVar1 == 'h') {\n        pcVar9 = "Line";\n      }\n      else if (uVar1 == 'd') {\n        pcVar9 = "Block";\n      }\n      else {\n        uVar3 = (pcVar2->u).syment.n_type;\n        if (uVar3 == 0) {\n          pcVar9 = "None";\n        }\n        else {\n          uVar3 = uVar3 >> 4 & 3;\n          if (uVar3 == 2) {\n            pcVar9 = "Function";\n          }\n          else if (uVar3 == 3) {\n            pcVar9 = "Array";\n          }\n          else {\n            if (uVar3 != 1) {\n              free(bufp_13492);\n              uVar3 = (pcVar2->u).syment.n_type;\n              bVar8 = (pcVar2->u).syment.n_sclass;\n              pcVar9 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n              iVar4 = asprintf(&bufp_13492,pcVar9,(ulong)bVar8,(ulong)uVar3);\n              pcVar9 = bufp_13492;\n              goto joined_r0x0010570b;\n            }\n            pcVar9 = "Pointer";\n          }\n        }\n      }\n      goto LAB_00105780;\n    }\n    printf("                  |");\n  }" { (if_statement "if (info->coffinfo != (coff_symbol_type *)0x0) {\n      pcVar2 = info->coffinfo->native;\n      uVar1 = (pcVar2->u).syment.n_sclass;\n      if (uVar1 == 'g') {\n        pcVar9 = "File";\n      }\n      else if (uVar1 == 'h') {\n        pcVar9 = "Line";\n      }\n      else if (uVar1 == 'd') {\n        pcVar9 = "Block";\n      }\n      else {\n        uVar3 = (pcVar2->u).syment.n_type;\n        if (uVar3 == 0) {\n          pcVar9 = "None";\n        }\n        else {\n          uVar3 = uVar3 >> 4 & 3;\n          if (uVar3 == 2) {\n            pcVar9 = "Function";\n          }\n          else if (uVar3 == 3) {\n            pcVar9 = "Array";\n          }\n          else {\n            if (uVar3 != 1) {\n              free(bufp_13492);\n              uVar3 = (pcVar2->u).syment.n_type;\n              bVar8 = (pcVar2->u).syment.n_sclass;\n              pcVar9 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n              iVar4 = asprintf(&bufp_13492,pcVar9,(ulong)bVar8,(ulong)uVar3);\n              pcVar9 = bufp_13492;\n              goto joined_r0x0010570b;\n            }\n            pcVar9 = "Pointer";\n          }\n        }\n      }\n      goto LAB_00105780;\n    }" if (parenthesized_expression "(info->coffinfo != (coff_symbol_type *)0x0)" ( (binary_expression "info->coffinfo != (coff_symbol_type *)0x0" (field_expression "info->coffinfo" identifier -> field_identifier) != (cast_expression "(coff_symbol_type *)0x0" ( (type_descriptor "coff_symbol_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar2 = info->coffinfo->native;\n      uVar1 = (pcVar2->u).syment.n_sclass;\n      if (uVar1 == 'g') {\n        pcVar9 = "File";\n      }\n      else if (uVar1 == 'h') {\n        pcVar9 = "Line";\n      }\n      else if (uVar1 == 'd') {\n        pcVar9 = "Block";\n      }\n      else {\n        uVar3 = (pcVar2->u).syment.n_type;\n        if (uVar3 == 0) {\n          pcVar9 = "None";\n        }\n        else {\n          uVar3 = uVar3 >> 4 & 3;\n          if (uVar3 == 2) {\n            pcVar9 = "Function";\n          }\n          else if (uVar3 == 3) {\n            pcVar9 = "Array";\n          }\n          else {\n            if (uVar3 != 1) {\n              free(bufp_13492);\n              uVar3 = (pcVar2->u).syment.n_type;\n              bVar8 = (pcVar2->u).syment.n_sclass;\n              pcVar9 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n              iVar4 = asprintf(&bufp_13492,pcVar9,(ulong)bVar8,(ulong)uVar3);\n              pcVar9 = bufp_13492;\n              goto joined_r0x0010570b;\n            }\n            pcVar9 = "Pointer";\n          }\n        }\n      }\n      goto LAB_00105780;\n    }" { (expression_statement "pcVar2 = info->coffinfo->native;" (assignment_expression "pcVar2 = info->coffinfo->native" identifier = (field_expression "info->coffinfo->native" (field_expression "info->coffinfo" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "uVar1 = (pcVar2->u).syment.n_sclass;" (assignment_expression "uVar1 = (pcVar2->u).syment.n_sclass" identifier = (field_expression "(pcVar2->u).syment.n_sclass" (field_expression "(pcVar2->u).syment" (parenthesized_expression "(pcVar2->u)" ( (field_expression "pcVar2->u" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (uVar1 == 'g') {\n        pcVar9 = "File";\n      }\n      else if (uVar1 == 'h') {\n        pcVar9 = "Line";\n      }\n      else if (uVar1 == 'd') {\n        pcVar9 = "Block";\n      }\n      else {\n        uVar3 = (pcVar2->u).syment.n_type;\n        if (uVar3 == 0) {\n          pcVar9 = "None";\n        }\n        else {\n          uVar3 = uVar3 >> 4 & 3;\n          if (uVar3 == 2) {\n            pcVar9 = "Function";\n          }\n          else if (uVar3 == 3) {\n            pcVar9 = "Array";\n          }\n          else {\n            if (uVar3 != 1) {\n              free(bufp_13492);\n              uVar3 = (pcVar2->u).syment.n_type;\n              bVar8 = (pcVar2->u).syment.n_sclass;\n              pcVar9 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n              iVar4 = asprintf(&bufp_13492,pcVar9,(ulong)bVar8,(ulong)uVar3);\n              pcVar9 = bufp_13492;\n              goto joined_r0x0010570b;\n            }\n            pcVar9 = "Pointer";\n          }\n        }\n      }" if (parenthesized_expression "(uVar1 == 'g')" ( (binary_expression "uVar1 == 'g'" identifier == (char_literal "'g'" ' character ')) )) (compound_statement "{\n        pcVar9 = "File";\n      }" { (expression_statement "pcVar9 = "File";" (assignment_expression "pcVar9 = "File"" identifier = (string_literal ""File"" " string_content ")) ;) }) (else_clause "else if (uVar1 == 'h') {\n        pcVar9 = "Line";\n      }\n      else if (uVar1 == 'd') {\n        pcVar9 = "Block";\n      }\n      else {\n        uVar3 = (pcVar2->u).syment.n_type;\n        if (uVar3 == 0) {\n          pcVar9 = "None";\n        }\n        else {\n          uVar3 = uVar3 >> 4 & 3;\n          if (uVar3 == 2) {\n            pcVar9 = "Function";\n          }\n          else if (uVar3 == 3) {\n            pcVar9 = "Array";\n          }\n          else {\n            if (uVar3 != 1) {\n              free(bufp_13492);\n              uVar3 = (pcVar2->u).syment.n_type;\n              bVar8 = (pcVar2->u).syment.n_sclass;\n              pcVar9 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n              iVar4 = asprintf(&bufp_13492,pcVar9,(ulong)bVar8,(ulong)uVar3);\n              pcVar9 = bufp_13492;\n              goto joined_r0x0010570b;\n            }\n            pcVar9 = "Pointer";\n          }\n        }\n      }" else (if_statement "if (uVar1 == 'h') {\n        pcVar9 = "Line";\n      }\n      else if (uVar1 == 'd') {\n        pcVar9 = "Block";\n      }\n      else {\n        uVar3 = (pcVar2->u).syment.n_type;\n        if (uVar3 == 0) {\n          pcVar9 = "None";\n        }\n        else {\n          uVar3 = uVar3 >> 4 & 3;\n          if (uVar3 == 2) {\n            pcVar9 = "Function";\n          }\n          else if (uVar3 == 3) {\n            pcVar9 = "Array";\n          }\n          else {\n            if (uVar3 != 1) {\n              free(bufp_13492);\n              uVar3 = (pcVar2->u).syment.n_type;\n              bVar8 = (pcVar2->u).syment.n_sclass;\n              pcVar9 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n              iVar4 = asprintf(&bufp_13492,pcVar9,(ulong)bVar8,(ulong)uVar3);\n              pcVar9 = bufp_13492;\n              goto joined_r0x0010570b;\n            }\n            pcVar9 = "Pointer";\n          }\n        }\n      }" if (parenthesized_expression "(uVar1 == 'h')" ( (binary_expression "uVar1 == 'h'" identifier == (char_literal "'h'" ' character ')) )) (compound_statement "{\n        pcVar9 = "Line";\n      }" { (expression_statement "pcVar9 = "Line";" (assignment_expression "pcVar9 = "Line"" identifier = (string_literal ""Line"" " string_content ")) ;) }) (else_clause "else if (uVar1 == 'd') {\n        pcVar9 = "Block";\n      }\n      else {\n        uVar3 = (pcVar2->u).syment.n_type;\n        if (uVar3 == 0) {\n          pcVar9 = "None";\n        }\n        else {\n          uVar3 = uVar3 >> 4 & 3;\n          if (uVar3 == 2) {\n            pcVar9 = "Function";\n          }\n          else if (uVar3 == 3) {\n            pcVar9 = "Array";\n          }\n          else {\n            if (uVar3 != 1) {\n              free(bufp_13492);\n              uVar3 = (pcVar2->u).syment.n_type;\n              bVar8 = (pcVar2->u).syment.n_sclass;\n              pcVar9 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n              iVar4 = asprintf(&bufp_13492,pcVar9,(ulong)bVar8,(ulong)uVar3);\n              pcVar9 = bufp_13492;\n              goto joined_r0x0010570b;\n            }\n            pcVar9 = "Pointer";\n          }\n        }\n      }" else (if_statement "if (uVar1 == 'd') {\n        pcVar9 = "Block";\n      }\n      else {\n        uVar3 = (pcVar2->u).syment.n_type;\n        if (uVar3 == 0) {\n          pcVar9 = "None";\n        }\n        else {\n          uVar3 = uVar3 >> 4 & 3;\n          if (uVar3 == 2) {\n            pcVar9 = "Function";\n          }\n          else if (uVar3 == 3) {\n            pcVar9 = "Array";\n          }\n          else {\n            if (uVar3 != 1) {\n              free(bufp_13492);\n              uVar3 = (pcVar2->u).syment.n_type;\n              bVar8 = (pcVar2->u).syment.n_sclass;\n              pcVar9 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n              iVar4 = asprintf(&bufp_13492,pcVar9,(ulong)bVar8,(ulong)uVar3);\n              pcVar9 = bufp_13492;\n              goto joined_r0x0010570b;\n            }\n            pcVar9 = "Pointer";\n          }\n        }\n      }" if (parenthesized_expression "(uVar1 == 'd')" ( (binary_expression "uVar1 == 'd'" identifier == (char_literal "'d'" ' character ')) )) (compound_statement "{\n        pcVar9 = "Block";\n      }" { (expression_statement "pcVar9 = "Block";" (assignment_expression "pcVar9 = "Block"" identifier = (string_literal ""Block"" " string_content ")) ;) }) (else_clause "else {\n        uVar3 = (pcVar2->u).syment.n_type;\n        if (uVar3 == 0) {\n          pcVar9 = "None";\n        }\n        else {\n          uVar3 = uVar3 >> 4 & 3;\n          if (uVar3 == 2) {\n            pcVar9 = "Function";\n          }\n          else if (uVar3 == 3) {\n            pcVar9 = "Array";\n          }\n          else {\n            if (uVar3 != 1) {\n              free(bufp_13492);\n              uVar3 = (pcVar2->u).syment.n_type;\n              bVar8 = (pcVar2->u).syment.n_sclass;\n              pcVar9 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n              iVar4 = asprintf(&bufp_13492,pcVar9,(ulong)bVar8,(ulong)uVar3);\n              pcVar9 = bufp_13492;\n              goto joined_r0x0010570b;\n            }\n            pcVar9 = "Pointer";\n          }\n        }\n      }" else (compound_statement "{\n        uVar3 = (pcVar2->u).syment.n_type;\n        if (uVar3 == 0) {\n          pcVar9 = "None";\n        }\n        else {\n          uVar3 = uVar3 >> 4 & 3;\n          if (uVar3 == 2) {\n            pcVar9 = "Function";\n          }\n          else if (uVar3 == 3) {\n            pcVar9 = "Array";\n          }\n          else {\n            if (uVar3 != 1) {\n              free(bufp_13492);\n              uVar3 = (pcVar2->u).syment.n_type;\n              bVar8 = (pcVar2->u).syment.n_sclass;\n              pcVar9 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n              iVar4 = asprintf(&bufp_13492,pcVar9,(ulong)bVar8,(ulong)uVar3);\n              pcVar9 = bufp_13492;\n              goto joined_r0x0010570b;\n            }\n            pcVar9 = "Pointer";\n          }\n        }\n      }" { (expression_statement "uVar3 = (pcVar2->u).syment.n_type;" (assignment_expression "uVar3 = (pcVar2->u).syment.n_type" identifier = (field_expression "(pcVar2->u).syment.n_type" (field_expression "(pcVar2->u).syment" (parenthesized_expression "(pcVar2->u)" ( (field_expression "pcVar2->u" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (uVar3 == 0) {\n          pcVar9 = "None";\n        }\n        else {\n          uVar3 = uVar3 >> 4 & 3;\n          if (uVar3 == 2) {\n            pcVar9 = "Function";\n          }\n          else if (uVar3 == 3) {\n            pcVar9 = "Array";\n          }\n          else {\n            if (uVar3 != 1) {\n              free(bufp_13492);\n              uVar3 = (pcVar2->u).syment.n_type;\n              bVar8 = (pcVar2->u).syment.n_sclass;\n              pcVar9 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n              iVar4 = asprintf(&bufp_13492,pcVar9,(ulong)bVar8,(ulong)uVar3);\n              pcVar9 = bufp_13492;\n              goto joined_r0x0010570b;\n            }\n            pcVar9 = "Pointer";\n          }\n        }" if (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          pcVar9 = "None";\n        }" { (expression_statement "pcVar9 = "None";" (assignment_expression "pcVar9 = "None"" identifier = (string_literal ""None"" " string_content ")) ;) }) (else_clause "else {\n          uVar3 = uVar3 >> 4 & 3;\n          if (uVar3 == 2) {\n            pcVar9 = "Function";\n          }\n          else if (uVar3 == 3) {\n            pcVar9 = "Array";\n          }\n          else {\n            if (uVar3 != 1) {\n              free(bufp_13492);\n              uVar3 = (pcVar2->u).syment.n_type;\n              bVar8 = (pcVar2->u).syment.n_sclass;\n              pcVar9 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n              iVar4 = asprintf(&bufp_13492,pcVar9,(ulong)bVar8,(ulong)uVar3);\n              pcVar9 = bufp_13492;\n              goto joined_r0x0010570b;\n            }\n            pcVar9 = "Pointer";\n          }\n        }" else (compound_statement "{\n          uVar3 = uVar3 >> 4 & 3;\n          if (uVar3 == 2) {\n            pcVar9 = "Function";\n          }\n          else if (uVar3 == 3) {\n            pcVar9 = "Array";\n          }\n          else {\n            if (uVar3 != 1) {\n              free(bufp_13492);\n              uVar3 = (pcVar2->u).syment.n_type;\n              bVar8 = (pcVar2->u).syment.n_sclass;\n              pcVar9 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n              iVar4 = asprintf(&bufp_13492,pcVar9,(ulong)bVar8,(ulong)uVar3);\n              pcVar9 = bufp_13492;\n              goto joined_r0x0010570b;\n            }\n            pcVar9 = "Pointer";\n          }\n        }" { (expression_statement "uVar3 = uVar3 >> 4 & 3;" (assignment_expression "uVar3 = uVar3 >> 4 & 3" identifier = (binary_expression "uVar3 >> 4 & 3" (binary_expression "uVar3 >> 4" identifier >> number_literal) & number_literal)) ;) (if_statement "if (uVar3 == 2) {\n            pcVar9 = "Function";\n          }\n          else if (uVar3 == 3) {\n            pcVar9 = "Array";\n          }\n          else {\n            if (uVar3 != 1) {\n              free(bufp_13492);\n              uVar3 = (pcVar2->u).syment.n_type;\n              bVar8 = (pcVar2->u).syment.n_sclass;\n              pcVar9 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n              iVar4 = asprintf(&bufp_13492,pcVar9,(ulong)bVar8,(ulong)uVar3);\n              pcVar9 = bufp_13492;\n              goto joined_r0x0010570b;\n            }\n            pcVar9 = "Pointer";\n          }" if (parenthesized_expression "(uVar3 == 2)" ( (binary_expression "uVar3 == 2" identifier == number_literal) )) (compound_statement "{\n            pcVar9 = "Function";\n          }" { (expression_statement "pcVar9 = "Function";" (assignment_expression "pcVar9 = "Function"" identifier = (string_literal ""Function"" " string_content ")) ;) }) (else_clause "else if (uVar3 == 3) {\n            pcVar9 = "Array";\n          }\n          else {\n            if (uVar3 != 1) {\n              free(bufp_13492);\n              uVar3 = (pcVar2->u).syment.n_type;\n              bVar8 = (pcVar2->u).syment.n_sclass;\n              pcVar9 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n              iVar4 = asprintf(&bufp_13492,pcVar9,(ulong)bVar8,(ulong)uVar3);\n              pcVar9 = bufp_13492;\n              goto joined_r0x0010570b;\n            }\n            pcVar9 = "Pointer";\n          }" else (if_statement "if (uVar3 == 3) {\n            pcVar9 = "Array";\n          }\n          else {\n            if (uVar3 != 1) {\n              free(bufp_13492);\n              uVar3 = (pcVar2->u).syment.n_type;\n              bVar8 = (pcVar2->u).syment.n_sclass;\n              pcVar9 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n              iVar4 = asprintf(&bufp_13492,pcVar9,(ulong)bVar8,(ulong)uVar3);\n              pcVar9 = bufp_13492;\n              goto joined_r0x0010570b;\n            }\n            pcVar9 = "Pointer";\n          }" if (parenthesized_expression "(uVar3 == 3)" ( (binary_expression "uVar3 == 3" identifier == number_literal) )) (compound_statement "{\n            pcVar9 = "Array";\n          }" { (expression_statement "pcVar9 = "Array";" (assignment_expression "pcVar9 = "Array"" identifier = (string_literal ""Array"" " string_content ")) ;) }) (else_clause "else {\n            if (uVar3 != 1) {\n              free(bufp_13492);\n              uVar3 = (pcVar2->u).syment.n_type;\n              bVar8 = (pcVar2->u).syment.n_sclass;\n              pcVar9 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n              iVar4 = asprintf(&bufp_13492,pcVar9,(ulong)bVar8,(ulong)uVar3);\n              pcVar9 = bufp_13492;\n              goto joined_r0x0010570b;\n            }\n            pcVar9 = "Pointer";\n          }" else (compound_statement "{\n            if (uVar3 != 1) {\n              free(bufp_13492);\n              uVar3 = (pcVar2->u).syment.n_type;\n              bVar8 = (pcVar2->u).syment.n_sclass;\n              pcVar9 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n              iVar4 = asprintf(&bufp_13492,pcVar9,(ulong)bVar8,(ulong)uVar3);\n              pcVar9 = bufp_13492;\n              goto joined_r0x0010570b;\n            }\n            pcVar9 = "Pointer";\n          }" { (if_statement "if (uVar3 != 1) {\n              free(bufp_13492);\n              uVar3 = (pcVar2->u).syment.n_type;\n              bVar8 = (pcVar2->u).syment.n_sclass;\n              pcVar9 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n              iVar4 = asprintf(&bufp_13492,pcVar9,(ulong)bVar8,(ulong)uVar3);\n              pcVar9 = bufp_13492;\n              goto joined_r0x0010570b;\n            }" if (parenthesized_expression "(uVar3 != 1)" ( (binary_expression "uVar3 != 1" identifier != number_literal) )) (compound_statement "{\n              free(bufp_13492);\n              uVar3 = (pcVar2->u).syment.n_type;\n              bVar8 = (pcVar2->u).syment.n_sclass;\n              pcVar9 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n              iVar4 = asprintf(&bufp_13492,pcVar9,(ulong)bVar8,(ulong)uVar3);\n              pcVar9 = bufp_13492;\n              goto joined_r0x0010570b;\n            }" { (expression_statement "free(bufp_13492);" (call_expression "free(bufp_13492)" identifier (argument_list "(bufp_13492)" ( identifier ))) ;) (expression_statement "uVar3 = (pcVar2->u).syment.n_type;" (assignment_expression "uVar3 = (pcVar2->u).syment.n_type" identifier = (field_expression "(pcVar2->u).syment.n_type" (field_expression "(pcVar2->u).syment" (parenthesized_expression "(pcVar2->u)" ( (field_expression "pcVar2->u" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "bVar8 = (pcVar2->u).syment.n_sclass;" (assignment_expression "bVar8 = (pcVar2->u).syment.n_sclass" identifier = (field_expression "(pcVar2->u).syment.n_sclass" (field_expression "(pcVar2->u).syment" (parenthesized_expression "(pcVar2->u)" ( (field_expression "pcVar2->u" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "pcVar9 = (char *)dcgettext(0,"<unknown>: %d/%d",5);" (assignment_expression "pcVar9 = (char *)dcgettext(0,"<unknown>: %d/%d",5)" identifier = (cast_expression "(char *)dcgettext(0,"<unknown>: %d/%d",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<unknown>: %d/%d",5)" identifier (argument_list "(0,"<unknown>: %d/%d",5)" ( number_literal , (string_literal ""<unknown>: %d/%d"" " string_content ") , number_literal ))))) ;) (expression_statement "iVar4 = asprintf(&bufp_13492,pcVar9,(ulong)bVar8,(ulong)uVar3);" (assignment_expression "iVar4 = asprintf(&bufp_13492,pcVar9,(ulong)bVar8,(ulong)uVar3)" identifier = (call_expression "asprintf(&bufp_13492,pcVar9,(ulong)bVar8,(ulong)uVar3)" identifier (argument_list "(&bufp_13492,pcVar9,(ulong)bVar8,(ulong)uVar3)" ( (pointer_expression "&bufp_13492" & identifier) , identifier , (cast_expression "(ulong)bVar8" ( (type_descriptor "ulong" type_identifier) ) identifier) , (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier) )))) ;) (expression_statement "pcVar9 = bufp_13492;" (assignment_expression "pcVar9 = bufp_13492" identifier = identifier) ;) (goto_statement "goto joined_r0x0010570b;" goto statement_identifier ;) })) (expression_statement "pcVar9 = "Pointer";" (assignment_expression "pcVar9 = "Pointer"" identifier = (string_literal ""Pointer"" " string_content ")) ;) }))))) }))) }))))))) (goto_statement "goto LAB_00105780;" goto statement_identifier ;) })) (expression_statement "printf("                  |");" (call_expression "printf("                  |")" identifier (argument_list "("                  |")" ( (string_literal ""                  |"" " string_content ") ))) ;) }) (else_clause "else {\n    bVar8 = (info->elfinfo->internal_elf_sym).st_info & 0xf;\n    switch(bVar8) {\n    case 0:\n      pcVar9 = "NOTYPE";\n      break;\n    case 1:\n      pcVar9 = "OBJECT";\n      break;\n    case 2:\n      pcVar9 = "FUNC";\n      break;\n    case 3:\n      pcVar9 = "SECTION";\n      break;\n    case 4:\n      pcVar9 = "FILE";\n      break;\n    case 5:\n      pcVar9 = "COMMON";\n      break;\n    case 6:\n      pcVar9 = "TLS";\n      break;\n    default:\n      free(bufp_13480);\n      pcVar9 = "<processor specific>: %d";\n      if ((2 < bVar8 - 0xd) && (pcVar9 = "<OS specific>: %d", 2 < bVar8 - 10)) {\n        pcVar9 = "<unknown>: %d";\n      }\n      pcVar9 = (char *)dcgettext(0,pcVar9,5);\n      iVar4 = asprintf(&bufp_13480,pcVar9,(ulong)bVar8);\n      pcVar9 = bufp_13480;\njoined_r0x0010570b:\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        uVar7 = xstrerror(*piVar6);\n                    /* WARNING: Subroutine does not return */\n        fatal("%s",uVar7);\n      }\n    }\nLAB_00105780:\n    printf("%18s|");\n  }" else (compound_statement "{\n    bVar8 = (info->elfinfo->internal_elf_sym).st_info & 0xf;\n    switch(bVar8) {\n    case 0:\n      pcVar9 = "NOTYPE";\n      break;\n    case 1:\n      pcVar9 = "OBJECT";\n      break;\n    case 2:\n      pcVar9 = "FUNC";\n      break;\n    case 3:\n      pcVar9 = "SECTION";\n      break;\n    case 4:\n      pcVar9 = "FILE";\n      break;\n    case 5:\n      pcVar9 = "COMMON";\n      break;\n    case 6:\n      pcVar9 = "TLS";\n      break;\n    default:\n      free(bufp_13480);\n      pcVar9 = "<processor specific>: %d";\n      if ((2 < bVar8 - 0xd) && (pcVar9 = "<OS specific>: %d", 2 < bVar8 - 10)) {\n        pcVar9 = "<unknown>: %d";\n      }\n      pcVar9 = (char *)dcgettext(0,pcVar9,5);\n      iVar4 = asprintf(&bufp_13480,pcVar9,(ulong)bVar8);\n      pcVar9 = bufp_13480;\njoined_r0x0010570b:\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        uVar7 = xstrerror(*piVar6);\n                    /* WARNING: Subroutine does not return */\n        fatal("%s",uVar7);\n      }\n    }\nLAB_00105780:\n    printf("%18s|");\n  }" { (expression_statement "bVar8 = (info->elfinfo->internal_elf_sym).st_info & 0xf;" (assignment_expression "bVar8 = (info->elfinfo->internal_elf_sym).st_info & 0xf" identifier = (binary_expression "(info->elfinfo->internal_elf_sym).st_info & 0xf" (field_expression "(info->elfinfo->internal_elf_sym).st_info" (parenthesized_expression "(info->elfinfo->internal_elf_sym)" ( (field_expression "info->elfinfo->internal_elf_sym" (field_expression "info->elfinfo" identifier -> field_identifier) -> field_identifier) )) . field_identifier) & number_literal)) ;) (switch_statement "switch(bVar8) {\n    case 0:\n      pcVar9 = "NOTYPE";\n      break;\n    case 1:\n      pcVar9 = "OBJECT";\n      break;\n    case 2:\n      pcVar9 = "FUNC";\n      break;\n    case 3:\n      pcVar9 = "SECTION";\n      break;\n    case 4:\n      pcVar9 = "FILE";\n      break;\n    case 5:\n      pcVar9 = "COMMON";\n      break;\n    case 6:\n      pcVar9 = "TLS";\n      break;\n    default:\n      free(bufp_13480);\n      pcVar9 = "<processor specific>: %d";\n      if ((2 < bVar8 - 0xd) && (pcVar9 = "<OS specific>: %d", 2 < bVar8 - 10)) {\n        pcVar9 = "<unknown>: %d";\n      }\n      pcVar9 = (char *)dcgettext(0,pcVar9,5);\n      iVar4 = asprintf(&bufp_13480,pcVar9,(ulong)bVar8);\n      pcVar9 = bufp_13480;\njoined_r0x0010570b:\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        uVar7 = xstrerror(*piVar6);\n                    /* WARNING: Subroutine does not return */\n        fatal("%s",uVar7);\n      }\n    }" switch (parenthesized_expression "(bVar8)" ( identifier )) (compound_statement "{\n    case 0:\n      pcVar9 = "NOTYPE";\n      break;\n    case 1:\n      pcVar9 = "OBJECT";\n      break;\n    case 2:\n      pcVar9 = "FUNC";\n      break;\n    case 3:\n      pcVar9 = "SECTION";\n      break;\n    case 4:\n      pcVar9 = "FILE";\n      break;\n    case 5:\n      pcVar9 = "COMMON";\n      break;\n    case 6:\n      pcVar9 = "TLS";\n      break;\n    default:\n      free(bufp_13480);\n      pcVar9 = "<processor specific>: %d";\n      if ((2 < bVar8 - 0xd) && (pcVar9 = "<OS specific>: %d", 2 < bVar8 - 10)) {\n        pcVar9 = "<unknown>: %d";\n      }\n      pcVar9 = (char *)dcgettext(0,pcVar9,5);\n      iVar4 = asprintf(&bufp_13480,pcVar9,(ulong)bVar8);\n      pcVar9 = bufp_13480;\njoined_r0x0010570b:\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        uVar7 = xstrerror(*piVar6);\n                    /* WARNING: Subroutine does not return */\n        fatal("%s",uVar7);\n      }\n    }" { (case_statement "case 0:\n      pcVar9 = "NOTYPE";\n      break;" case number_literal : (expression_statement "pcVar9 = "NOTYPE";" (assignment_expression "pcVar9 = "NOTYPE"" identifier = (string_literal ""NOTYPE"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 1:\n      pcVar9 = "OBJECT";\n      break;" case number_literal : (expression_statement "pcVar9 = "OBJECT";" (assignment_expression "pcVar9 = "OBJECT"" identifier = (string_literal ""OBJECT"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n      pcVar9 = "FUNC";\n      break;" case number_literal : (expression_statement "pcVar9 = "FUNC";" (assignment_expression "pcVar9 = "FUNC"" identifier = (string_literal ""FUNC"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n      pcVar9 = "SECTION";\n      break;" case number_literal : (expression_statement "pcVar9 = "SECTION";" (assignment_expression "pcVar9 = "SECTION"" identifier = (string_literal ""SECTION"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n      pcVar9 = "FILE";\n      break;" case number_literal : (expression_statement "pcVar9 = "FILE";" (assignment_expression "pcVar9 = "FILE"" identifier = (string_literal ""FILE"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n      pcVar9 = "COMMON";\n      break;" case number_literal : (expression_statement "pcVar9 = "COMMON";" (assignment_expression "pcVar9 = "COMMON"" identifier = (string_literal ""COMMON"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n      pcVar9 = "TLS";\n      break;" case number_literal : (expression_statement "pcVar9 = "TLS";" (assignment_expression "pcVar9 = "TLS"" identifier = (string_literal ""TLS"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "default:\n      free(bufp_13480);\n      pcVar9 = "<processor specific>: %d";\n      if ((2 < bVar8 - 0xd) && (pcVar9 = "<OS specific>: %d", 2 < bVar8 - 10)) {\n        pcVar9 = "<unknown>: %d";\n      }\n      pcVar9 = (char *)dcgettext(0,pcVar9,5);\n      iVar4 = asprintf(&bufp_13480,pcVar9,(ulong)bVar8);\n      pcVar9 = bufp_13480;\njoined_r0x0010570b:\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        uVar7 = xstrerror(*piVar6);\n                    /* WARNING: Subroutine does not return */\n        fatal("%s",uVar7);\n      }" default : (expression_statement "free(bufp_13480);" (call_expression "free(bufp_13480)" identifier (argument_list "(bufp_13480)" ( identifier ))) ;) (expression_statement "pcVar9 = "<processor specific>: %d";" (assignment_expression "pcVar9 = "<processor specific>: %d"" identifier = (string_literal ""<processor specific>: %d"" " string_content ")) ;) (if_statement "if ((2 < bVar8 - 0xd) && (pcVar9 = "<OS specific>: %d", 2 < bVar8 - 10)) {\n        pcVar9 = "<unknown>: %d";\n      }" if (parenthesized_expression "((2 < bVar8 - 0xd) && (pcVar9 = "<OS specific>: %d", 2 < bVar8 - 10))" ( (binary_expression "(2 < bVar8 - 0xd) && (pcVar9 = "<OS specific>: %d", 2 < bVar8 - 10)" (parenthesized_expression "(2 < bVar8 - 0xd)" ( (binary_expression "2 < bVar8 - 0xd" number_literal < (binary_expression "bVar8 - 0xd" identifier - number_literal)) )) && (parenthesized_expression "(pcVar9 = "<OS specific>: %d", 2 < bVar8 - 10)" ( (comma_expression "pcVar9 = "<OS specific>: %d", 2 < bVar8 - 10" (assignment_expression "pcVar9 = "<OS specific>: %d"" identifier = (string_literal ""<OS specific>: %d"" " string_content ")) , (binary_expression "2 < bVar8 - 10" number_literal < (binary_expression "bVar8 - 10" identifier - number_literal))) ))) )) (compound_statement "{\n        pcVar9 = "<unknown>: %d";\n      }" { (expression_statement "pcVar9 = "<unknown>: %d";" (assignment_expression "pcVar9 = "<unknown>: %d"" identifier = (string_literal ""<unknown>: %d"" " string_content ")) ;) })) (expression_statement "pcVar9 = (char *)dcgettext(0,pcVar9,5);" (assignment_expression "pcVar9 = (char *)dcgettext(0,pcVar9,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar9,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar9,5)" identifier (argument_list "(0,pcVar9,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "iVar4 = asprintf(&bufp_13480,pcVar9,(ulong)bVar8);" (assignment_expression "iVar4 = asprintf(&bufp_13480,pcVar9,(ulong)bVar8)" identifier = (call_expression "asprintf(&bufp_13480,pcVar9,(ulong)bVar8)" identifier (argument_list "(&bufp_13480,pcVar9,(ulong)bVar8)" ( (pointer_expression "&bufp_13480" & identifier) , identifier , (cast_expression "(ulong)bVar8" ( (type_descriptor "ulong" type_identifier) ) identifier) )))) ;) (expression_statement "pcVar9 = bufp_13480;" (assignment_expression "pcVar9 = bufp_13480" identifier = identifier) ;) (labeled_statement "joined_r0x0010570b:\n      if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        uVar7 = xstrerror(*piVar6);\n                    /* WARNING: Subroutine does not return */\n        fatal("%s",uVar7);\n      }" statement_identifier : (if_statement "if (iVar4 < 0) {\n        piVar6 = __errno_location();\n        uVar7 = xstrerror(*piVar6);\n                    /* WARNING: Subroutine does not return */\n        fatal("%s",uVar7);\n      }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n        piVar6 = __errno_location();\n        uVar7 = xstrerror(*piVar6);\n                    /* WARNING: Subroutine does not return */\n        fatal("%s",uVar7);\n      }" { (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar7 = xstrerror(*piVar6);" (assignment_expression "uVar7 = xstrerror(*piVar6)" identifier = (call_expression "xstrerror(*piVar6)" identifier (argument_list "(*piVar6)" ( (pointer_expression "*piVar6" * identifier) )))) ;) comment (expression_statement "fatal("%s",uVar7);" (call_expression "fatal("%s",uVar7)" identifier (argument_list "("%s",uVar7)" ( (string_literal ""%s"" " string_content ") , identifier ))) ;) })))) })) (labeled_statement "LAB_00105780:\n    printf("%18s|");" statement_identifier : (expression_statement "printf("%18s|");" (call_expression "printf("%18s|")" identifier (argument_list "("%18s|")" ( (string_literal ""%18s|"" " string_content ") ))) ;)) }))) (if_statement "if (info->elfinfo == (elf_symbol_type *)0x0) {\n    abfd_00 = (bfd *)info->ssize;\n    if (abfd_00 != (bfd *)0x0) goto LAB_001057a8;\nLAB_00105875:\n    if (print_width == 0x20) {\n      printf("        ");\n      goto LAB_001057ad;\n    }\n    printf("                ");\n    peVar5 = info->elfinfo;\n  }\n  else {\n    abfd_00 = (bfd *)(info->elfinfo->internal_elf_sym).st_size;\n    if (abfd_00 == (bfd *)0x0) goto LAB_00105875;\nLAB_001057a8:\n    print_value(abfd_00,(bfd_vma)pcVar9);\nLAB_001057ad:\n    peVar5 = info->elfinfo;\n  }" if (parenthesized_expression "(info->elfinfo == (elf_symbol_type *)0x0)" ( (binary_expression "info->elfinfo == (elf_symbol_type *)0x0" (field_expression "info->elfinfo" identifier -> field_identifier) == (cast_expression "(elf_symbol_type *)0x0" ( (type_descriptor "elf_symbol_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    abfd_00 = (bfd *)info->ssize;\n    if (abfd_00 != (bfd *)0x0) goto LAB_001057a8;\nLAB_00105875:\n    if (print_width == 0x20) {\n      printf("        ");\n      goto LAB_001057ad;\n    }\n    printf("                ");\n    peVar5 = info->elfinfo;\n  }" { (expression_statement "abfd_00 = (bfd *)info->ssize;" (assignment_expression "abfd_00 = (bfd *)info->ssize" identifier = (cast_expression "(bfd *)info->ssize" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "info->ssize" identifier -> field_identifier))) ;) (if_statement "if (abfd_00 != (bfd *)0x0) goto LAB_001057a8;" if (parenthesized_expression "(abfd_00 != (bfd *)0x0)" ( (binary_expression "abfd_00 != (bfd *)0x0" identifier != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001057a8;" goto statement_identifier ;)) (labeled_statement "LAB_00105875:\n    if (print_width == 0x20) {\n      printf("        ");\n      goto LAB_001057ad;\n    }" statement_identifier : (if_statement "if (print_width == 0x20) {\n      printf("        ");\n      goto LAB_001057ad;\n    }" if (parenthesized_expression "(print_width == 0x20)" ( (binary_expression "print_width == 0x20" identifier == number_literal) )) (compound_statement "{\n      printf("        ");\n      goto LAB_001057ad;\n    }" { (expression_statement "printf("        ");" (call_expression "printf("        ")" identifier (argument_list "("        ")" ( (string_literal ""        "" " string_content ") ))) ;) (goto_statement "goto LAB_001057ad;" goto statement_identifier ;) }))) (expression_statement "printf("                ");" (call_expression "printf("                ")" identifier (argument_list "("                ")" ( (string_literal ""                "" " string_content ") ))) ;) (expression_statement "peVar5 = info->elfinfo;" (assignment_expression "peVar5 = info->elfinfo" identifier = (field_expression "info->elfinfo" identifier -> field_identifier)) ;) }) (else_clause "else {\n    abfd_00 = (bfd *)(info->elfinfo->internal_elf_sym).st_size;\n    if (abfd_00 == (bfd *)0x0) goto LAB_00105875;\nLAB_001057a8:\n    print_value(abfd_00,(bfd_vma)pcVar9);\nLAB_001057ad:\n    peVar5 = info->elfinfo;\n  }" else (compound_statement "{\n    abfd_00 = (bfd *)(info->elfinfo->internal_elf_sym).st_size;\n    if (abfd_00 == (bfd *)0x0) goto LAB_00105875;\nLAB_001057a8:\n    print_value(abfd_00,(bfd_vma)pcVar9);\nLAB_001057ad:\n    peVar5 = info->elfinfo;\n  }" { (expression_statement "abfd_00 = (bfd *)(info->elfinfo->internal_elf_sym).st_size;" (assignment_expression "abfd_00 = (bfd *)(info->elfinfo->internal_elf_sym).st_size" identifier = (cast_expression "(bfd *)(info->elfinfo->internal_elf_sym).st_size" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(info->elfinfo->internal_elf_sym).st_size" (parenthesized_expression "(info->elfinfo->internal_elf_sym)" ( (field_expression "info->elfinfo->internal_elf_sym" (field_expression "info->elfinfo" identifier -> field_identifier) -> field_identifier) )) . field_identifier))) ;) (if_statement "if (abfd_00 == (bfd *)0x0) goto LAB_00105875;" if (parenthesized_expression "(abfd_00 == (bfd *)0x0)" ( (binary_expression "abfd_00 == (bfd *)0x0" identifier == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00105875;" goto statement_identifier ;)) (labeled_statement "LAB_001057a8:\n    print_value(abfd_00,(bfd_vma)pcVar9);" statement_identifier : (expression_statement "print_value(abfd_00,(bfd_vma)pcVar9);" (call_expression "print_value(abfd_00,(bfd_vma)pcVar9)" identifier (argument_list "(abfd_00,(bfd_vma)pcVar9)" ( identifier , (cast_expression "(bfd_vma)pcVar9" ( (type_descriptor "bfd_vma" type_identifier) ) identifier) ))) ;)) (labeled_statement "LAB_001057ad:\n    peVar5 = info->elfinfo;" statement_identifier : (expression_statement "peVar5 = info->elfinfo;" (assignment_expression "peVar5 = info->elfinfo" identifier = (field_expression "info->elfinfo" identifier -> field_identifier)) ;)) }))) (if_statement "if ((peVar5 != (elf_symbol_type *)0x0) ||\n     (peVar5 = (elf_symbol_type *)info->coffinfo, peVar5 != (elf_symbol_type *)0x0)) {\n    printf("|     |%s",((peVar5->symbol).section)->name);\n    return;\n  }" if (parenthesized_expression "((peVar5 != (elf_symbol_type *)0x0) ||\n     (peVar5 = (elf_symbol_type *)info->coffinfo, peVar5 != (elf_symbol_type *)0x0))" ( (binary_expression "(peVar5 != (elf_symbol_type *)0x0) ||\n     (peVar5 = (elf_symbol_type *)info->coffinfo, peVar5 != (elf_symbol_type *)0x0)" (parenthesized_expression "(peVar5 != (elf_symbol_type *)0x0)" ( (binary_expression "peVar5 != (elf_symbol_type *)0x0" identifier != (cast_expression "(elf_symbol_type *)0x0" ( (type_descriptor "elf_symbol_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(peVar5 = (elf_symbol_type *)info->coffinfo, peVar5 != (elf_symbol_type *)0x0)" ( (comma_expression "peVar5 = (elf_symbol_type *)info->coffinfo, peVar5 != (elf_symbol_type *)0x0" (assignment_expression "peVar5 = (elf_symbol_type *)info->coffinfo" identifier = (cast_expression "(elf_symbol_type *)info->coffinfo" ( (type_descriptor "elf_symbol_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "info->coffinfo" identifier -> field_identifier))) , (binary_expression "peVar5 != (elf_symbol_type *)0x0" identifier != (cast_expression "(elf_symbol_type *)0x0" ( (type_descriptor "elf_symbol_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    printf("|     |%s",((peVar5->symbol).section)->name);\n    return;\n  }" { (expression_statement "printf("|     |%s",((peVar5->symbol).section)->name);" (call_expression "printf("|     |%s",((peVar5->symbol).section)->name)" identifier (argument_list "("|     |%s",((peVar5->symbol).section)->name)" ( (string_literal ""|     |%s"" " string_content ") , (field_expression "((peVar5->symbol).section)->name" (parenthesized_expression "((peVar5->symbol).section)" ( (field_expression "(peVar5->symbol).section" (parenthesized_expression "(peVar5->symbol)" ( (field_expression "peVar5->symbol" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) ))) ;) (return_statement "return;" return ;) })) (labeled_statement "LAB_00105757:\n  printf("|     |");" statement_identifier : (expression_statement "printf("|     |");" (call_expression "printf("|     |")" identifier (argument_list "("|     |")" ( (string_literal ""|     |"" " string_content ") ))) ;)) (return_statement "return;" return ;) })))
(translation_unit "void FUN_001055c0(long *param_1,undefined8 param_2)\n\n{\n  char cVar1;\n  ushort uVar2;\n  int iVar3;\n  long lVar4;\n  int *piVar5;\n  undefined8 uVar6;\n  byte bVar7;\n  char *pcVar8;\n  \n  FUN_00103ba0("%-20s|",*(undefined8 *)(*param_1 + 0x10),param_2);\n  iVar3 = bfd_is_undefined_symclass((int)*(char *)(*param_1 + 8));\n  if (iVar3 == 0) {\n    FUN_00105100(*(undefined8 *)*param_1);\n  }\n  else if (DAT_0010cc00 == 0x20) {\n    printf("        ");\n  }\n  else {\n    printf("                ");\n  }\n  printf("|   %c  |",(ulong)(uint)(int)*(char *)(*param_1 + 8));\n  if (*(char *)(*param_1 + 8) == '-') {\n    printf("%18s|  ",*(undefined8 *)(*param_1 + 0x20));\n    printf(&DAT_0010c2d0,(ulong)(uint)(int)*(short *)(*param_1 + 0x1a));\n    goto LAB_00105757;\n  }\n  if (param_1[2] == 0) {\n    if (param_1[3] != 0) {\n      lVar4 = *(long *)(param_1[3] + 0x30);\n      cVar1 = *(char *)(lVar4 + 0x28);\n      if (cVar1 == 'g') {\n        pcVar8 = "File";\n      }\n      else if (cVar1 == 'h') {\n        pcVar8 = "Line";\n      }\n      else if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }\n      goto LAB_00105780;\n    }\n    printf("                  |");\n  }\n  else {\n    bVar7 = *(byte *)(param_1[2] + 0x48) & 0xf;\n    switch(bVar7) {\n    case 0:\n      pcVar8 = "NOTYPE";\n      break;\n    case 1:\n      pcVar8 = "OBJECT";\n      break;\n    case 2:\n      pcVar8 = "FUNC";\n      break;\n    case 3:\n      pcVar8 = "SECTION";\n      break;\n    case 4:\n      pcVar8 = "FILE";\n      break;\n    case 5:\n      pcVar8 = "COMMON";\n      break;\n    case 6:\n      pcVar8 = "TLS";\n      break;\n    default:\n      free(DAT_0010cbc0);\n      pcVar8 = "<processor specific>: %d";\n      if ((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)) {\n        pcVar8 = "<unknown>: %d";\n      }\n      pcVar8 = (char *)dcgettext(0,pcVar8,5);\n      iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7);\n      pcVar8 = DAT_0010cbc0;\njoined_r0x0010570b:\n      if (iVar3 < 0) {\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    \n        FUN_00106110("%s",uVar6);\n      }\n    }\nLAB_00105780:\n    printf("%18s|",pcVar8);\n  }\n  if (param_1[2] == 0) {\n    if (param_1[1] != 0) goto LAB_001057a8;\nLAB_00105875:\n    if (DAT_0010cc00 == 0x20) {\n      printf("        ");\n      goto LAB_001057ad;\n    }\n    printf("                ");\n    lVar4 = param_1[2];\n  }\n  else {\n    if (*(long *)(param_1[2] + 0x38) == 0) goto LAB_00105875;\nLAB_001057a8:\n    FUN_00105100();\nLAB_001057ad:\n    lVar4 = param_1[2];\n  }\n  if ((lVar4 != 0) || (lVar4 = param_1[3], lVar4 != 0)) {\n    printf("|     |%s",**(undefined8 **)(lVar4 + 0x20));\n    return;\n  }\nLAB_00105757:\n  printf("|     |");\n  return;\n}\n\n" (function_definition "void FUN_001055c0(long *param_1,undefined8 param_2)\n\n{\n  char cVar1;\n  ushort uVar2;\n  int iVar3;\n  long lVar4;\n  int *piVar5;\n  undefined8 uVar6;\n  byte bVar7;\n  char *pcVar8;\n  \n  FUN_00103ba0("%-20s|",*(undefined8 *)(*param_1 + 0x10),param_2);\n  iVar3 = bfd_is_undefined_symclass((int)*(char *)(*param_1 + 8));\n  if (iVar3 == 0) {\n    FUN_00105100(*(undefined8 *)*param_1);\n  }\n  else if (DAT_0010cc00 == 0x20) {\n    printf("        ");\n  }\n  else {\n    printf("                ");\n  }\n  printf("|   %c  |",(ulong)(uint)(int)*(char *)(*param_1 + 8));\n  if (*(char *)(*param_1 + 8) == '-') {\n    printf("%18s|  ",*(undefined8 *)(*param_1 + 0x20));\n    printf(&DAT_0010c2d0,(ulong)(uint)(int)*(short *)(*param_1 + 0x1a));\n    goto LAB_00105757;\n  }\n  if (param_1[2] == 0) {\n    if (param_1[3] != 0) {\n      lVar4 = *(long *)(param_1[3] + 0x30);\n      cVar1 = *(char *)(lVar4 + 0x28);\n      if (cVar1 == 'g') {\n        pcVar8 = "File";\n      }\n      else if (cVar1 == 'h') {\n        pcVar8 = "Line";\n      }\n      else if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }\n      goto LAB_00105780;\n    }\n    printf("                  |");\n  }\n  else {\n    bVar7 = *(byte *)(param_1[2] + 0x48) & 0xf;\n    switch(bVar7) {\n    case 0:\n      pcVar8 = "NOTYPE";\n      break;\n    case 1:\n      pcVar8 = "OBJECT";\n      break;\n    case 2:\n      pcVar8 = "FUNC";\n      break;\n    case 3:\n      pcVar8 = "SECTION";\n      break;\n    case 4:\n      pcVar8 = "FILE";\n      break;\n    case 5:\n      pcVar8 = "COMMON";\n      break;\n    case 6:\n      pcVar8 = "TLS";\n      break;\n    default:\n      free(DAT_0010cbc0);\n      pcVar8 = "<processor specific>: %d";\n      if ((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)) {\n        pcVar8 = "<unknown>: %d";\n      }\n      pcVar8 = (char *)dcgettext(0,pcVar8,5);\n      iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7);\n      pcVar8 = DAT_0010cbc0;\njoined_r0x0010570b:\n      if (iVar3 < 0) {\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    \n        FUN_00106110("%s",uVar6);\n      }\n    }\nLAB_00105780:\n    printf("%18s|",pcVar8);\n  }\n  if (param_1[2] == 0) {\n    if (param_1[1] != 0) goto LAB_001057a8;\nLAB_00105875:\n    if (DAT_0010cc00 == 0x20) {\n      printf("        ");\n      goto LAB_001057ad;\n    }\n    printf("                ");\n    lVar4 = param_1[2];\n  }\n  else {\n    if (*(long *)(param_1[2] + 0x38) == 0) goto LAB_00105875;\nLAB_001057a8:\n    FUN_00105100();\nLAB_001057ad:\n    lVar4 = param_1[2];\n  }\n  if ((lVar4 != 0) || (lVar4 = param_1[3], lVar4 != 0)) {\n    printf("|     |%s",**(undefined8 **)(lVar4 + 0x20));\n    return;\n  }\nLAB_00105757:\n  printf("|     |");\n  return;\n}" primitive_type (function_declarator "FUN_001055c0(long *param_1,undefined8 param_2)" identifier (parameter_list "(long *param_1,undefined8 param_2)" ( (parameter_declaration "long *param_1" (sized_type_specifier "long" long) (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined8 param_2" type_identifier identifier) ))) (compound_statement "{\n  char cVar1;\n  ushort uVar2;\n  int iVar3;\n  long lVar4;\n  int *piVar5;\n  undefined8 uVar6;\n  byte bVar7;\n  char *pcVar8;\n  \n  FUN_00103ba0("%-20s|",*(undefined8 *)(*param_1 + 0x10),param_2);\n  iVar3 = bfd_is_undefined_symclass((int)*(char *)(*param_1 + 8));\n  if (iVar3 == 0) {\n    FUN_00105100(*(undefined8 *)*param_1);\n  }\n  else if (DAT_0010cc00 == 0x20) {\n    printf("        ");\n  }\n  else {\n    printf("                ");\n  }\n  printf("|   %c  |",(ulong)(uint)(int)*(char *)(*param_1 + 8));\n  if (*(char *)(*param_1 + 8) == '-') {\n    printf("%18s|  ",*(undefined8 *)(*param_1 + 0x20));\n    printf(&DAT_0010c2d0,(ulong)(uint)(int)*(short *)(*param_1 + 0x1a));\n    goto LAB_00105757;\n  }\n  if (param_1[2] == 0) {\n    if (param_1[3] != 0) {\n      lVar4 = *(long *)(param_1[3] + 0x30);\n      cVar1 = *(char *)(lVar4 + 0x28);\n      if (cVar1 == 'g') {\n        pcVar8 = "File";\n      }\n      else if (cVar1 == 'h') {\n        pcVar8 = "Line";\n      }\n      else if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }\n      goto LAB_00105780;\n    }\n    printf("                  |");\n  }\n  else {\n    bVar7 = *(byte *)(param_1[2] + 0x48) & 0xf;\n    switch(bVar7) {\n    case 0:\n      pcVar8 = "NOTYPE";\n      break;\n    case 1:\n      pcVar8 = "OBJECT";\n      break;\n    case 2:\n      pcVar8 = "FUNC";\n      break;\n    case 3:\n      pcVar8 = "SECTION";\n      break;\n    case 4:\n      pcVar8 = "FILE";\n      break;\n    case 5:\n      pcVar8 = "COMMON";\n      break;\n    case 6:\n      pcVar8 = "TLS";\n      break;\n    default:\n      free(DAT_0010cbc0);\n      pcVar8 = "<processor specific>: %d";\n      if ((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)) {\n        pcVar8 = "<unknown>: %d";\n      }\n      pcVar8 = (char *)dcgettext(0,pcVar8,5);\n      iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7);\n      pcVar8 = DAT_0010cbc0;\njoined_r0x0010570b:\n      if (iVar3 < 0) {\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    \n        FUN_00106110("%s",uVar6);\n      }\n    }\nLAB_00105780:\n    printf("%18s|",pcVar8);\n  }\n  if (param_1[2] == 0) {\n    if (param_1[1] != 0) goto LAB_001057a8;\nLAB_00105875:\n    if (DAT_0010cc00 == 0x20) {\n      printf("        ");\n      goto LAB_001057ad;\n    }\n    printf("                ");\n    lVar4 = param_1[2];\n  }\n  else {\n    if (*(long *)(param_1[2] + 0x38) == 0) goto LAB_00105875;\nLAB_001057a8:\n    FUN_00105100();\nLAB_001057ad:\n    lVar4 = param_1[2];\n  }\n  if ((lVar4 != 0) || (lVar4 = param_1[3], lVar4 != 0)) {\n    printf("|     |%s",**(undefined8 **)(lVar4 + 0x20));\n    return;\n  }\nLAB_00105757:\n  printf("|     |");\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "byte bVar7;" type_identifier identifier ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (expression_statement "FUN_00103ba0("%-20s|",*(undefined8 *)(*param_1 + 0x10),param_2);" (call_expression "FUN_00103ba0("%-20s|",*(undefined8 *)(*param_1 + 0x10),param_2)" identifier (argument_list "("%-20s|",*(undefined8 *)(*param_1 + 0x10),param_2)" ( (string_literal ""%-20s|"" " string_content ") , (pointer_expression "*(undefined8 *)(*param_1 + 0x10)" * (cast_expression "(undefined8 *)(*param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0x10)" ( (binary_expression "*param_1 + 0x10" (pointer_expression "*param_1" * identifier) + number_literal) )))) , identifier ))) ;) (expression_statement "iVar3 = bfd_is_undefined_symclass((int)*(char *)(*param_1 + 8));" (assignment_expression "iVar3 = bfd_is_undefined_symclass((int)*(char *)(*param_1 + 8))" identifier = (call_expression "bfd_is_undefined_symclass((int)*(char *)(*param_1 + 8))" identifier (argument_list "((int)*(char *)(*param_1 + 8))" ( (cast_expression "(int)*(char *)(*param_1 + 8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)(*param_1 + 8)" * (cast_expression "(char *)(*param_1 + 8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )))) ;) (if_statement "if (iVar3 == 0) {\n    FUN_00105100(*(undefined8 *)*param_1);\n  }\n  else if (DAT_0010cc00 == 0x20) {\n    printf("        ");\n  }\n  else {\n    printf("                ");\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    FUN_00105100(*(undefined8 *)*param_1);\n  }" { (expression_statement "FUN_00105100(*(undefined8 *)*param_1);" (call_expression "FUN_00105100(*(undefined8 *)*param_1)" identifier (argument_list "(*(undefined8 *)*param_1)" ( (pointer_expression "*(undefined8 *)*param_1" * (cast_expression "(undefined8 *)*param_1" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) ))) ;) }) (else_clause "else if (DAT_0010cc00 == 0x20) {\n    printf("        ");\n  }\n  else {\n    printf("                ");\n  }" else (if_statement "if (DAT_0010cc00 == 0x20) {\n    printf("        ");\n  }\n  else {\n    printf("                ");\n  }" if (parenthesized_expression "(DAT_0010cc00 == 0x20)" ( (binary_expression "DAT_0010cc00 == 0x20" identifier == number_literal) )) (compound_statement "{\n    printf("        ");\n  }" { (expression_statement "printf("        ");" (call_expression "printf("        ")" identifier (argument_list "("        ")" ( (string_literal ""        "" " string_content ") ))) ;) }) (else_clause "else {\n    printf("                ");\n  }" else (compound_statement "{\n    printf("                ");\n  }" { (expression_statement "printf("                ");" (call_expression "printf("                ")" identifier (argument_list "("                ")" ( (string_literal ""                "" " string_content ") ))) ;) }))))) (expression_statement "printf("|   %c  |",(ulong)(uint)(int)*(char *)(*param_1 + 8));" (call_expression "printf("|   %c  |",(ulong)(uint)(int)*(char *)(*param_1 + 8))" identifier (argument_list "("|   %c  |",(ulong)(uint)(int)*(char *)(*param_1 + 8))" ( (string_literal ""|   %c  |"" " string_content ") , (binary_expression "(ulong)(uint)(int)*(char *)(*param_1 + 8)" (call_expression "(ulong)(uint)(int)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(int)" ( identifier ))) * (cast_expression "(char *)(*param_1 + 8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) )))) ))) ;) (if_statement "if (*(char *)(*param_1 + 8) == '-') {\n    printf("%18s|  ",*(undefined8 *)(*param_1 + 0x20));\n    printf(&DAT_0010c2d0,(ulong)(uint)(int)*(short *)(*param_1 + 0x1a));\n    goto LAB_00105757;\n  }" if (parenthesized_expression "(*(char *)(*param_1 + 8) == '-')" ( (binary_expression "*(char *)(*param_1 + 8) == '-'" (pointer_expression "*(char *)(*param_1 + 8)" * (cast_expression "(char *)(*param_1 + 8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) )))) == (char_literal "'-'" ' character ')) )) (compound_statement "{\n    printf("%18s|  ",*(undefined8 *)(*param_1 + 0x20));\n    printf(&DAT_0010c2d0,(ulong)(uint)(int)*(short *)(*param_1 + 0x1a));\n    goto LAB_00105757;\n  }" { (expression_statement "printf("%18s|  ",*(undefined8 *)(*param_1 + 0x20));" (call_expression "printf("%18s|  ",*(undefined8 *)(*param_1 + 0x20))" identifier (argument_list "("%18s|  ",*(undefined8 *)(*param_1 + 0x20))" ( (string_literal ""%18s|  "" " string_content ") , (pointer_expression "*(undefined8 *)(*param_1 + 0x20)" * (cast_expression "(undefined8 *)(*param_1 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0x20)" ( (binary_expression "*param_1 + 0x20" (pointer_expression "*param_1" * identifier) + number_literal) )))) ))) ;) (expression_statement "printf(&DAT_0010c2d0,(ulong)(uint)(int)*(short *)(*param_1 + 0x1a));" (call_expression "printf(&DAT_0010c2d0,(ulong)(uint)(int)*(short *)(*param_1 + 0x1a))" identifier (argument_list "(&DAT_0010c2d0,(ulong)(uint)(int)*(short *)(*param_1 + 0x1a))" ( (pointer_expression "&DAT_0010c2d0" & identifier) , (binary_expression "(ulong)(uint)(int)*(short *)(*param_1 + 0x1a)" (call_expression "(ulong)(uint)(int)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(int)" ( identifier ))) * (cast_expression "(short *)(*param_1 + 0x1a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0x1a)" ( (binary_expression "*param_1 + 0x1a" (pointer_expression "*param_1" * identifier) + number_literal) )))) ))) ;) (goto_statement "goto LAB_00105757;" goto statement_identifier ;) })) (if_statement "if (param_1[2] == 0) {\n    if (param_1[3] != 0) {\n      lVar4 = *(long *)(param_1[3] + 0x30);\n      cVar1 = *(char *)(lVar4 + 0x28);\n      if (cVar1 == 'g') {\n        pcVar8 = "File";\n      }\n      else if (cVar1 == 'h') {\n        pcVar8 = "Line";\n      }\n      else if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }\n      goto LAB_00105780;\n    }\n    printf("                  |");\n  }\n  else {\n    bVar7 = *(byte *)(param_1[2] + 0x48) & 0xf;\n    switch(bVar7) {\n    case 0:\n      pcVar8 = "NOTYPE";\n      break;\n    case 1:\n      pcVar8 = "OBJECT";\n      break;\n    case 2:\n      pcVar8 = "FUNC";\n      break;\n    case 3:\n      pcVar8 = "SECTION";\n      break;\n    case 4:\n      pcVar8 = "FILE";\n      break;\n    case 5:\n      pcVar8 = "COMMON";\n      break;\n    case 6:\n      pcVar8 = "TLS";\n      break;\n    default:\n      free(DAT_0010cbc0);\n      pcVar8 = "<processor specific>: %d";\n      if ((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)) {\n        pcVar8 = "<unknown>: %d";\n      }\n      pcVar8 = (char *)dcgettext(0,pcVar8,5);\n      iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7);\n      pcVar8 = DAT_0010cbc0;\njoined_r0x0010570b:\n      if (iVar3 < 0) {\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    \n        FUN_00106110("%s",uVar6);\n      }\n    }\nLAB_00105780:\n    printf("%18s|",pcVar8);\n  }" if (parenthesized_expression "(param_1[2] == 0)" ( (binary_expression "param_1[2] == 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    if (param_1[3] != 0) {\n      lVar4 = *(long *)(param_1[3] + 0x30);\n      cVar1 = *(char *)(lVar4 + 0x28);\n      if (cVar1 == 'g') {\n        pcVar8 = "File";\n      }\n      else if (cVar1 == 'h') {\n        pcVar8 = "Line";\n      }\n      else if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }\n      goto LAB_00105780;\n    }\n    printf("                  |");\n  }" { (if_statement "if (param_1[3] != 0) {\n      lVar4 = *(long *)(param_1[3] + 0x30);\n      cVar1 = *(char *)(lVar4 + 0x28);\n      if (cVar1 == 'g') {\n        pcVar8 = "File";\n      }\n      else if (cVar1 == 'h') {\n        pcVar8 = "Line";\n      }\n      else if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }\n      goto LAB_00105780;\n    }" if (parenthesized_expression "(param_1[3] != 0)" ( (binary_expression "param_1[3] != 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      lVar4 = *(long *)(param_1[3] + 0x30);\n      cVar1 = *(char *)(lVar4 + 0x28);\n      if (cVar1 == 'g') {\n        pcVar8 = "File";\n      }\n      else if (cVar1 == 'h') {\n        pcVar8 = "Line";\n      }\n      else if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }\n      goto LAB_00105780;\n    }" { (expression_statement "lVar4 = *(long *)(param_1[3] + 0x30);" (assignment_expression "lVar4 = *(long *)(param_1[3] + 0x30)" identifier = (pointer_expression "*(long *)(param_1[3] + 0x30)" * (cast_expression "(long *)(param_1[3] + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[3] + 0x30)" ( (binary_expression "param_1[3] + 0x30" (subscript_expression "param_1[3]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "cVar1 = *(char *)(lVar4 + 0x28);" (assignment_expression "cVar1 = *(char *)(lVar4 + 0x28)" identifier = (pointer_expression "*(char *)(lVar4 + 0x28)" * (cast_expression "(char *)(lVar4 + 0x28)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x28)" ( (binary_expression "lVar4 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (cVar1 == 'g') {\n        pcVar8 = "File";\n      }\n      else if (cVar1 == 'h') {\n        pcVar8 = "Line";\n      }\n      else if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }" if (parenthesized_expression "(cVar1 == 'g')" ( (binary_expression "cVar1 == 'g'" identifier == (char_literal "'g'" ' character ')) )) (compound_statement "{\n        pcVar8 = "File";\n      }" { (expression_statement "pcVar8 = "File";" (assignment_expression "pcVar8 = "File"" identifier = (string_literal ""File"" " string_content ")) ;) }) (else_clause "else if (cVar1 == 'h') {\n        pcVar8 = "Line";\n      }\n      else if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }" else (if_statement "if (cVar1 == 'h') {\n        pcVar8 = "Line";\n      }\n      else if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }" if (parenthesized_expression "(cVar1 == 'h')" ( (binary_expression "cVar1 == 'h'" identifier == (char_literal "'h'" ' character ')) )) (compound_statement "{\n        pcVar8 = "Line";\n      }" { (expression_statement "pcVar8 = "Line";" (assignment_expression "pcVar8 = "Line"" identifier = (string_literal ""Line"" " string_content ")) ;) }) (else_clause "else if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }" else (if_statement "if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }" if (parenthesized_expression "(cVar1 == 'd')" ( (binary_expression "cVar1 == 'd'" identifier == (char_literal "'d'" ' character ')) )) (compound_statement "{\n        pcVar8 = "Block";\n      }" { (expression_statement "pcVar8 = "Block";" (assignment_expression "pcVar8 = "Block"" identifier = (string_literal ""Block"" " string_content ")) ;) }) (else_clause "else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }" else (if_statement "if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }" if (parenthesized_expression "(*(ushort *)(lVar4 + 0x26) == 0)" ( (binary_expression "*(ushort *)(lVar4 + 0x26) == 0" (pointer_expression "*(ushort *)(lVar4 + 0x26)" * (cast_expression "(ushort *)(lVar4 + 0x26)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x26)" ( (binary_expression "lVar4 + 0x26" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        pcVar8 = "None";\n      }" { (expression_statement "pcVar8 = "None";" (assignment_expression "pcVar8 = "None"" identifier = (string_literal ""None"" " string_content ")) ;) }) (else_clause "else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }" else (compound_statement "{\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }" { (expression_statement "uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;" (assignment_expression "uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3" identifier = (binary_expression "*(ushort *)(lVar4 + 0x26) >> 4 & 3" (binary_expression "*(ushort *)(lVar4 + 0x26) >> 4" (pointer_expression "*(ushort *)(lVar4 + 0x26)" * (cast_expression "(ushort *)(lVar4 + 0x26)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x26)" ( (binary_expression "lVar4 + 0x26" identifier + number_literal) )))) >> number_literal) & number_literal)) ;) (if_statement "if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }" if (parenthesized_expression "(uVar2 == 2)" ( (binary_expression "uVar2 == 2" identifier == number_literal) )) (compound_statement "{\n          pcVar8 = "Function";\n        }" { (expression_statement "pcVar8 = "Function";" (assignment_expression "pcVar8 = "Function"" identifier = (string_literal ""Function"" " string_content ")) ;) }) (else_clause "else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }" else (if_statement "if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }" if (parenthesized_expression "(uVar2 == 3)" ( (binary_expression "uVar2 == 3" identifier == number_literal) )) (compound_statement "{\n          pcVar8 = "Array";\n        }" { (expression_statement "pcVar8 = "Array";" (assignment_expression "pcVar8 = "Array"" identifier = (string_literal ""Array"" " string_content ")) ;) }) (else_clause "else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }" else (compound_statement "{\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }" { (if_statement "if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }" if (parenthesized_expression "(uVar2 != 1)" ( (binary_expression "uVar2 != 1" identifier != number_literal) )) (compound_statement "{\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }" { (expression_statement "free(DAT_0010cbb8);" (call_expression "free(DAT_0010cbb8)" identifier (argument_list "(DAT_0010cbb8)" ( identifier ))) ;) (expression_statement "uVar2 = *(ushort *)(lVar4 + 0x26);" (assignment_expression "uVar2 = *(ushort *)(lVar4 + 0x26)" identifier = (pointer_expression "*(ushort *)(lVar4 + 0x26)" * (cast_expression "(ushort *)(lVar4 + 0x26)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x26)" ( (binary_expression "lVar4 + 0x26" identifier + number_literal) ))))) ;) (expression_statement "bVar7 = *(byte *)(lVar4 + 0x28);" (assignment_expression "bVar7 = *(byte *)(lVar4 + 0x28)" identifier = (pointer_expression "*(byte *)(lVar4 + 0x28)" * (cast_expression "(byte *)(lVar4 + 0x28)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + 0x28)" ( (binary_expression "lVar4 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5)" identifier = (cast_expression "(char *)dcgettext(0,"<unknown>: %d/%d",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<unknown>: %d/%d",5)" identifier (argument_list "(0,"<unknown>: %d/%d",5)" ( number_literal , (string_literal ""<unknown>: %d/%d"" " string_content ") , number_literal ))))) ;) (expression_statement "iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);" (assignment_expression "iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2)" identifier = (call_expression "asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2)" identifier (argument_list "(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2)" ( (pointer_expression "&DAT_0010cbb8" & identifier) , identifier , (cast_expression "(ulong)bVar7" ( (type_descriptor "ulong" type_identifier) ) identifier) , (cast_expression "(ulong)uVar2" ( (type_descriptor "ulong" type_identifier) ) identifier) )))) ;) (expression_statement "pcVar8 = DAT_0010cbb8;" (assignment_expression "pcVar8 = DAT_0010cbb8" identifier = identifier) ;) (goto_statement "goto joined_r0x0010570b;" goto statement_identifier ;) })) (expression_statement "pcVar8 = "Pointer";" (assignment_expression "pcVar8 = "Pointer"" identifier = (string_literal ""Pointer"" " string_content ")) ;) }))))) }))))))))) (goto_statement "goto LAB_00105780;" goto statement_identifier ;) })) (expression_statement "printf("                  |");" (call_expression "printf("                  |")" identifier (argument_list "("                  |")" ( (string_literal ""                  |"" " string_content ") ))) ;) }) (else_clause "else {\n    bVar7 = *(byte *)(param_1[2] + 0x48) & 0xf;\n    switch(bVar7) {\n    case 0:\n      pcVar8 = "NOTYPE";\n      break;\n    case 1:\n      pcVar8 = "OBJECT";\n      break;\n    case 2:\n      pcVar8 = "FUNC";\n      break;\n    case 3:\n      pcVar8 = "SECTION";\n      break;\n    case 4:\n      pcVar8 = "FILE";\n      break;\n    case 5:\n      pcVar8 = "COMMON";\n      break;\n    case 6:\n      pcVar8 = "TLS";\n      break;\n    default:\n      free(DAT_0010cbc0);\n      pcVar8 = "<processor specific>: %d";\n      if ((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)) {\n        pcVar8 = "<unknown>: %d";\n      }\n      pcVar8 = (char *)dcgettext(0,pcVar8,5);\n      iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7);\n      pcVar8 = DAT_0010cbc0;\njoined_r0x0010570b:\n      if (iVar3 < 0) {\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    \n        FUN_00106110("%s",uVar6);\n      }\n    }\nLAB_00105780:\n    printf("%18s|",pcVar8);\n  }" else (compound_statement "{\n    bVar7 = *(byte *)(param_1[2] + 0x48) & 0xf;\n    switch(bVar7) {\n    case 0:\n      pcVar8 = "NOTYPE";\n      break;\n    case 1:\n      pcVar8 = "OBJECT";\n      break;\n    case 2:\n      pcVar8 = "FUNC";\n      break;\n    case 3:\n      pcVar8 = "SECTION";\n      break;\n    case 4:\n      pcVar8 = "FILE";\n      break;\n    case 5:\n      pcVar8 = "COMMON";\n      break;\n    case 6:\n      pcVar8 = "TLS";\n      break;\n    default:\n      free(DAT_0010cbc0);\n      pcVar8 = "<processor specific>: %d";\n      if ((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)) {\n        pcVar8 = "<unknown>: %d";\n      }\n      pcVar8 = (char *)dcgettext(0,pcVar8,5);\n      iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7);\n      pcVar8 = DAT_0010cbc0;\njoined_r0x0010570b:\n      if (iVar3 < 0) {\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    \n        FUN_00106110("%s",uVar6);\n      }\n    }\nLAB_00105780:\n    printf("%18s|",pcVar8);\n  }" { (expression_statement "bVar7 = *(byte *)(param_1[2] + 0x48) & 0xf;" (assignment_expression "bVar7 = *(byte *)(param_1[2] + 0x48) & 0xf" identifier = (binary_expression "*(byte *)(param_1[2] + 0x48) & 0xf" (pointer_expression "*(byte *)(param_1[2] + 0x48)" * (cast_expression "(byte *)(param_1[2] + 0x48)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[2] + 0x48)" ( (binary_expression "param_1[2] + 0x48" (subscript_expression "param_1[2]" identifier [ number_literal ]) + number_literal) )))) & number_literal)) ;) (switch_statement "switch(bVar7) {\n    case 0:\n      pcVar8 = "NOTYPE";\n      break;\n    case 1:\n      pcVar8 = "OBJECT";\n      break;\n    case 2:\n      pcVar8 = "FUNC";\n      break;\n    case 3:\n      pcVar8 = "SECTION";\n      break;\n    case 4:\n      pcVar8 = "FILE";\n      break;\n    case 5:\n      pcVar8 = "COMMON";\n      break;\n    case 6:\n      pcVar8 = "TLS";\n      break;\n    default:\n      free(DAT_0010cbc0);\n      pcVar8 = "<processor specific>: %d";\n      if ((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)) {\n        pcVar8 = "<unknown>: %d";\n      }\n      pcVar8 = (char *)dcgettext(0,pcVar8,5);\n      iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7);\n      pcVar8 = DAT_0010cbc0;\njoined_r0x0010570b:\n      if (iVar3 < 0) {\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    \n        FUN_00106110("%s",uVar6);\n      }\n    }" switch (parenthesized_expression "(bVar7)" ( identifier )) (compound_statement "{\n    case 0:\n      pcVar8 = "NOTYPE";\n      break;\n    case 1:\n      pcVar8 = "OBJECT";\n      break;\n    case 2:\n      pcVar8 = "FUNC";\n      break;\n    case 3:\n      pcVar8 = "SECTION";\n      break;\n    case 4:\n      pcVar8 = "FILE";\n      break;\n    case 5:\n      pcVar8 = "COMMON";\n      break;\n    case 6:\n      pcVar8 = "TLS";\n      break;\n    default:\n      free(DAT_0010cbc0);\n      pcVar8 = "<processor specific>: %d";\n      if ((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)) {\n        pcVar8 = "<unknown>: %d";\n      }\n      pcVar8 = (char *)dcgettext(0,pcVar8,5);\n      iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7);\n      pcVar8 = DAT_0010cbc0;\njoined_r0x0010570b:\n      if (iVar3 < 0) {\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    \n        FUN_00106110("%s",uVar6);\n      }\n    }" { (case_statement "case 0:\n      pcVar8 = "NOTYPE";\n      break;" case number_literal : (expression_statement "pcVar8 = "NOTYPE";" (assignment_expression "pcVar8 = "NOTYPE"" identifier = (string_literal ""NOTYPE"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 1:\n      pcVar8 = "OBJECT";\n      break;" case number_literal : (expression_statement "pcVar8 = "OBJECT";" (assignment_expression "pcVar8 = "OBJECT"" identifier = (string_literal ""OBJECT"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n      pcVar8 = "FUNC";\n      break;" case number_literal : (expression_statement "pcVar8 = "FUNC";" (assignment_expression "pcVar8 = "FUNC"" identifier = (string_literal ""FUNC"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n      pcVar8 = "SECTION";\n      break;" case number_literal : (expression_statement "pcVar8 = "SECTION";" (assignment_expression "pcVar8 = "SECTION"" identifier = (string_literal ""SECTION"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n      pcVar8 = "FILE";\n      break;" case number_literal : (expression_statement "pcVar8 = "FILE";" (assignment_expression "pcVar8 = "FILE"" identifier = (string_literal ""FILE"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n      pcVar8 = "COMMON";\n      break;" case number_literal : (expression_statement "pcVar8 = "COMMON";" (assignment_expression "pcVar8 = "COMMON"" identifier = (string_literal ""COMMON"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n      pcVar8 = "TLS";\n      break;" case number_literal : (expression_statement "pcVar8 = "TLS";" (assignment_expression "pcVar8 = "TLS"" identifier = (string_literal ""TLS"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "default:\n      free(DAT_0010cbc0);\n      pcVar8 = "<processor specific>: %d";\n      if ((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)) {\n        pcVar8 = "<unknown>: %d";\n      }\n      pcVar8 = (char *)dcgettext(0,pcVar8,5);\n      iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7);\n      pcVar8 = DAT_0010cbc0;\njoined_r0x0010570b:\n      if (iVar3 < 0) {\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    \n        FUN_00106110("%s",uVar6);\n      }" default : (expression_statement "free(DAT_0010cbc0);" (call_expression "free(DAT_0010cbc0)" identifier (argument_list "(DAT_0010cbc0)" ( identifier ))) ;) (expression_statement "pcVar8 = "<processor specific>: %d";" (assignment_expression "pcVar8 = "<processor specific>: %d"" identifier = (string_literal ""<processor specific>: %d"" " string_content ")) ;) (if_statement "if ((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)) {\n        pcVar8 = "<unknown>: %d";\n      }" if (parenthesized_expression "((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10))" ( (binary_expression "(2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)" (parenthesized_expression "(2 < bVar7 - 0xd)" ( (binary_expression "2 < bVar7 - 0xd" number_literal < (binary_expression "bVar7 - 0xd" identifier - number_literal)) )) && (parenthesized_expression "(pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)" ( (comma_expression "pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10" (assignment_expression "pcVar8 = "<OS specific>: %d"" identifier = (string_literal ""<OS specific>: %d"" " string_content ")) , (binary_expression "2 < bVar7 - 10" number_literal < (binary_expression "bVar7 - 10" identifier - number_literal))) ))) )) (compound_statement "{\n        pcVar8 = "<unknown>: %d";\n      }" { (expression_statement "pcVar8 = "<unknown>: %d";" (assignment_expression "pcVar8 = "<unknown>: %d"" identifier = (string_literal ""<unknown>: %d"" " string_content ")) ;) })) (expression_statement "pcVar8 = (char *)dcgettext(0,pcVar8,5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,pcVar8,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar8,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar8,5)" identifier (argument_list "(0,pcVar8,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7);" (assignment_expression "iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7)" identifier = (call_expression "asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7)" identifier (argument_list "(&DAT_0010cbc0,pcVar8,(ulong)bVar7)" ( (pointer_expression "&DAT_0010cbc0" & identifier) , identifier , (cast_expression "(ulong)bVar7" ( (type_descriptor "ulong" type_identifier) ) identifier) )))) ;) (expression_statement "pcVar8 = DAT_0010cbc0;" (assignment_expression "pcVar8 = DAT_0010cbc0" identifier = identifier) ;) (labeled_statement "joined_r0x0010570b:\n      if (iVar3 < 0) {\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    \n        FUN_00106110("%s",uVar6);\n      }" statement_identifier : (if_statement "if (iVar3 < 0) {\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    \n        FUN_00106110("%s",uVar6);\n      }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    \n        FUN_00106110("%s",uVar6);\n      }" { (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar6 = xstrerror(*piVar5);" (assignment_expression "uVar6 = xstrerror(*piVar5)" identifier = (call_expression "xstrerror(*piVar5)" identifier (argument_list "(*piVar5)" ( (pointer_expression "*piVar5" * identifier) )))) ;) (expression_statement "FUN_00106110("%s",uVar6);" (call_expression "FUN_00106110("%s",uVar6)" identifier (argument_list "("%s",uVar6)" ( (string_literal ""%s"" " string_content ") , identifier ))) ;) })))) })) (labeled_statement "LAB_00105780:\n    printf("%18s|",pcVar8);" statement_identifier : (expression_statement "printf("%18s|",pcVar8);" (call_expression "printf("%18s|",pcVar8)" identifier (argument_list "("%18s|",pcVar8)" ( (string_literal ""%18s|"" " string_content ") , identifier ))) ;)) }))) (if_statement "if (param_1[2] == 0) {\n    if (param_1[1] != 0) goto LAB_001057a8;\nLAB_00105875:\n    if (DAT_0010cc00 == 0x20) {\n      printf("        ");\n      goto LAB_001057ad;\n    }\n    printf("                ");\n    lVar4 = param_1[2];\n  }\n  else {\n    if (*(long *)(param_1[2] + 0x38) == 0) goto LAB_00105875;\nLAB_001057a8:\n    FUN_00105100();\nLAB_001057ad:\n    lVar4 = param_1[2];\n  }" if (parenthesized_expression "(param_1[2] == 0)" ( (binary_expression "param_1[2] == 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    if (param_1[1] != 0) goto LAB_001057a8;\nLAB_00105875:\n    if (DAT_0010cc00 == 0x20) {\n      printf("        ");\n      goto LAB_001057ad;\n    }\n    printf("                ");\n    lVar4 = param_1[2];\n  }" { (if_statement "if (param_1[1] != 0) goto LAB_001057a8;" if (parenthesized_expression "(param_1[1] != 0)" ( (binary_expression "param_1[1] != 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_001057a8;" goto statement_identifier ;)) (labeled_statement "LAB_00105875:\n    if (DAT_0010cc00 == 0x20) {\n      printf("        ");\n      goto LAB_001057ad;\n    }" statement_identifier : (if_statement "if (DAT_0010cc00 == 0x20) {\n      printf("        ");\n      goto LAB_001057ad;\n    }" if (parenthesized_expression "(DAT_0010cc00 == 0x20)" ( (binary_expression "DAT_0010cc00 == 0x20" identifier == number_literal) )) (compound_statement "{\n      printf("        ");\n      goto LAB_001057ad;\n    }" { (expression_statement "printf("        ");" (call_expression "printf("        ")" identifier (argument_list "("        ")" ( (string_literal ""        "" " string_content ") ))) ;) (goto_statement "goto LAB_001057ad;" goto statement_identifier ;) }))) (expression_statement "printf("                ");" (call_expression "printf("                ")" identifier (argument_list "("                ")" ( (string_literal ""                "" " string_content ") ))) ;) (expression_statement "lVar4 = param_1[2];" (assignment_expression "lVar4 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) }) (else_clause "else {\n    if (*(long *)(param_1[2] + 0x38) == 0) goto LAB_00105875;\nLAB_001057a8:\n    FUN_00105100();\nLAB_001057ad:\n    lVar4 = param_1[2];\n  }" else (compound_statement "{\n    if (*(long *)(param_1[2] + 0x38) == 0) goto LAB_00105875;\nLAB_001057a8:\n    FUN_00105100();\nLAB_001057ad:\n    lVar4 = param_1[2];\n  }" { (if_statement "if (*(long *)(param_1[2] + 0x38) == 0) goto LAB_00105875;" if (parenthesized_expression "(*(long *)(param_1[2] + 0x38) == 0)" ( (binary_expression "*(long *)(param_1[2] + 0x38) == 0" (pointer_expression "*(long *)(param_1[2] + 0x38)" * (cast_expression "(long *)(param_1[2] + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[2] + 0x38)" ( (binary_expression "param_1[2] + 0x38" (subscript_expression "param_1[2]" identifier [ number_literal ]) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_00105875;" goto statement_identifier ;)) (labeled_statement "LAB_001057a8:\n    FUN_00105100();" statement_identifier : (expression_statement "FUN_00105100();" (call_expression "FUN_00105100()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_001057ad:\n    lVar4 = param_1[2];" statement_identifier : (expression_statement "lVar4 = param_1[2];" (assignment_expression "lVar4 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;)) }))) (if_statement "if ((lVar4 != 0) || (lVar4 = param_1[3], lVar4 != 0)) {\n    printf("|     |%s",**(undefined8 **)(lVar4 + 0x20));\n    return;\n  }" if (parenthesized_expression "((lVar4 != 0) || (lVar4 = param_1[3], lVar4 != 0))" ( (binary_expression "(lVar4 != 0) || (lVar4 = param_1[3], lVar4 != 0)" (parenthesized_expression "(lVar4 != 0)" ( (binary_expression "lVar4 != 0" identifier != number_literal) )) || (parenthesized_expression "(lVar4 = param_1[3], lVar4 != 0)" ( (comma_expression "lVar4 = param_1[3], lVar4 != 0" (assignment_expression "lVar4 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) , (binary_expression "lVar4 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    printf("|     |%s",**(undefined8 **)(lVar4 + 0x20));\n    return;\n  }" { (expression_statement "printf("|     |%s",**(undefined8 **)(lVar4 + 0x20));" (call_expression "printf("|     |%s",**(undefined8 **)(lVar4 + 0x20))" identifier (argument_list "("|     |%s",**(undefined8 **)(lVar4 + 0x20))" ( (string_literal ""|     |%s"" " string_content ") , (pointer_expression "**(undefined8 **)(lVar4 + 0x20)" * (pointer_expression "*(undefined8 **)(lVar4 + 0x20)" * (cast_expression "(undefined8 **)(lVar4 + 0x20)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar4 + 0x20)" ( (binary_expression "lVar4 + 0x20" identifier + number_literal) ))))) ))) ;) (return_statement "return;" return ;) })) (labeled_statement "LAB_00105757:\n  printf("|     |");" statement_identifier : (expression_statement "printf("|     |");" (call_expression "printf("|     |")" identifier (argument_list "("|     |")" ( (string_literal ""|     |"" " string_content ") ))) ;)) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) }))))) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (binary_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == (char_literal ' character ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (binary_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( IDENT ))) * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }))))) }))))))))) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) & LIT)) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement default : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (string_literal " string_content ")) , (binary_expression LIT < (binary_expression IDENT - LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) })))) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (goto_statement goto statement_identifier ;) }))) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) ;) (return_statement return ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;)) (return_statement return ;) })))
(function_definition "void FUN_001055c0(long *param_1,undefined8 param_2)\n\n{\n  char cVar1;\n  ushort uVar2;\n  int iVar3;\n  long lVar4;\n  int *piVar5;\n  undefined8 uVar6;\n  byte bVar7;\n  char *pcVar8;\n  \n  FUN_00103ba0("%-20s|",*(undefined8 *)(*param_1 + 0x10),param_2);\n  iVar3 = bfd_is_undefined_symclass((int)*(char *)(*param_1 + 8));\n  if (iVar3 == 0) {\n    FUN_00105100(*(undefined8 *)*param_1);\n  }\n  else if (DAT_0010cc00 == 0x20) {\n    printf("        ");\n  }\n  else {\n    printf("                ");\n  }\n  printf("|   %c  |",(ulong)(uint)(int)*(char *)(*param_1 + 8));\n  if (*(char *)(*param_1 + 8) == '-') {\n    printf("%18s|  ",*(undefined8 *)(*param_1 + 0x20));\n    printf(&DAT_0010c2d0,(ulong)(uint)(int)*(short *)(*param_1 + 0x1a));\n    goto LAB_00105757;\n  }\n  if (param_1[2] == 0) {\n    if (param_1[3] != 0) {\n      lVar4 = *(long *)(param_1[3] + 0x30);\n      cVar1 = *(char *)(lVar4 + 0x28);\n      if (cVar1 == 'g') {\n        pcVar8 = "File";\n      }\n      else if (cVar1 == 'h') {\n        pcVar8 = "Line";\n      }\n      else if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }\n      goto LAB_00105780;\n    }\n    printf("                  |");\n  }\n  else {\n    bVar7 = *(byte *)(param_1[2] + 0x48) & 0xf;\n    switch(bVar7) {\n    case 0:\n      pcVar8 = "NOTYPE";\n      break;\n    case 1:\n      pcVar8 = "OBJECT";\n      break;\n    case 2:\n      pcVar8 = "FUNC";\n      break;\n    case 3:\n      pcVar8 = "SECTION";\n      break;\n    case 4:\n      pcVar8 = "FILE";\n      break;\n    case 5:\n      pcVar8 = "COMMON";\n      break;\n    case 6:\n      pcVar8 = "TLS";\n      break;\n    default:\n      free(DAT_0010cbc0);\n      pcVar8 = "<processor specific>: %d";\n      if ((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)) {\n        pcVar8 = "<unknown>: %d";\n      }\n      pcVar8 = (char *)dcgettext(0,pcVar8,5);\n      iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7);\n      pcVar8 = DAT_0010cbc0;\njoined_r0x0010570b:\n      if (iVar3 < 0) {\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    \n        FUN_00106110("%s",uVar6);\n      }\n    }\nLAB_00105780:\n    printf("%18s|",pcVar8);\n  }\n  if (param_1[2] == 0) {\n    if (param_1[1] != 0) goto LAB_001057a8;\nLAB_00105875:\n    if (DAT_0010cc00 == 0x20) {\n      printf("        ");\n      goto LAB_001057ad;\n    }\n    printf("                ");\n    lVar4 = param_1[2];\n  }\n  else {\n    if (*(long *)(param_1[2] + 0x38) == 0) goto LAB_00105875;\nLAB_001057a8:\n    FUN_00105100();\nLAB_001057ad:\n    lVar4 = param_1[2];\n  }\n  if ((lVar4 != 0) || (lVar4 = param_1[3], lVar4 != 0)) {\n    printf("|     |%s",**(undefined8 **)(lVar4 + 0x20));\n    return;\n  }\nLAB_00105757:\n  printf("|     |");\n  return;\n}" (primitive_type "void") (function_declarator "FUN_001055c0(long *param_1,undefined8 param_2)" (identifier "FUN_001055c0") (parameter_list "(long *param_1,undefined8 param_2)" (( "(") (parameter_declaration "long *param_1" (sized_type_specifier "long" (long "long")) (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) () ")"))) (compound_statement "{\n  char cVar1;\n  ushort uVar2;\n  int iVar3;\n  long lVar4;\n  int *piVar5;\n  undefined8 uVar6;\n  byte bVar7;\n  char *pcVar8;\n  \n  FUN_00103ba0("%-20s|",*(undefined8 *)(*param_1 + 0x10),param_2);\n  iVar3 = bfd_is_undefined_symclass((int)*(char *)(*param_1 + 8));\n  if (iVar3 == 0) {\n    FUN_00105100(*(undefined8 *)*param_1);\n  }\n  else if (DAT_0010cc00 == 0x20) {\n    printf("        ");\n  }\n  else {\n    printf("                ");\n  }\n  printf("|   %c  |",(ulong)(uint)(int)*(char *)(*param_1 + 8));\n  if (*(char *)(*param_1 + 8) == '-') {\n    printf("%18s|  ",*(undefined8 *)(*param_1 + 0x20));\n    printf(&DAT_0010c2d0,(ulong)(uint)(int)*(short *)(*param_1 + 0x1a));\n    goto LAB_00105757;\n  }\n  if (param_1[2] == 0) {\n    if (param_1[3] != 0) {\n      lVar4 = *(long *)(param_1[3] + 0x30);\n      cVar1 = *(char *)(lVar4 + 0x28);\n      if (cVar1 == 'g') {\n        pcVar8 = "File";\n      }\n      else if (cVar1 == 'h') {\n        pcVar8 = "Line";\n      }\n      else if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }\n      goto LAB_00105780;\n    }\n    printf("                  |");\n  }\n  else {\n    bVar7 = *(byte *)(param_1[2] + 0x48) & 0xf;\n    switch(bVar7) {\n    case 0:\n      pcVar8 = "NOTYPE";\n      break;\n    case 1:\n      pcVar8 = "OBJECT";\n      break;\n    case 2:\n      pcVar8 = "FUNC";\n      break;\n    case 3:\n      pcVar8 = "SECTION";\n      break;\n    case 4:\n      pcVar8 = "FILE";\n      break;\n    case 5:\n      pcVar8 = "COMMON";\n      break;\n    case 6:\n      pcVar8 = "TLS";\n      break;\n    default:\n      free(DAT_0010cbc0);\n      pcVar8 = "<processor specific>: %d";\n      if ((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)) {\n        pcVar8 = "<unknown>: %d";\n      }\n      pcVar8 = (char *)dcgettext(0,pcVar8,5);\n      iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7);\n      pcVar8 = DAT_0010cbc0;\njoined_r0x0010570b:\n      if (iVar3 < 0) {\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    \n        FUN_00106110("%s",uVar6);\n      }\n    }\nLAB_00105780:\n    printf("%18s|",pcVar8);\n  }\n  if (param_1[2] == 0) {\n    if (param_1[1] != 0) goto LAB_001057a8;\nLAB_00105875:\n    if (DAT_0010cc00 == 0x20) {\n      printf("        ");\n      goto LAB_001057ad;\n    }\n    printf("                ");\n    lVar4 = param_1[2];\n  }\n  else {\n    if (*(long *)(param_1[2] + 0x38) == 0) goto LAB_00105875;\nLAB_001057a8:\n    FUN_00105100();\nLAB_001057ad:\n    lVar4 = param_1[2];\n  }\n  if ((lVar4 != 0) || (lVar4 = param_1[3], lVar4 != 0)) {\n    printf("|     |%s",**(undefined8 **)(lVar4 + 0x20));\n    return;\n  }\nLAB_00105757:\n  printf("|     |");\n  return;\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "ushort uVar2;" (type_identifier "ushort") (identifier "uVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "long lVar4;" (sized_type_specifier "long" (long "long")) (identifier "lVar4") (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "undefined8 uVar6;" (type_identifier "undefined8") (identifier "uVar6") (; ";")) (declaration "byte bVar7;" (type_identifier "byte") (identifier "bVar7") (; ";")) (declaration "char *pcVar8;" (primitive_type "char") (pointer_declarator "*pcVar8" (* "*") (identifier "pcVar8")) (; ";")) (expression_statement "FUN_00103ba0("%-20s|",*(undefined8 *)(*param_1 + 0x10),param_2);" (call_expression "FUN_00103ba0("%-20s|",*(undefined8 *)(*param_1 + 0x10),param_2)" (identifier "FUN_00103ba0") (argument_list "("%-20s|",*(undefined8 *)(*param_1 + 0x10),param_2)" (( "(") (string_literal ""%-20s|"" (" """) (string_content "%-20s|") (" """)) (, ",") (pointer_expression "*(undefined8 *)(*param_1 + 0x10)" (* "*") (cast_expression "(undefined8 *)(*param_1 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_1 + 0x10)" (( "(") (binary_expression "*param_1 + 0x10" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x10")) () ")")))) (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "iVar3 = bfd_is_undefined_symclass((int)*(char *)(*param_1 + 8));" (assignment_expression "iVar3 = bfd_is_undefined_symclass((int)*(char *)(*param_1 + 8))" (identifier "iVar3") (= "=") (call_expression "bfd_is_undefined_symclass((int)*(char *)(*param_1 + 8))" (identifier "bfd_is_undefined_symclass") (argument_list "((int)*(char *)(*param_1 + 8))" (( "(") (cast_expression "(int)*(char *)(*param_1 + 8)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(char *)(*param_1 + 8)" (* "*") (cast_expression "(char *)(*param_1 + 8)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_1 + 8)" (( "(") (binary_expression "*param_1 + 8" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "8")) () ")"))))) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n    FUN_00105100(*(undefined8 *)*param_1);\n  }\n  else if (DAT_0010cc00 == 0x20) {\n    printf("        ");\n  }\n  else {\n    printf("                ");\n  }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_00105100(*(undefined8 *)*param_1);\n  }" ({ "{") (expression_statement "FUN_00105100(*(undefined8 *)*param_1);" (call_expression "FUN_00105100(*(undefined8 *)*param_1)" (identifier "FUN_00105100") (argument_list "(*(undefined8 *)*param_1)" (( "(") (pointer_expression "*(undefined8 *)*param_1" (* "*") (cast_expression "(undefined8 *)*param_1" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1")))) () ")"))) (; ";")) (} "}")) (else_clause "else if (DAT_0010cc00 == 0x20) {\n    printf("        ");\n  }\n  else {\n    printf("                ");\n  }" (else "else") (if_statement "if (DAT_0010cc00 == 0x20) {\n    printf("        ");\n  }\n  else {\n    printf("                ");\n  }" (if "if") (parenthesized_expression "(DAT_0010cc00 == 0x20)" (( "(") (binary_expression "DAT_0010cc00 == 0x20" (identifier "DAT_0010cc00") (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n    printf("        ");\n  }" ({ "{") (expression_statement "printf("        ");" (call_expression "printf("        ")" (identifier "printf") (argument_list "("        ")" (( "(") (string_literal ""        "" (" """) (string_content "        ") (" """)) () ")"))) (; ";")) (} "}")) (else_clause "else {\n    printf("                ");\n  }" (else "else") (compound_statement "{\n    printf("                ");\n  }" ({ "{") (expression_statement "printf("                ");" (call_expression "printf("                ")" (identifier "printf") (argument_list "("                ")" (( "(") (string_literal ""                "" (" """) (string_content "                ") (" """)) () ")"))) (; ";")) (} "}")))))) (expression_statement "printf("|   %c  |",(ulong)(uint)(int)*(char *)(*param_1 + 8));" (call_expression "printf("|   %c  |",(ulong)(uint)(int)*(char *)(*param_1 + 8))" (identifier "printf") (argument_list "("|   %c  |",(ulong)(uint)(int)*(char *)(*param_1 + 8))" (( "(") (string_literal ""|   %c  |"" (" """) (string_content "|   %c  |") (" """)) (, ",") (binary_expression "(ulong)(uint)(int)*(char *)(*param_1 + 8)" (call_expression "(ulong)(uint)(int)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uint)" (( "(") (identifier "uint") () ")"))) (argument_list "(int)" (( "(") (identifier "int") () ")"))) (* "*") (cast_expression "(char *)(*param_1 + 8)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_1 + 8)" (( "(") (binary_expression "*param_1 + 8" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "8")) () ")")))) () ")"))) (; ";")) (if_statement "if (*(char *)(*param_1 + 8) == '-') {\n    printf("%18s|  ",*(undefined8 *)(*param_1 + 0x20));\n    printf(&DAT_0010c2d0,(ulong)(uint)(int)*(short *)(*param_1 + 0x1a));\n    goto LAB_00105757;\n  }" (if "if") (parenthesized_expression "(*(char *)(*param_1 + 8) == '-')" (( "(") (binary_expression "*(char *)(*param_1 + 8) == '-'" (pointer_expression "*(char *)(*param_1 + 8)" (* "*") (cast_expression "(char *)(*param_1 + 8)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_1 + 8)" (( "(") (binary_expression "*param_1 + 8" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "8")) () ")")))) (== "==") (char_literal "'-'" (' "'") (character "-") (' "'"))) () ")")) (compound_statement "{\n    printf("%18s|  ",*(undefined8 *)(*param_1 + 0x20));\n    printf(&DAT_0010c2d0,(ulong)(uint)(int)*(short *)(*param_1 + 0x1a));\n    goto LAB_00105757;\n  }" ({ "{") (expression_statement "printf("%18s|  ",*(undefined8 *)(*param_1 + 0x20));" (call_expression "printf("%18s|  ",*(undefined8 *)(*param_1 + 0x20))" (identifier "printf") (argument_list "("%18s|  ",*(undefined8 *)(*param_1 + 0x20))" (( "(") (string_literal ""%18s|  "" (" """) (string_content "%18s|  ") (" """)) (, ",") (pointer_expression "*(undefined8 *)(*param_1 + 0x20)" (* "*") (cast_expression "(undefined8 *)(*param_1 + 0x20)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_1 + 0x20)" (( "(") (binary_expression "*param_1 + 0x20" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x20")) () ")")))) () ")"))) (; ";")) (expression_statement "printf(&DAT_0010c2d0,(ulong)(uint)(int)*(short *)(*param_1 + 0x1a));" (call_expression "printf(&DAT_0010c2d0,(ulong)(uint)(int)*(short *)(*param_1 + 0x1a))" (identifier "printf") (argument_list "(&DAT_0010c2d0,(ulong)(uint)(int)*(short *)(*param_1 + 0x1a))" (( "(") (pointer_expression "&DAT_0010c2d0" (& "&") (identifier "DAT_0010c2d0")) (, ",") (binary_expression "(ulong)(uint)(int)*(short *)(*param_1 + 0x1a)" (call_expression "(ulong)(uint)(int)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uint)" (( "(") (identifier "uint") () ")"))) (argument_list "(int)" (( "(") (identifier "int") () ")"))) (* "*") (cast_expression "(short *)(*param_1 + 0x1a)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_1 + 0x1a)" (( "(") (binary_expression "*param_1 + 0x1a" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x1a")) () ")")))) () ")"))) (; ";")) (goto_statement "goto LAB_00105757;" (goto "goto") (statement_identifier "LAB_00105757") (; ";")) (} "}"))) (if_statement "if (param_1[2] == 0) {\n    if (param_1[3] != 0) {\n      lVar4 = *(long *)(param_1[3] + 0x30);\n      cVar1 = *(char *)(lVar4 + 0x28);\n      if (cVar1 == 'g') {\n        pcVar8 = "File";\n      }\n      else if (cVar1 == 'h') {\n        pcVar8 = "Line";\n      }\n      else if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }\n      goto LAB_00105780;\n    }\n    printf("                  |");\n  }\n  else {\n    bVar7 = *(byte *)(param_1[2] + 0x48) & 0xf;\n    switch(bVar7) {\n    case 0:\n      pcVar8 = "NOTYPE";\n      break;\n    case 1:\n      pcVar8 = "OBJECT";\n      break;\n    case 2:\n      pcVar8 = "FUNC";\n      break;\n    case 3:\n      pcVar8 = "SECTION";\n      break;\n    case 4:\n      pcVar8 = "FILE";\n      break;\n    case 5:\n      pcVar8 = "COMMON";\n      break;\n    case 6:\n      pcVar8 = "TLS";\n      break;\n    default:\n      free(DAT_0010cbc0);\n      pcVar8 = "<processor specific>: %d";\n      if ((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)) {\n        pcVar8 = "<unknown>: %d";\n      }\n      pcVar8 = (char *)dcgettext(0,pcVar8,5);\n      iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7);\n      pcVar8 = DAT_0010cbc0;\njoined_r0x0010570b:\n      if (iVar3 < 0) {\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    \n        FUN_00106110("%s",uVar6);\n      }\n    }\nLAB_00105780:\n    printf("%18s|",pcVar8);\n  }" (if "if") (parenthesized_expression "(param_1[2] == 0)" (( "(") (binary_expression "param_1[2] == 0" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if (param_1[3] != 0) {\n      lVar4 = *(long *)(param_1[3] + 0x30);\n      cVar1 = *(char *)(lVar4 + 0x28);\n      if (cVar1 == 'g') {\n        pcVar8 = "File";\n      }\n      else if (cVar1 == 'h') {\n        pcVar8 = "Line";\n      }\n      else if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }\n      goto LAB_00105780;\n    }\n    printf("                  |");\n  }" ({ "{") (if_statement "if (param_1[3] != 0) {\n      lVar4 = *(long *)(param_1[3] + 0x30);\n      cVar1 = *(char *)(lVar4 + 0x28);\n      if (cVar1 == 'g') {\n        pcVar8 = "File";\n      }\n      else if (cVar1 == 'h') {\n        pcVar8 = "Line";\n      }\n      else if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }\n      goto LAB_00105780;\n    }" (if "if") (parenthesized_expression "(param_1[3] != 0)" (( "(") (binary_expression "param_1[3] != 0" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      lVar4 = *(long *)(param_1[3] + 0x30);\n      cVar1 = *(char *)(lVar4 + 0x28);\n      if (cVar1 == 'g') {\n        pcVar8 = "File";\n      }\n      else if (cVar1 == 'h') {\n        pcVar8 = "Line";\n      }\n      else if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }\n      goto LAB_00105780;\n    }" ({ "{") (expression_statement "lVar4 = *(long *)(param_1[3] + 0x30);" (assignment_expression "lVar4 = *(long *)(param_1[3] + 0x30)" (identifier "lVar4") (= "=") (pointer_expression "*(long *)(param_1[3] + 0x30)" (* "*") (cast_expression "(long *)(param_1[3] + 0x30)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[3] + 0x30)" (( "(") (binary_expression "param_1[3] + 0x30" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "cVar1 = *(char *)(lVar4 + 0x28);" (assignment_expression "cVar1 = *(char *)(lVar4 + 0x28)" (identifier "cVar1") (= "=") (pointer_expression "*(char *)(lVar4 + 0x28)" (* "*") (cast_expression "(char *)(lVar4 + 0x28)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x28)" (( "(") (binary_expression "lVar4 + 0x28" (identifier "lVar4") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (if_statement "if (cVar1 == 'g') {\n        pcVar8 = "File";\n      }\n      else if (cVar1 == 'h') {\n        pcVar8 = "Line";\n      }\n      else if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }" (if "if") (parenthesized_expression "(cVar1 == 'g')" (( "(") (binary_expression "cVar1 == 'g'" (identifier "cVar1") (== "==") (char_literal "'g'" (' "'") (character "g") (' "'"))) () ")")) (compound_statement "{\n        pcVar8 = "File";\n      }" ({ "{") (expression_statement "pcVar8 = "File";" (assignment_expression "pcVar8 = "File"" (identifier "pcVar8") (= "=") (string_literal ""File"" (" """) (string_content "File") (" """))) (; ";")) (} "}")) (else_clause "else if (cVar1 == 'h') {\n        pcVar8 = "Line";\n      }\n      else if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }" (else "else") (if_statement "if (cVar1 == 'h') {\n        pcVar8 = "Line";\n      }\n      else if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }" (if "if") (parenthesized_expression "(cVar1 == 'h')" (( "(") (binary_expression "cVar1 == 'h'" (identifier "cVar1") (== "==") (char_literal "'h'" (' "'") (character "h") (' "'"))) () ")")) (compound_statement "{\n        pcVar8 = "Line";\n      }" ({ "{") (expression_statement "pcVar8 = "Line";" (assignment_expression "pcVar8 = "Line"" (identifier "pcVar8") (= "=") (string_literal ""Line"" (" """) (string_content "Line") (" """))) (; ";")) (} "}")) (else_clause "else if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }" (else "else") (if_statement "if (cVar1 == 'd') {\n        pcVar8 = "Block";\n      }\n      else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }" (if "if") (parenthesized_expression "(cVar1 == 'd')" (( "(") (binary_expression "cVar1 == 'd'" (identifier "cVar1") (== "==") (char_literal "'d'" (' "'") (character "d") (' "'"))) () ")")) (compound_statement "{\n        pcVar8 = "Block";\n      }" ({ "{") (expression_statement "pcVar8 = "Block";" (assignment_expression "pcVar8 = "Block"" (identifier "pcVar8") (= "=") (string_literal ""Block"" (" """) (string_content "Block") (" """))) (; ";")) (} "}")) (else_clause "else if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }" (else "else") (if_statement "if (*(ushort *)(lVar4 + 0x26) == 0) {\n        pcVar8 = "None";\n      }\n      else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }" (if "if") (parenthesized_expression "(*(ushort *)(lVar4 + 0x26) == 0)" (( "(") (binary_expression "*(ushort *)(lVar4 + 0x26) == 0" (pointer_expression "*(ushort *)(lVar4 + 0x26)" (* "*") (cast_expression "(ushort *)(lVar4 + 0x26)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x26)" (( "(") (binary_expression "lVar4 + 0x26" (identifier "lVar4") (+ "+") (number_literal "0x26")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar8 = "None";\n      }" ({ "{") (expression_statement "pcVar8 = "None";" (assignment_expression "pcVar8 = "None"" (identifier "pcVar8") (= "=") (string_literal ""None"" (" """) (string_content "None") (" """))) (; ";")) (} "}")) (else_clause "else {\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }" (else "else") (compound_statement "{\n        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;\n        if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }\n      }" ({ "{") (expression_statement "uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;" (assignment_expression "uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3" (identifier "uVar2") (= "=") (binary_expression "*(ushort *)(lVar4 + 0x26) >> 4 & 3" (binary_expression "*(ushort *)(lVar4 + 0x26) >> 4" (pointer_expression "*(ushort *)(lVar4 + 0x26)" (* "*") (cast_expression "(ushort *)(lVar4 + 0x26)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x26)" (( "(") (binary_expression "lVar4 + 0x26" (identifier "lVar4") (+ "+") (number_literal "0x26")) () ")")))) (>> ">>") (number_literal "4")) (& "&") (number_literal "3"))) (; ";")) (if_statement "if (uVar2 == 2) {\n          pcVar8 = "Function";\n        }\n        else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }" (if "if") (parenthesized_expression "(uVar2 == 2)" (( "(") (binary_expression "uVar2 == 2" (identifier "uVar2") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n          pcVar8 = "Function";\n        }" ({ "{") (expression_statement "pcVar8 = "Function";" (assignment_expression "pcVar8 = "Function"" (identifier "pcVar8") (= "=") (string_literal ""Function"" (" """) (string_content "Function") (" """))) (; ";")) (} "}")) (else_clause "else if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }" (else "else") (if_statement "if (uVar2 == 3) {\n          pcVar8 = "Array";\n        }\n        else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }" (if "if") (parenthesized_expression "(uVar2 == 3)" (( "(") (binary_expression "uVar2 == 3" (identifier "uVar2") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n          pcVar8 = "Array";\n        }" ({ "{") (expression_statement "pcVar8 = "Array";" (assignment_expression "pcVar8 = "Array"" (identifier "pcVar8") (= "=") (string_literal ""Array"" (" """) (string_content "Array") (" """))) (; ";")) (} "}")) (else_clause "else {\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }" (else "else") (compound_statement "{\n          if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }\n          pcVar8 = "Pointer";\n        }" ({ "{") (if_statement "if (uVar2 != 1) {\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }" (if "if") (parenthesized_expression "(uVar2 != 1)" (( "(") (binary_expression "uVar2 != 1" (identifier "uVar2") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n            free(DAT_0010cbb8);\n            uVar2 = *(ushort *)(lVar4 + 0x26);\n            bVar7 = *(byte *)(lVar4 + 0x28);\n            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);\n            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);\n            pcVar8 = DAT_0010cbb8;\n            goto joined_r0x0010570b;\n          }" ({ "{") (expression_statement "free(DAT_0010cbb8);" (call_expression "free(DAT_0010cbb8)" (identifier "free") (argument_list "(DAT_0010cbb8)" (( "(") (identifier "DAT_0010cbb8") () ")"))) (; ";")) (expression_statement "uVar2 = *(ushort *)(lVar4 + 0x26);" (assignment_expression "uVar2 = *(ushort *)(lVar4 + 0x26)" (identifier "uVar2") (= "=") (pointer_expression "*(ushort *)(lVar4 + 0x26)" (* "*") (cast_expression "(ushort *)(lVar4 + 0x26)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x26)" (( "(") (binary_expression "lVar4 + 0x26" (identifier "lVar4") (+ "+") (number_literal "0x26")) () ")"))))) (; ";")) (expression_statement "bVar7 = *(byte *)(lVar4 + 0x28);" (assignment_expression "bVar7 = *(byte *)(lVar4 + 0x28)" (identifier "bVar7") (= "=") (pointer_expression "*(byte *)(lVar4 + 0x28)" (* "*") (cast_expression "(byte *)(lVar4 + 0x28)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + 0x28)" (( "(") (binary_expression "lVar4 + 0x28" (identifier "lVar4") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5)" (identifier "pcVar8") (= "=") (cast_expression "(char *)dcgettext(0,"<unknown>: %d/%d",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"<unknown>: %d/%d",5)" (identifier "dcgettext") (argument_list "(0,"<unknown>: %d/%d",5)" (( "(") (number_literal "0") (, ",") (string_literal ""<unknown>: %d/%d"" (" """) (string_content "<unknown>: %d/%d") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);" (assignment_expression "iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2)" (identifier "iVar3") (= "=") (call_expression "asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2)" (identifier "asprintf") (argument_list "(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2)" (( "(") (pointer_expression "&DAT_0010cbb8" (& "&") (identifier "DAT_0010cbb8")) (, ",") (identifier "pcVar8") (, ",") (cast_expression "(ulong)bVar7" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar7")) (, ",") (cast_expression "(ulong)uVar2" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar2")) () ")")))) (; ";")) (expression_statement "pcVar8 = DAT_0010cbb8;" (assignment_expression "pcVar8 = DAT_0010cbb8" (identifier "pcVar8") (= "=") (identifier "DAT_0010cbb8")) (; ";")) (goto_statement "goto joined_r0x0010570b;" (goto "goto") (statement_identifier "joined_r0x0010570b") (; ";")) (} "}"))) (expression_statement "pcVar8 = "Pointer";" (assignment_expression "pcVar8 = "Pointer"" (identifier "pcVar8") (= "=") (string_literal ""Pointer"" (" """) (string_content "Pointer") (" """))) (; ";")) (} "}")))))) (} "}")))))))))) (goto_statement "goto LAB_00105780;" (goto "goto") (statement_identifier "LAB_00105780") (; ";")) (} "}"))) (expression_statement "printf("                  |");" (call_expression "printf("                  |")" (identifier "printf") (argument_list "("                  |")" (( "(") (string_literal ""                  |"" (" """) (string_content "                  |") (" """)) () ")"))) (; ";")) (} "}")) (else_clause "else {\n    bVar7 = *(byte *)(param_1[2] + 0x48) & 0xf;\n    switch(bVar7) {\n    case 0:\n      pcVar8 = "NOTYPE";\n      break;\n    case 1:\n      pcVar8 = "OBJECT";\n      break;\n    case 2:\n      pcVar8 = "FUNC";\n      break;\n    case 3:\n      pcVar8 = "SECTION";\n      break;\n    case 4:\n      pcVar8 = "FILE";\n      break;\n    case 5:\n      pcVar8 = "COMMON";\n      break;\n    case 6:\n      pcVar8 = "TLS";\n      break;\n    default:\n      free(DAT_0010cbc0);\n      pcVar8 = "<processor specific>: %d";\n      if ((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)) {\n        pcVar8 = "<unknown>: %d";\n      }\n      pcVar8 = (char *)dcgettext(0,pcVar8,5);\n      iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7);\n      pcVar8 = DAT_0010cbc0;\njoined_r0x0010570b:\n      if (iVar3 < 0) {\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    \n        FUN_00106110("%s",uVar6);\n      }\n    }\nLAB_00105780:\n    printf("%18s|",pcVar8);\n  }" (else "else") (compound_statement "{\n    bVar7 = *(byte *)(param_1[2] + 0x48) & 0xf;\n    switch(bVar7) {\n    case 0:\n      pcVar8 = "NOTYPE";\n      break;\n    case 1:\n      pcVar8 = "OBJECT";\n      break;\n    case 2:\n      pcVar8 = "FUNC";\n      break;\n    case 3:\n      pcVar8 = "SECTION";\n      break;\n    case 4:\n      pcVar8 = "FILE";\n      break;\n    case 5:\n      pcVar8 = "COMMON";\n      break;\n    case 6:\n      pcVar8 = "TLS";\n      break;\n    default:\n      free(DAT_0010cbc0);\n      pcVar8 = "<processor specific>: %d";\n      if ((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)) {\n        pcVar8 = "<unknown>: %d";\n      }\n      pcVar8 = (char *)dcgettext(0,pcVar8,5);\n      iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7);\n      pcVar8 = DAT_0010cbc0;\njoined_r0x0010570b:\n      if (iVar3 < 0) {\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    \n        FUN_00106110("%s",uVar6);\n      }\n    }\nLAB_00105780:\n    printf("%18s|",pcVar8);\n  }" ({ "{") (expression_statement "bVar7 = *(byte *)(param_1[2] + 0x48) & 0xf;" (assignment_expression "bVar7 = *(byte *)(param_1[2] + 0x48) & 0xf" (identifier "bVar7") (= "=") (binary_expression "*(byte *)(param_1[2] + 0x48) & 0xf" (pointer_expression "*(byte *)(param_1[2] + 0x48)" (* "*") (cast_expression "(byte *)(param_1[2] + 0x48)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[2] + 0x48)" (( "(") (binary_expression "param_1[2] + 0x48" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (+ "+") (number_literal "0x48")) () ")")))) (& "&") (number_literal "0xf"))) (; ";")) (switch_statement "switch(bVar7) {\n    case 0:\n      pcVar8 = "NOTYPE";\n      break;\n    case 1:\n      pcVar8 = "OBJECT";\n      break;\n    case 2:\n      pcVar8 = "FUNC";\n      break;\n    case 3:\n      pcVar8 = "SECTION";\n      break;\n    case 4:\n      pcVar8 = "FILE";\n      break;\n    case 5:\n      pcVar8 = "COMMON";\n      break;\n    case 6:\n      pcVar8 = "TLS";\n      break;\n    default:\n      free(DAT_0010cbc0);\n      pcVar8 = "<processor specific>: %d";\n      if ((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)) {\n        pcVar8 = "<unknown>: %d";\n      }\n      pcVar8 = (char *)dcgettext(0,pcVar8,5);\n      iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7);\n      pcVar8 = DAT_0010cbc0;\njoined_r0x0010570b:\n      if (iVar3 < 0) {\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    \n        FUN_00106110("%s",uVar6);\n      }\n    }" (switch "switch") (parenthesized_expression "(bVar7)" (( "(") (identifier "bVar7") () ")")) (compound_statement "{\n    case 0:\n      pcVar8 = "NOTYPE";\n      break;\n    case 1:\n      pcVar8 = "OBJECT";\n      break;\n    case 2:\n      pcVar8 = "FUNC";\n      break;\n    case 3:\n      pcVar8 = "SECTION";\n      break;\n    case 4:\n      pcVar8 = "FILE";\n      break;\n    case 5:\n      pcVar8 = "COMMON";\n      break;\n    case 6:\n      pcVar8 = "TLS";\n      break;\n    default:\n      free(DAT_0010cbc0);\n      pcVar8 = "<processor specific>: %d";\n      if ((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)) {\n        pcVar8 = "<unknown>: %d";\n      }\n      pcVar8 = (char *)dcgettext(0,pcVar8,5);\n      iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7);\n      pcVar8 = DAT_0010cbc0;\njoined_r0x0010570b:\n      if (iVar3 < 0) {\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    \n        FUN_00106110("%s",uVar6);\n      }\n    }" ({ "{") (case_statement "case 0:\n      pcVar8 = "NOTYPE";\n      break;" (case "case") (number_literal "0") (: ":") (expression_statement "pcVar8 = "NOTYPE";" (assignment_expression "pcVar8 = "NOTYPE"" (identifier "pcVar8") (= "=") (string_literal ""NOTYPE"" (" """) (string_content "NOTYPE") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 1:\n      pcVar8 = "OBJECT";\n      break;" (case "case") (number_literal "1") (: ":") (expression_statement "pcVar8 = "OBJECT";" (assignment_expression "pcVar8 = "OBJECT"" (identifier "pcVar8") (= "=") (string_literal ""OBJECT"" (" """) (string_content "OBJECT") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 2:\n      pcVar8 = "FUNC";\n      break;" (case "case") (number_literal "2") (: ":") (expression_statement "pcVar8 = "FUNC";" (assignment_expression "pcVar8 = "FUNC"" (identifier "pcVar8") (= "=") (string_literal ""FUNC"" (" """) (string_content "FUNC") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 3:\n      pcVar8 = "SECTION";\n      break;" (case "case") (number_literal "3") (: ":") (expression_statement "pcVar8 = "SECTION";" (assignment_expression "pcVar8 = "SECTION"" (identifier "pcVar8") (= "=") (string_literal ""SECTION"" (" """) (string_content "SECTION") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 4:\n      pcVar8 = "FILE";\n      break;" (case "case") (number_literal "4") (: ":") (expression_statement "pcVar8 = "FILE";" (assignment_expression "pcVar8 = "FILE"" (identifier "pcVar8") (= "=") (string_literal ""FILE"" (" """) (string_content "FILE") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 5:\n      pcVar8 = "COMMON";\n      break;" (case "case") (number_literal "5") (: ":") (expression_statement "pcVar8 = "COMMON";" (assignment_expression "pcVar8 = "COMMON"" (identifier "pcVar8") (= "=") (string_literal ""COMMON"" (" """) (string_content "COMMON") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 6:\n      pcVar8 = "TLS";\n      break;" (case "case") (number_literal "6") (: ":") (expression_statement "pcVar8 = "TLS";" (assignment_expression "pcVar8 = "TLS"" (identifier "pcVar8") (= "=") (string_literal ""TLS"" (" """) (string_content "TLS") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n      free(DAT_0010cbc0);\n      pcVar8 = "<processor specific>: %d";\n      if ((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)) {\n        pcVar8 = "<unknown>: %d";\n      }\n      pcVar8 = (char *)dcgettext(0,pcVar8,5);\n      iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7);\n      pcVar8 = DAT_0010cbc0;\njoined_r0x0010570b:\n      if (iVar3 < 0) {\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    \n        FUN_00106110("%s",uVar6);\n      }" (default "default") (: ":") (expression_statement "free(DAT_0010cbc0);" (call_expression "free(DAT_0010cbc0)" (identifier "free") (argument_list "(DAT_0010cbc0)" (( "(") (identifier "DAT_0010cbc0") () ")"))) (; ";")) (expression_statement "pcVar8 = "<processor specific>: %d";" (assignment_expression "pcVar8 = "<processor specific>: %d"" (identifier "pcVar8") (= "=") (string_literal ""<processor specific>: %d"" (" """) (string_content "<processor specific>: %d") (" """))) (; ";")) (if_statement "if ((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)) {\n        pcVar8 = "<unknown>: %d";\n      }" (if "if") (parenthesized_expression "((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10))" (( "(") (binary_expression "(2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)" (parenthesized_expression "(2 < bVar7 - 0xd)" (( "(") (binary_expression "2 < bVar7 - 0xd" (number_literal "2") (< "<") (binary_expression "bVar7 - 0xd" (identifier "bVar7") (- "-") (number_literal "0xd"))) () ")")) (&& "&&") (parenthesized_expression "(pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)" (( "(") (comma_expression "pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10" (assignment_expression "pcVar8 = "<OS specific>: %d"" (identifier "pcVar8") (= "=") (string_literal ""<OS specific>: %d"" (" """) (string_content "<OS specific>: %d") (" """))) (, ",") (binary_expression "2 < bVar7 - 10" (number_literal "2") (< "<") (binary_expression "bVar7 - 10" (identifier "bVar7") (- "-") (number_literal "10")))) () ")"))) () ")")) (compound_statement "{\n        pcVar8 = "<unknown>: %d";\n      }" ({ "{") (expression_statement "pcVar8 = "<unknown>: %d";" (assignment_expression "pcVar8 = "<unknown>: %d"" (identifier "pcVar8") (= "=") (string_literal ""<unknown>: %d"" (" """) (string_content "<unknown>: %d") (" """))) (; ";")) (} "}"))) (expression_statement "pcVar8 = (char *)dcgettext(0,pcVar8,5);" (assignment_expression "pcVar8 = (char *)dcgettext(0,pcVar8,5)" (identifier "pcVar8") (= "=") (cast_expression "(char *)dcgettext(0,pcVar8,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,pcVar8,5)" (identifier "dcgettext") (argument_list "(0,pcVar8,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar8") (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7);" (assignment_expression "iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7)" (identifier "iVar3") (= "=") (call_expression "asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7)" (identifier "asprintf") (argument_list "(&DAT_0010cbc0,pcVar8,(ulong)bVar7)" (( "(") (pointer_expression "&DAT_0010cbc0" (& "&") (identifier "DAT_0010cbc0")) (, ",") (identifier "pcVar8") (, ",") (cast_expression "(ulong)bVar7" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar7")) () ")")))) (; ";")) (expression_statement "pcVar8 = DAT_0010cbc0;" (assignment_expression "pcVar8 = DAT_0010cbc0" (identifier "pcVar8") (= "=") (identifier "DAT_0010cbc0")) (; ";")) (labeled_statement "joined_r0x0010570b:\n      if (iVar3 < 0) {\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    \n        FUN_00106110("%s",uVar6);\n      }" (statement_identifier "joined_r0x0010570b") (: ":") (if_statement "if (iVar3 < 0) {\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    \n        FUN_00106110("%s",uVar6);\n      }" (if "if") (parenthesized_expression "(iVar3 < 0)" (( "(") (binary_expression "iVar3 < 0" (identifier "iVar3") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        piVar5 = __errno_location();\n        uVar6 = xstrerror(*piVar5);\n                    \n        FUN_00106110("%s",uVar6);\n      }" ({ "{") (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar6 = xstrerror(*piVar5);" (assignment_expression "uVar6 = xstrerror(*piVar5)" (identifier "uVar6") (= "=") (call_expression "xstrerror(*piVar5)" (identifier "xstrerror") (argument_list "(*piVar5)" (( "(") (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) () ")")))) (; ";")) (expression_statement "FUN_00106110("%s",uVar6);" (call_expression "FUN_00106110("%s",uVar6)" (identifier "FUN_00106110") (argument_list "("%s",uVar6)" (( "(") (string_literal ""%s"" (" """) (string_content "%s") (" """)) (, ",") (identifier "uVar6") () ")"))) (; ";")) (} "}"))))) (} "}"))) (labeled_statement "LAB_00105780:\n    printf("%18s|",pcVar8);" (statement_identifier "LAB_00105780") (: ":") (expression_statement "printf("%18s|",pcVar8);" (call_expression "printf("%18s|",pcVar8)" (identifier "printf") (argument_list "("%18s|",pcVar8)" (( "(") (string_literal ""%18s|"" (" """) (string_content "%18s|") (" """)) (, ",") (identifier "pcVar8") () ")"))) (; ";"))) (} "}")))) (if_statement "if (param_1[2] == 0) {\n    if (param_1[1] != 0) goto LAB_001057a8;\nLAB_00105875:\n    if (DAT_0010cc00 == 0x20) {\n      printf("        ");\n      goto LAB_001057ad;\n    }\n    printf("                ");\n    lVar4 = param_1[2];\n  }\n  else {\n    if (*(long *)(param_1[2] + 0x38) == 0) goto LAB_00105875;\nLAB_001057a8:\n    FUN_00105100();\nLAB_001057ad:\n    lVar4 = param_1[2];\n  }" (if "if") (parenthesized_expression "(param_1[2] == 0)" (( "(") (binary_expression "param_1[2] == 0" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if (param_1[1] != 0) goto LAB_001057a8;\nLAB_00105875:\n    if (DAT_0010cc00 == 0x20) {\n      printf("        ");\n      goto LAB_001057ad;\n    }\n    printf("                ");\n    lVar4 = param_1[2];\n  }" ({ "{") (if_statement "if (param_1[1] != 0) goto LAB_001057a8;" (if "if") (parenthesized_expression "(param_1[1] != 0)" (( "(") (binary_expression "param_1[1] != 0" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001057a8;" (goto "goto") (statement_identifier "LAB_001057a8") (; ";"))) (labeled_statement "LAB_00105875:\n    if (DAT_0010cc00 == 0x20) {\n      printf("        ");\n      goto LAB_001057ad;\n    }" (statement_identifier "LAB_00105875") (: ":") (if_statement "if (DAT_0010cc00 == 0x20) {\n      printf("        ");\n      goto LAB_001057ad;\n    }" (if "if") (parenthesized_expression "(DAT_0010cc00 == 0x20)" (( "(") (binary_expression "DAT_0010cc00 == 0x20" (identifier "DAT_0010cc00") (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n      printf("        ");\n      goto LAB_001057ad;\n    }" ({ "{") (expression_statement "printf("        ");" (call_expression "printf("        ")" (identifier "printf") (argument_list "("        ")" (( "(") (string_literal ""        "" (" """) (string_content "        ") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_001057ad;" (goto "goto") (statement_identifier "LAB_001057ad") (; ";")) (} "}")))) (expression_statement "printf("                ");" (call_expression "printf("                ")" (identifier "printf") (argument_list "("                ")" (( "(") (string_literal ""                "" (" """) (string_content "                ") (" """)) () ")"))) (; ";")) (expression_statement "lVar4 = param_1[2];" (assignment_expression "lVar4 = param_1[2]" (identifier "lVar4") (= "=") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n    if (*(long *)(param_1[2] + 0x38) == 0) goto LAB_00105875;\nLAB_001057a8:\n    FUN_00105100();\nLAB_001057ad:\n    lVar4 = param_1[2];\n  }" (else "else") (compound_statement "{\n    if (*(long *)(param_1[2] + 0x38) == 0) goto LAB_00105875;\nLAB_001057a8:\n    FUN_00105100();\nLAB_001057ad:\n    lVar4 = param_1[2];\n  }" ({ "{") (if_statement "if (*(long *)(param_1[2] + 0x38) == 0) goto LAB_00105875;" (if "if") (parenthesized_expression "(*(long *)(param_1[2] + 0x38) == 0)" (( "(") (binary_expression "*(long *)(param_1[2] + 0x38) == 0" (pointer_expression "*(long *)(param_1[2] + 0x38)" (* "*") (cast_expression "(long *)(param_1[2] + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[2] + 0x38)" (( "(") (binary_expression "param_1[2] + 0x38" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (+ "+") (number_literal "0x38")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00105875;" (goto "goto") (statement_identifier "LAB_00105875") (; ";"))) (labeled_statement "LAB_001057a8:\n    FUN_00105100();" (statement_identifier "LAB_001057a8") (: ":") (expression_statement "FUN_00105100();" (call_expression "FUN_00105100()" (identifier "FUN_00105100") (argument_list "()" (( "(") () ")"))) (; ";"))) (labeled_statement "LAB_001057ad:\n    lVar4 = param_1[2];" (statement_identifier "LAB_001057ad") (: ":") (expression_statement "lVar4 = param_1[2];" (assignment_expression "lVar4 = param_1[2]" (identifier "lVar4") (= "=") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (; ";"))) (} "}")))) (if_statement "if ((lVar4 != 0) || (lVar4 = param_1[3], lVar4 != 0)) {\n    printf("|     |%s",**(undefined8 **)(lVar4 + 0x20));\n    return;\n  }" (if "if") (parenthesized_expression "((lVar4 != 0) || (lVar4 = param_1[3], lVar4 != 0))" (( "(") (binary_expression "(lVar4 != 0) || (lVar4 = param_1[3], lVar4 != 0)" (parenthesized_expression "(lVar4 != 0)" (( "(") (binary_expression "lVar4 != 0" (identifier "lVar4") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(lVar4 = param_1[3], lVar4 != 0)" (( "(") (comma_expression "lVar4 = param_1[3], lVar4 != 0" (assignment_expression "lVar4 = param_1[3]" (identifier "lVar4") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (, ",") (binary_expression "lVar4 != 0" (identifier "lVar4") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    printf("|     |%s",**(undefined8 **)(lVar4 + 0x20));\n    return;\n  }" ({ "{") (expression_statement "printf("|     |%s",**(undefined8 **)(lVar4 + 0x20));" (call_expression "printf("|     |%s",**(undefined8 **)(lVar4 + 0x20))" (identifier "printf") (argument_list "("|     |%s",**(undefined8 **)(lVar4 + 0x20))" (( "(") (string_literal ""|     |%s"" (" """) (string_content "|     |%s") (" """)) (, ",") (pointer_expression "**(undefined8 **)(lVar4 + 0x20)" (* "*") (pointer_expression "*(undefined8 **)(lVar4 + 0x20)" (* "*") (cast_expression "(undefined8 **)(lVar4 + 0x20)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar4 + 0x20)" (( "(") (binary_expression "lVar4 + 0x20" (identifier "lVar4") (+ "+") (number_literal "0x20")) () ")"))))) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (labeled_statement "LAB_00105757:\n  printf("|     |");" (statement_identifier "LAB_00105757") (: ":") (expression_statement "printf("|     |");" (call_expression "printf("|     |")" (identifier "printf") (argument_list "("|     |")" (( "(") (string_literal ""|     |"" (" """) (string_content "|     |") (" """)) () ")"))) (; ";"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(type_1 *info,type_2 *abfd)

{
  type_3 var_7;
  type_4 *pcVar2;
  type_5 var_8;
  int var_3;
  type_6 *var_17;
  int *piVar6;
  type_7 uVar7;
  type_8 var_12;
  char *pcVar9;
  type_2 *var_16;
  
  pcVar9 = info->sinfo->name;
  var_1("%-20s|",pcVar9,abfd);
  var_3 = var_2((int)info->sinfo->type);
  if (var_3 == 0) {
    var_4((type_2 *)info->sinfo->value,(type_9)pcVar9);
  }
  else if (var_5 == 0x20) {
    var_6("        ");
  }
  else {
    var_6("                ");
  }
  pcVar9 = (char *)(type_10)(type_11)(int)info->sinfo->type;
  var_6("|   %c  |");
  if (info->sinfo->type == '-') {
    var_6("%18s|  ",info->sinfo->stab_name);
    var_6(desc_format,(type_10)(type_11)(int)info->sinfo->stab_desc);
    goto LAB_00105757;
  }
  if (info->elfinfo == (type_6 *)0x0) {
    if (info->coffinfo != (type_12 *)0x0) {
      pcVar2 = info->coffinfo->native;
      var_7 = (pcVar2->u).syment.n_sclass;
      if (var_7 == 'g') {
        pcVar9 = "File";
      }
      else if (var_7 == 'h') {
        pcVar9 = "Line";
      }
      else if (var_7 == 'd') {
        pcVar9 = "Block";
      }
      else {
        var_8 = (pcVar2->u).syment.n_type;
        if (var_8 == 0) {
          pcVar9 = "None";
        }
        else {
          var_8 = var_8 >> 4 & 3;
          if (var_8 == 2) {
            pcVar9 = "Function";
          }
          else if (var_8 == 3) {
            pcVar9 = "Array";
          }
          else {
            if (var_8 != 1) {
              var_9(bufp_13492);
              var_8 = (pcVar2->u).syment.n_type;
              var_12 = (pcVar2->u).syment.n_sclass;
              pcVar9 = (char *)var_10(0,"<unknown>: %d/%d",5);
              var_3 = var_11(&bufp_13492,pcVar9,(type_10)var_12,(type_10)var_8);
              pcVar9 = bufp_13492;
              goto joined_r0x0010570b;
            }
            pcVar9 = "Pointer";
          }
        }
      }
      goto LAB_00105780;
    }
    var_6("                  |");
  }
  else {
    var_12 = (info->elfinfo->internal_elf_sym).st_info & 0xf;
    switch(var_12) {
    case 0:
      pcVar9 = "NOTYPE";
      break;
    case 1:
      pcVar9 = "OBJECT";
      break;
    case 2:
      pcVar9 = "FUNC";
      break;
    case 3:
      pcVar9 = "SECTION";
      break;
    case 4:
      pcVar9 = "FILE";
      break;
    case 5:
      pcVar9 = "COMMON";
      break;
    case 6:
      pcVar9 = "TLS";
      break;
    default:
      var_9(bufp_13480);
      pcVar9 = "<processor specific>: %d";
      if ((2 < var_12 - 0xd) && (pcVar9 = "<OS specific>: %d", 2 < var_12 - 10)) {
        pcVar9 = "<unknown>: %d";
      }
      pcVar9 = (char *)var_10(0,pcVar9,5);
      var_3 = var_11(&bufp_13480,pcVar9,(type_10)var_12);
      pcVar9 = bufp_13480;
joined_r0x0010570b:
      if (var_3 < 0) {
        piVar6 = var_13();
        uVar7 = var_14(*piVar6);
                    /* WARNING: Subroutine does not return */
        var_15("%s",uVar7);
      }
    }
LAB_00105780:
    var_6("%18s|");
  }
  if (info->elfinfo == (type_6 *)0x0) {
    var_16 = (type_2 *)info->ssize;
    if (var_16 != (type_2 *)0x0) goto LAB_001057a8;
LAB_00105875:
    if (var_5 == 0x20) {
      var_6("        ");
      goto LAB_001057ad;
    }
    var_6("                ");
    var_17 = info->elfinfo;
  }
  else {
    var_16 = (type_2 *)(info->elfinfo->internal_elf_sym).st_size;
    if (var_16 == (type_2 *)0x0) goto LAB_00105875;
LAB_001057a8:
    var_4(var_16,(type_9)pcVar9);
LAB_001057ad:
    var_17 = info->elfinfo;
  }
  if ((var_17 != (type_6 *)0x0) ||
     (var_17 = (type_6 *)info->coffinfo, var_17 != (type_6 *)0x0)) {
    var_6("|     |%s",((var_17->symbol).section)->name);
    return;
  }
LAB_00105757:
  var_6("|     |");
  return;
}


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

void MASKED(long *param_1,undefined8 param_2)

{
  char cVar1;
  ushort uVar2;
  int iVar3;
  long lVar4;
  int *piVar5;
  undefined8 uVar6;
  byte bVar7;
  char *pcVar8;
  
  FUN_00103ba0("%-20s|",*(undefined8 *)(*param_1 + 0x10),param_2);
  iVar3 = bfd_is_undefined_symclass((int)*(char *)(*param_1 + 8));
  if (iVar3 == 0) {
    FUN_00105100(*(undefined8 *)*param_1);
  }
  else if (DAT_0010cc00 == 0x20) {
    printf("        ");
  }
  else {
    printf("                ");
  }
  printf("|   %c  |",(ulong)(uint)(int)*(char *)(*param_1 + 8));
  if (*(char *)(*param_1 + 8) == '-') {
    printf("%18s|  ",*(undefined8 *)(*param_1 + 0x20));
    printf(&DAT_0010c2d0,(ulong)(uint)(int)*(short *)(*param_1 + 0x1a));
    goto LAB_00105757;
  }
  if (param_1[2] == 0) {
    if (param_1[3] != 0) {
      lVar4 = *(long *)(param_1[3] + 0x30);
      cVar1 = *(char *)(lVar4 + 0x28);
      if (cVar1 == 'g') {
        pcVar8 = "File";
      }
      else if (cVar1 == 'h') {
        pcVar8 = "Line";
      }
      else if (cVar1 == 'd') {
        pcVar8 = "Block";
      }
      else if (*(ushort *)(lVar4 + 0x26) == 0) {
        pcVar8 = "None";
      }
      else {
        uVar2 = *(ushort *)(lVar4 + 0x26) >> 4 & 3;
        if (uVar2 == 2) {
          pcVar8 = "Function";
        }
        else if (uVar2 == 3) {
          pcVar8 = "Array";
        }
        else {
          if (uVar2 != 1) {
            free(DAT_0010cbb8);
            uVar2 = *(ushort *)(lVar4 + 0x26);
            bVar7 = *(byte *)(lVar4 + 0x28);
            pcVar8 = (char *)dcgettext(0,"<unknown>: %d/%d",5);
            iVar3 = asprintf(&DAT_0010cbb8,pcVar8,(ulong)bVar7,(ulong)uVar2);
            pcVar8 = DAT_0010cbb8;
            goto joined_r0x0010570b;
          }
          pcVar8 = "Pointer";
        }
      }
      goto LAB_00105780;
    }
    printf("                  |");
  }
  else {
    bVar7 = *(byte *)(param_1[2] + 0x48) & 0xf;
    switch(bVar7) {
    case 0:
      pcVar8 = "NOTYPE";
      break;
    case 1:
      pcVar8 = "OBJECT";
      break;
    case 2:
      pcVar8 = "FUNC";
      break;
    case 3:
      pcVar8 = "SECTION";
      break;
    case 4:
      pcVar8 = "FILE";
      break;
    case 5:
      pcVar8 = "COMMON";
      break;
    case 6:
      pcVar8 = "TLS";
      break;
    default:
      free(DAT_0010cbc0);
      pcVar8 = "<processor specific>: %d";
      if ((2 < bVar7 - 0xd) && (pcVar8 = "<OS specific>: %d", 2 < bVar7 - 10)) {
        pcVar8 = "<unknown>: %d";
      }
      pcVar8 = (char *)dcgettext(0,pcVar8,5);
      iVar3 = asprintf(&DAT_0010cbc0,pcVar8,(ulong)bVar7);
      pcVar8 = DAT_0010cbc0;
joined_r0x0010570b:
      if (iVar3 < 0) {
        piVar5 = __errno_location();
        uVar6 = xstrerror(*piVar5);
                    /* WARNING: Subroutine does not return */
        FUN_00106110("%s",uVar6);
      }
    }
LAB_00105780:
    printf("%18s|",pcVar8);
  }
  if (param_1[2] == 0) {
    if (param_1[1] != 0) goto LAB_001057a8;
LAB_00105875:
    if (DAT_0010cc00 == 0x20) {
      printf("        ");
      goto LAB_001057ad;
    }
    printf("                ");
    lVar4 = param_1[2];
  }
  else {
    if (*(long *)(param_1[2] + 0x38) == 0) goto LAB_00105875;
LAB_001057a8:
    FUN_00105100();
LAB_001057ad:
    lVar4 = param_1[2];
  }
  if ((lVar4 != 0) || (lVar4 = param_1[3], lVar4 != 0)) {
    printf("|     |%s",**(undefined8 **)(lVar4 + 0x20));
    return;
  }
LAB_00105757:
  printf("|     |");
  return;
}

