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

uchar * display_msp430x_attribute(uchar *p,uchar *end)

{
  int iVar1;
  char *pcVar2;
  size_t sVar3;
  uchar *puVar4;
  dwarf_vma dVar5;
  uint len;
  undefined4 uStack_14;
  
  uStack_14 = 0x21169;
  dVar5 = read_leb128(p,&len,0,end);
  iVar1 = (int)dVar5;
  puVar4 = p + len;
  if (iVar1 == 6) {
    dVar5 = read_leb128(puVar4,&len,0,end);
    iVar1 = (int)dVar5;
    puVar4 = puVar4 + len;
    printf("  Tag_Code_Model: ");
    if (iVar1 == 1) {
LAB_000213a0:
      pcVar2 = "Small\n";
    }
    else if (iVar1 == 0) {
LAB_00021390:
      pcVar2 = "None\n";
    }
    else {
      if (iVar1 != 2) {
LAB_0002126e:
        printf("??? (%d)\n",iVar1);
        goto LAB_00021288;
      }
LAB_0002132a:
      pcVar2 = "Large\n";
    }
  }
  else if (iVar1 == 8) {
    dVar5 = read_leb128(puVar4,&len,0,end);
    iVar1 = (int)dVar5;
    puVar4 = puVar4 + len;
    printf("  Tag_Data_Model: ");
    if (iVar1 == 1) goto LAB_000213a0;
    if (iVar1 == 0) goto LAB_00021390;
    if (iVar1 == 2) goto LAB_0002132a;
    if (iVar1 != 3) goto LAB_0002126e;
    pcVar2 = "Restricted Large\n";
  }
  else {
    if (iVar1 != 4) {
      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);
      printf(pcVar2,iVar1);
      if ((dVar5 & 1) == 0) {
        dVar5 = read_leb128(puVar4,&len,0,end);
        puVar4 = puVar4 + len;
        printf("%d (0x%x)\n",(int)dVar5,(int)dVar5);
      }
      else {
        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);
        if (puVar4 < end + -1) {
          print_symbol((int)(end + (-1 - (int)puVar4)),(char *)puVar4);
          sVar3 = strnlen((char *)puVar4,(size_t)(end + (-1 - (int)puVar4)));
          puVar4 = puVar4 + sVar3 + 1;
        }
        else {
          pcVar2 = (char *)dcgettext(0,"<corrupt>",5);
          printf(pcVar2);
          puVar4 = end;
        }
        puts("\"");
      }
      goto LAB_00021288;
    }
    dVar5 = read_leb128(puVar4,&len,0,end);
    iVar1 = (int)dVar5;
    puVar4 = puVar4 + len;
    printf("  Tag_ISA: ");
    if (iVar1 == 1) {
      pcVar2 = "MSP430\n";
    }
    else {
      if (iVar1 == 0) goto LAB_00021390;
      if (iVar1 != 2) goto LAB_0002126e;
      pcVar2 = "MSP430X\n";
    }
  }
  pcVar2 = (char *)dcgettext(0,pcVar2,5);
  printf(pcVar2);
LAB_00021288:
  if (puVar4 <= end) {
    return puVar4;
  }
                    /* WARNING: Subroutine does not return */
  __assert_fail("p <= end","../../binutils/readelf.c",0x3ba6,"display_msp430x_attribute");
}



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

char * FUN_00021160(int param_1,char *param_2)

{
  uint uVar1;
  char *pcVar2;
  size_t sVar3;
  int iVar4;
  undefined4 uVar5;
  char *pcVar6;
  int local_20 [3];
  undefined4 uStack_14;
  
  uStack_14 = 0x21169;
  uVar1 = FUN_0004f990(param_1,local_20,0,param_2);
  pcVar6 = (char *)(param_1 + local_20[0]);
  if (uVar1 == 6) {
    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);
    pcVar6 = pcVar6 + local_20[0];
    printf("  Tag_Code_Model: ");
    if (iVar4 == 1) {
LAB_000213a0:
      pcVar2 = "Small\n";
    }
    else if (iVar4 == 0) {
LAB_00021390:
      pcVar2 = "None\n";
    }
    else {
      if (iVar4 != 2) {
LAB_0002126e:
        printf("??? (%d)\n",iVar4);
        goto LAB_00021288;
      }
LAB_0002132a:
      pcVar2 = "Large\n";
    }
  }
  else if (uVar1 == 8) {
    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);
    pcVar6 = pcVar6 + local_20[0];
    printf("  Tag_Data_Model: ");
    if (iVar4 == 1) goto LAB_000213a0;
    if (iVar4 == 0) goto LAB_00021390;
    if (iVar4 == 2) goto LAB_0002132a;
    if (iVar4 != 3) goto LAB_0002126e;
    pcVar2 = "Restricted Large\n";
  }
  else {
    if (uVar1 != 4) {
      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);
      printf(pcVar2,uVar1);
      if ((uVar1 & 1) == 0) {
        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);
        pcVar6 = pcVar6 + local_20[0];
        printf("%d (0x%x)\n",uVar5,uVar5);
      }
      else {
        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);
        if (pcVar6 < param_2 + -1) {
          FUN_0001fd20();
          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));
          pcVar6 = pcVar6 + sVar3 + 1;
        }
        else {
          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);
          printf(pcVar6);
          pcVar6 = param_2;
        }
        puts("\"");
      }
      goto LAB_00021288;
    }
    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);
    pcVar6 = pcVar6 + local_20[0];
    printf("  Tag_ISA: ");
    if (iVar4 == 1) {
      pcVar2 = "MSP430\n";
    }
    else {
      if (iVar4 == 0) goto LAB_00021390;
      if (iVar4 != 2) goto LAB_0002126e;
      pcVar2 = "MSP430X\n";
    }
  }
  pcVar2 = (char *)dcgettext(0,pcVar2,5);
  printf(pcVar2);
LAB_00021288:
  if (pcVar6 <= param_2) {
    return pcVar6;
  }
                    /* WARNING: Subroutine does not return */
  __assert_fail("p <= end","../../binutils/readelf.c",0x3ba6,"display_msp430x_attribute");
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00013f70
ADD EBX,0x92e97
SUB ESP,0x1c
MOV ESI,dword ptr [ESP + 0x30]
PUSH dword ptr [ESP + 0x34]
PUSH 0x0
LEA EDI,[ESP + 0x14]
PUSH EDI
PUSH ESI
CALL 0x0004f990
ADD ESI,dword ptr [ESP + 0x1c]
ADD ESP,0x10
CMP EAX,0x6
JZ 0x000212f0
MOV EBP,EAX
CMP EAX,0x8
JZ 0x000212a0
CMP EAX,0x4
JZ 0x00021230
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc2eb0]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
PUSH EBP
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
AND EBP,0x1
JZ 0x00021350
MOV EAX,dword ptr [EBX + 0xffffffd8]
SUB ESP,0x8
PUSH dword ptr [EAX]
PUSH 0x22
CALL 0x00013360
MOV EAX,dword ptr [ESP + 0x44]
ADD ESP,0x10
SUB EAX,0x1
CMP ESI,EAX
JNC 0x000213c0
MOV EDI,dword ptr [ESP + 0x34]
MOV EDX,ESI
SUB EDI,ESI
SUB EDI,0x1
MOV EAX,EDI
CALL 0x0001fd20
SUB ESP,0x8
PUSH EDI
PUSH ESI
CALL 0x00013310
ADD ESP,0x10
LEA ESI,[ESI + EAX*0x1 + 0x1]
SUB ESP,0xc
LEA EAX,[EBX + 0xfffc2d5c]
PUSH EAX
CALL 0x000131d0
ADD ESP,0x10
JMP 0x00021288
PUSH dword ptr [ESP + 0x34]
PUSH 0x0
PUSH EDI
PUSH ESI
CALL 0x0004f990
ADD ESI,dword ptr [ESP + 0x1c]
MOV EDI,EAX
LEA EAX,[EBX + 0xfffc2c54]
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0x10
CMP EDI,0x1
JZ 0x000213b0
TEST EDI,EDI
JZ 0x00021390
CMP EDI,0x2
JZ 0x00021380
SUB ESP,0x8
LEA EAX,[EBX + 0xfffc2a87]
PUSH EDI
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
LEA ESI,[ESI]
CMP ESI,dword ptr [ESP + 0x34]
JA 0x000213e7
ADD ESP,0x1c
MOV EAX,ESI
POP EBX
POP ESI
POP EDI
POP EBP
RET
PUSH dword ptr [ESP + 0x34]
PUSH 0x0
PUSH EDI
PUSH ESI
CALL 0x0004f990
ADD ESI,dword ptr [ESP + 0x1c]
MOV EDI,EAX
LEA EAX,[EBX + 0xfffc2e8b]
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0x10
CMP EDI,0x1
JZ 0x000213a0
TEST EDI,EDI
JZ 0x00021390
CMP EDI,0x2
JZ 0x0002132a
CMP EDI,0x3
JNZ 0x0002126e
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc2e9e]
PUSH 0x5
JMP 0x00021338
PUSH dword ptr [ESP + 0x34]
PUSH 0x0
PUSH EDI
PUSH ESI
CALL 0x0004f990
ADD ESI,dword ptr [ESP + 0x1c]
MOV EDI,EAX
LEA EAX,[EBX + 0xfffc2e71]
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0x10
CMP EDI,0x1
JZ 0x000213a0
TEST EDI,EDI
JZ 0x00021390
CMP EDI,0x2
JNZ 0x0002126e
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc2ea9]
PUSH 0x5
LEA ESI,[ESI]
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0x10
JMP 0x00021288
PUSH dword ptr [ESP + 0x34]
PUSH 0x0
PUSH EDI
PUSH ESI
CALL 0x0004f990
ADD ESI,dword ptr [ESP + 0x1c]
ADD ESP,0xc
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xfffc2ec5]
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
JMP 0x00021288
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc2e68]
PUSH 0x5
JMP 0x00021338
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc41f9]
PUSH 0x5
JMP 0x00021338
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc2e84]
PUSH 0x5
JMP 0x00021338
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc2e60]
PUSH 0x5
JMP 0x00021338
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc2aee]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0x10
MOV ESI,dword ptr [ESP + 0x34]
JMP 0x0002121a
LEA EAX,[EBX + 0xfffda3d0]
PUSH EAX
LEA EAX,[EBX + 0xfffc2a91]
PUSH 0x3ba6
PUSH EAX
LEA EAX,[EBX + 0xfffc2b68]
PUSH EAX
CALL 0x00013420
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nchar * FUN_00021160(int param_1,char *param_2)\n\n{\n  uint uVar1;\n  char *pcVar2;\n  size_t sVar3;\n  int iVar4;\n  undefined4 uVar5;\n  char *pcVar6;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x21169;\n  uVar1 = FUN_0004f990(param_1,local_20,0,param_2);\n  pcVar6 = (char *)(param_1 + local_20[0]);\n  if (uVar1 == 6) {\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Code_Model: ");\n    if (iVar4 == 1) {\nLAB_000213a0:\n      pcVar2 = "Small\n";\n    }\n    else if (iVar4 == 0) {\nLAB_00021390:\n      pcVar2 = "None\n";\n    }\n    else {\n      if (iVar4 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }\n  }\n  else if (uVar1 == 8) {\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Data_Model: ");\n    if (iVar4 == 1) goto LAB_000213a0;\n    if (iVar4 == 0) goto LAB_00021390;\n    if (iVar4 == 2) goto LAB_0002132a;\n    if (iVar4 != 3) goto LAB_0002126e;\n    pcVar2 = "Restricted Large\n";\n  }\n  else {\n    if (uVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,uVar1);\n      if ((uVar1 & 1) == 0) {\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_ISA: ");\n    if (iVar4 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar4 == 0) goto LAB_00021390;\n      if (iVar4 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }\n  }\n  pcVar2 = (char *)dcgettext(0,pcVar2,5);\n  printf(pcVar2);\nLAB_00021288:\n  if (pcVar6 <= param_2) {\n    return pcVar6;\n  }\n                    /* WARNING: Subroutine does not return */\n  __assert_fail("p <= end","../../binutils/readelf.c",0x3ba6,"display_msp430x_attribute");\n}\n\n" comment (function_definition "char * FUN_00021160(int param_1,char *param_2)\n\n{\n  uint uVar1;\n  char *pcVar2;\n  size_t sVar3;\n  int iVar4;\n  undefined4 uVar5;\n  char *pcVar6;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x21169;\n  uVar1 = FUN_0004f990(param_1,local_20,0,param_2);\n  pcVar6 = (char *)(param_1 + local_20[0]);\n  if (uVar1 == 6) {\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Code_Model: ");\n    if (iVar4 == 1) {\nLAB_000213a0:\n      pcVar2 = "Small\n";\n    }\n    else if (iVar4 == 0) {\nLAB_00021390:\n      pcVar2 = "None\n";\n    }\n    else {\n      if (iVar4 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }\n  }\n  else if (uVar1 == 8) {\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Data_Model: ");\n    if (iVar4 == 1) goto LAB_000213a0;\n    if (iVar4 == 0) goto LAB_00021390;\n    if (iVar4 == 2) goto LAB_0002132a;\n    if (iVar4 != 3) goto LAB_0002126e;\n    pcVar2 = "Restricted Large\n";\n  }\n  else {\n    if (uVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,uVar1);\n      if ((uVar1 & 1) == 0) {\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_ISA: ");\n    if (iVar4 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar4 == 0) goto LAB_00021390;\n      if (iVar4 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }\n  }\n  pcVar2 = (char *)dcgettext(0,pcVar2,5);\n  printf(pcVar2);\nLAB_00021288:\n  if (pcVar6 <= param_2) {\n    return pcVar6;\n  }\n                    /* WARNING: Subroutine does not return */\n  __assert_fail("p <= end","../../binutils/readelf.c",0x3ba6,"display_msp430x_attribute");\n}" primitive_type (pointer_declarator "* FUN_00021160(int param_1,char *param_2)" * (function_declarator "FUN_00021160(int param_1,char *param_2)" identifier (parameter_list "(int param_1,char *param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) )))) (compound_statement "{\n  uint uVar1;\n  char *pcVar2;\n  size_t sVar3;\n  int iVar4;\n  undefined4 uVar5;\n  char *pcVar6;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x21169;\n  uVar1 = FUN_0004f990(param_1,local_20,0,param_2);\n  pcVar6 = (char *)(param_1 + local_20[0]);\n  if (uVar1 == 6) {\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Code_Model: ");\n    if (iVar4 == 1) {\nLAB_000213a0:\n      pcVar2 = "Small\n";\n    }\n    else if (iVar4 == 0) {\nLAB_00021390:\n      pcVar2 = "None\n";\n    }\n    else {\n      if (iVar4 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }\n  }\n  else if (uVar1 == 8) {\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Data_Model: ");\n    if (iVar4 == 1) goto LAB_000213a0;\n    if (iVar4 == 0) goto LAB_00021390;\n    if (iVar4 == 2) goto LAB_0002132a;\n    if (iVar4 != 3) goto LAB_0002126e;\n    pcVar2 = "Restricted Large\n";\n  }\n  else {\n    if (uVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,uVar1);\n      if ((uVar1 & 1) == 0) {\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_ISA: ");\n    if (iVar4 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar4 == 0) goto LAB_00021390;\n      if (iVar4 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }\n  }\n  pcVar2 = (char *)dcgettext(0,pcVar2,5);\n  printf(pcVar2);\nLAB_00021288:\n  if (pcVar6 <= param_2) {\n    return pcVar6;\n  }\n                    /* WARNING: Subroutine does not return */\n  __assert_fail("p <= end","../../binutils/readelf.c",0x3ba6,"display_msp430x_attribute");\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "int local_20 [3];" primitive_type (array_declarator "local_20 [3]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x21169;" (assignment_expression "uStack_14 = 0x21169" identifier = number_literal) ;) (expression_statement "uVar1 = FUN_0004f990(param_1,local_20,0,param_2);" (assignment_expression "uVar1 = FUN_0004f990(param_1,local_20,0,param_2)" identifier = (call_expression "FUN_0004f990(param_1,local_20,0,param_2)" identifier (argument_list "(param_1,local_20,0,param_2)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "pcVar6 = (char *)(param_1 + local_20[0]);" (assignment_expression "pcVar6 = (char *)(param_1 + local_20[0])" identifier = (cast_expression "(char *)(param_1 + local_20[0])" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + local_20[0])" ( (binary_expression "param_1 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ])) )))) ;) (if_statement "if (uVar1 == 6) {\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Code_Model: ");\n    if (iVar4 == 1) {\nLAB_000213a0:\n      pcVar2 = "Small\n";\n    }\n    else if (iVar4 == 0) {\nLAB_00021390:\n      pcVar2 = "None\n";\n    }\n    else {\n      if (iVar4 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }\n  }\n  else if (uVar1 == 8) {\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Data_Model: ");\n    if (iVar4 == 1) goto LAB_000213a0;\n    if (iVar4 == 0) goto LAB_00021390;\n    if (iVar4 == 2) goto LAB_0002132a;\n    if (iVar4 != 3) goto LAB_0002126e;\n    pcVar2 = "Restricted Large\n";\n  }\n  else {\n    if (uVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,uVar1);\n      if ((uVar1 & 1) == 0) {\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_ISA: ");\n    if (iVar4 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar4 == 0) goto LAB_00021390;\n      if (iVar4 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }\n  }" if (parenthesized_expression "(uVar1 == 6)" ( (binary_expression "uVar1 == 6" identifier == number_literal) )) (compound_statement "{\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Code_Model: ");\n    if (iVar4 == 1) {\nLAB_000213a0:\n      pcVar2 = "Small\n";\n    }\n    else if (iVar4 == 0) {\nLAB_00021390:\n      pcVar2 = "None\n";\n    }\n    else {\n      if (iVar4 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }\n  }" { (expression_statement "iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);" (assignment_expression "iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2)" identifier = (call_expression "FUN_0004f990(pcVar6,local_20,0,param_2)" identifier (argument_list "(pcVar6,local_20,0,param_2)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "pcVar6 = pcVar6 + local_20[0];" (assignment_expression "pcVar6 = pcVar6 + local_20[0]" identifier = (binary_expression "pcVar6 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "printf("  Tag_Code_Model: ");" (call_expression "printf("  Tag_Code_Model: ")" identifier (argument_list "("  Tag_Code_Model: ")" ( (string_literal ""  Tag_Code_Model: "" " string_content ") ))) ;) (if_statement "if (iVar4 == 1) {\nLAB_000213a0:\n      pcVar2 = "Small\n";\n    }\n    else if (iVar4 == 0) {\nLAB_00021390:\n      pcVar2 = "None\n";\n    }\n    else {\n      if (iVar4 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }" if (parenthesized_expression "(iVar4 == 1)" ( (binary_expression "iVar4 == 1" identifier == number_literal) )) (compound_statement "{\nLAB_000213a0:\n      pcVar2 = "Small\n";\n    }" { (labeled_statement "LAB_000213a0:\n      pcVar2 = "Small\n";" statement_identifier : (expression_statement "pcVar2 = "Small\n";" (assignment_expression "pcVar2 = "Small\n"" identifier = (string_literal ""Small\n"" " string_content escape_sequence ")) ;)) }) (else_clause "else if (iVar4 == 0) {\nLAB_00021390:\n      pcVar2 = "None\n";\n    }\n    else {\n      if (iVar4 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }" else (if_statement "if (iVar4 == 0) {\nLAB_00021390:\n      pcVar2 = "None\n";\n    }\n    else {\n      if (iVar4 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00021390:\n      pcVar2 = "None\n";\n    }" { (labeled_statement "LAB_00021390:\n      pcVar2 = "None\n";" statement_identifier : (expression_statement "pcVar2 = "None\n";" (assignment_expression "pcVar2 = "None\n"" identifier = (string_literal ""None\n"" " string_content escape_sequence ")) ;)) }) (else_clause "else {\n      if (iVar4 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }" else (compound_statement "{\n      if (iVar4 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }" { (if_statement "if (iVar4 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }" if (parenthesized_expression "(iVar4 != 2)" ( (binary_expression "iVar4 != 2" identifier != number_literal) )) (compound_statement "{\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }" { (labeled_statement "LAB_0002126e:\n        printf("??? (%d)\n",iVar4);" statement_identifier : (expression_statement "printf("??? (%d)\n",iVar4);" (call_expression "printf("??? (%d)\n",iVar4)" identifier (argument_list "("??? (%d)\n",iVar4)" ( (string_literal ""??? (%d)\n"" " string_content escape_sequence ") , identifier ))) ;)) (goto_statement "goto LAB_00021288;" goto statement_identifier ;) })) (labeled_statement "LAB_0002132a:\n      pcVar2 = "Large\n";" statement_identifier : (expression_statement "pcVar2 = "Large\n";" (assignment_expression "pcVar2 = "Large\n"" identifier = (string_literal ""Large\n"" " string_content escape_sequence ")) ;)) }))))) }) (else_clause "else if (uVar1 == 8) {\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Data_Model: ");\n    if (iVar4 == 1) goto LAB_000213a0;\n    if (iVar4 == 0) goto LAB_00021390;\n    if (iVar4 == 2) goto LAB_0002132a;\n    if (iVar4 != 3) goto LAB_0002126e;\n    pcVar2 = "Restricted Large\n";\n  }\n  else {\n    if (uVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,uVar1);\n      if ((uVar1 & 1) == 0) {\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_ISA: ");\n    if (iVar4 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar4 == 0) goto LAB_00021390;\n      if (iVar4 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }\n  }" else (if_statement "if (uVar1 == 8) {\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Data_Model: ");\n    if (iVar4 == 1) goto LAB_000213a0;\n    if (iVar4 == 0) goto LAB_00021390;\n    if (iVar4 == 2) goto LAB_0002132a;\n    if (iVar4 != 3) goto LAB_0002126e;\n    pcVar2 = "Restricted Large\n";\n  }\n  else {\n    if (uVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,uVar1);\n      if ((uVar1 & 1) == 0) {\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_ISA: ");\n    if (iVar4 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar4 == 0) goto LAB_00021390;\n      if (iVar4 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }\n  }" if (parenthesized_expression "(uVar1 == 8)" ( (binary_expression "uVar1 == 8" identifier == number_literal) )) (compound_statement "{\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Data_Model: ");\n    if (iVar4 == 1) goto LAB_000213a0;\n    if (iVar4 == 0) goto LAB_00021390;\n    if (iVar4 == 2) goto LAB_0002132a;\n    if (iVar4 != 3) goto LAB_0002126e;\n    pcVar2 = "Restricted Large\n";\n  }" { (expression_statement "iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);" (assignment_expression "iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2)" identifier = (call_expression "FUN_0004f990(pcVar6,local_20,0,param_2)" identifier (argument_list "(pcVar6,local_20,0,param_2)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "pcVar6 = pcVar6 + local_20[0];" (assignment_expression "pcVar6 = pcVar6 + local_20[0]" identifier = (binary_expression "pcVar6 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "printf("  Tag_Data_Model: ");" (call_expression "printf("  Tag_Data_Model: ")" identifier (argument_list "("  Tag_Data_Model: ")" ( (string_literal ""  Tag_Data_Model: "" " string_content ") ))) ;) (if_statement "if (iVar4 == 1) goto LAB_000213a0;" if (parenthesized_expression "(iVar4 == 1)" ( (binary_expression "iVar4 == 1" identifier == number_literal) )) (goto_statement "goto LAB_000213a0;" goto statement_identifier ;)) (if_statement "if (iVar4 == 0) goto LAB_00021390;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00021390;" goto statement_identifier ;)) (if_statement "if (iVar4 == 2) goto LAB_0002132a;" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (goto_statement "goto LAB_0002132a;" goto statement_identifier ;)) (if_statement "if (iVar4 != 3) goto LAB_0002126e;" if (parenthesized_expression "(iVar4 != 3)" ( (binary_expression "iVar4 != 3" identifier != number_literal) )) (goto_statement "goto LAB_0002126e;" goto statement_identifier ;)) (expression_statement "pcVar2 = "Restricted Large\n";" (assignment_expression "pcVar2 = "Restricted Large\n"" identifier = (string_literal ""Restricted Large\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n    if (uVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,uVar1);\n      if ((uVar1 & 1) == 0) {\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_ISA: ");\n    if (iVar4 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar4 == 0) goto LAB_00021390;\n      if (iVar4 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }\n  }" else (compound_statement "{\n    if (uVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,uVar1);\n      if ((uVar1 & 1) == 0) {\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_ISA: ");\n    if (iVar4 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar4 == 0) goto LAB_00021390;\n      if (iVar4 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }\n  }" { (if_statement "if (uVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,uVar1);\n      if ((uVar1 & 1) == 0) {\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }" if (parenthesized_expression "(uVar1 != 4)" ( (binary_expression "uVar1 != 4" identifier != number_literal) )) (compound_statement "{\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,uVar1);\n      if ((uVar1 & 1) == 0) {\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }" { (expression_statement "pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);" (assignment_expression "pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5)" identifier = (cast_expression "(char *)dcgettext(0,"  <unknown tag %d>: ",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  <unknown tag %d>: ",5)" identifier (argument_list "(0,"  <unknown tag %d>: ",5)" ( number_literal , (string_literal ""  <unknown tag %d>: "" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar2,uVar1);" (call_expression "printf(pcVar2,uVar1)" identifier (argument_list "(pcVar2,uVar1)" ( identifier , identifier ))) ;) (if_statement "if ((uVar1 & 1) == 0) {\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }" if (parenthesized_expression "((uVar1 & 1) == 0)" ( (binary_expression "(uVar1 & 1) == 0" (parenthesized_expression "(uVar1 & 1)" ( (binary_expression "uVar1 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }" { (expression_statement "uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);" (assignment_expression "uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2)" identifier = (call_expression "FUN_0004f990(pcVar6,local_20,0,param_2)" identifier (argument_list "(pcVar6,local_20,0,param_2)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "pcVar6 = pcVar6 + local_20[0];" (assignment_expression "pcVar6 = pcVar6 + local_20[0]" identifier = (binary_expression "pcVar6 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "printf("%d (0x%x)\n",uVar5,uVar5);" (call_expression "printf("%d (0x%x)\n",uVar5,uVar5)" identifier (argument_list "("%d (0x%x)\n",uVar5,uVar5)" ( (string_literal ""%d (0x%x)\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) }) (else_clause "else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }" else (compound_statement "{\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }" { (expression_statement "putc(0x22,*(FILE **)PTR_stdout_000b3fd8);" (call_expression "putc(0x22,*(FILE **)PTR_stdout_000b3fd8)" identifier (argument_list "(0x22,*(FILE **)PTR_stdout_000b3fd8)" ( number_literal , (pointer_expression "*(FILE **)PTR_stdout_000b3fd8" * (cast_expression "(FILE **)PTR_stdout_000b3fd8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (if_statement "if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }" if (parenthesized_expression "(pcVar6 < param_2 + -1)" ( (binary_expression "pcVar6 < param_2 + -1" identifier < (binary_expression "param_2 + -1" identifier + number_literal)) )) (compound_statement "{\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }" { (expression_statement "FUN_0001fd20();" (call_expression "FUN_0001fd20()" identifier (argument_list "()" ( ))) ;) (expression_statement "sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));" (assignment_expression "sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)))" identifier = (call_expression "strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)))" identifier (argument_list "(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)))" ( identifier , (cast_expression "(size_t)(param_2 + (-1 - (int)pcVar6))" ( (type_descriptor "size_t" primitive_type) ) (parenthesized_expression "(param_2 + (-1 - (int)pcVar6))" ( (binary_expression "param_2 + (-1 - (int)pcVar6)" identifier + (parenthesized_expression "(-1 - (int)pcVar6)" ( (binary_expression "-1 - (int)pcVar6" number_literal - (cast_expression "(int)pcVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) )))) ;) (expression_statement "pcVar6 = pcVar6 + sVar3 + 1;" (assignment_expression "pcVar6 = pcVar6 + sVar3 + 1" identifier = (binary_expression "pcVar6 + sVar3 + 1" (binary_expression "pcVar6 + sVar3" identifier + identifier) + number_literal)) ;) }) (else_clause "else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }" else (compound_statement "{\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }" { (expression_statement "pcVar6 = (char *)dcgettext(0,"<corrupt>",5);" (assignment_expression "pcVar6 = (char *)dcgettext(0,"<corrupt>",5)" identifier = (cast_expression "(char *)dcgettext(0,"<corrupt>",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<corrupt>",5)" identifier (argument_list "(0,"<corrupt>",5)" ( number_literal , (string_literal ""<corrupt>"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar6);" (call_expression "printf(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier ))) ;) (expression_statement "pcVar6 = param_2;" (assignment_expression "pcVar6 = param_2" identifier = identifier) ;) }))) (expression_statement "puts("\"");" (call_expression "puts("\"")" identifier (argument_list "("\"")" ( (string_literal ""\""" " escape_sequence ") ))) ;) }))) (goto_statement "goto LAB_00021288;" goto statement_identifier ;) })) (expression_statement "iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);" (assignment_expression "iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2)" identifier = (call_expression "FUN_0004f990(pcVar6,local_20,0,param_2)" identifier (argument_list "(pcVar6,local_20,0,param_2)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "pcVar6 = pcVar6 + local_20[0];" (assignment_expression "pcVar6 = pcVar6 + local_20[0]" identifier = (binary_expression "pcVar6 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "printf("  Tag_ISA: ");" (call_expression "printf("  Tag_ISA: ")" identifier (argument_list "("  Tag_ISA: ")" ( (string_literal ""  Tag_ISA: "" " string_content ") ))) ;) (if_statement "if (iVar4 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar4 == 0) goto LAB_00021390;\n      if (iVar4 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }" if (parenthesized_expression "(iVar4 == 1)" ( (binary_expression "iVar4 == 1" identifier == number_literal) )) (compound_statement "{\n      pcVar2 = "MSP430\n";\n    }" { (expression_statement "pcVar2 = "MSP430\n";" (assignment_expression "pcVar2 = "MSP430\n"" identifier = (string_literal ""MSP430\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n      if (iVar4 == 0) goto LAB_00021390;\n      if (iVar4 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }" else (compound_statement "{\n      if (iVar4 == 0) goto LAB_00021390;\n      if (iVar4 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }" { (if_statement "if (iVar4 == 0) goto LAB_00021390;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00021390;" goto statement_identifier ;)) (if_statement "if (iVar4 != 2) goto LAB_0002126e;" if (parenthesized_expression "(iVar4 != 2)" ( (binary_expression "iVar4 != 2" identifier != number_literal) )) (goto_statement "goto LAB_0002126e;" goto statement_identifier ;)) (expression_statement "pcVar2 = "MSP430X\n";" (assignment_expression "pcVar2 = "MSP430X\n"" identifier = (string_literal ""MSP430X\n"" " string_content escape_sequence ")) ;) }))) }))))) (expression_statement "pcVar2 = (char *)dcgettext(0,pcVar2,5);" (assignment_expression "pcVar2 = (char *)dcgettext(0,pcVar2,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar2,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar2,5)" identifier (argument_list "(0,pcVar2,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar2);" (call_expression "printf(pcVar2)" identifier (argument_list "(pcVar2)" ( identifier ))) ;) (labeled_statement "LAB_00021288:\n  if (pcVar6 <= param_2) {\n    return pcVar6;\n  }" statement_identifier : (if_statement "if (pcVar6 <= param_2) {\n    return pcVar6;\n  }" if (parenthesized_expression "(pcVar6 <= param_2)" ( (binary_expression "pcVar6 <= param_2" identifier <= identifier) )) (compound_statement "{\n    return pcVar6;\n  }" { (return_statement "return pcVar6;" return identifier ;) }))) comment (expression_statement "__assert_fail("p <= end","../../binutils/readelf.c",0x3ba6,"display_msp430x_attribute");" (call_expression "__assert_fail("p <= end","../../binutils/readelf.c",0x3ba6,"display_msp430x_attribute")" identifier (argument_list "("p <= end","../../binutils/readelf.c",0x3ba6,"display_msp430x_attribute")" ( (string_literal ""p <= end"" " string_content ") , (string_literal ""../../binutils/readelf.c"" " string_content ") , number_literal , (string_literal ""display_msp430x_attribute"" " string_content ") ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nuchar * display_msp430x_attribute(uchar *p,uchar *end)\n\n{\n  int iVar1;\n  char *pcVar2;\n  size_t sVar3;\n  uchar *puVar4;\n  dwarf_vma dVar5;\n  uint len;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x21169;\n  dVar5 = read_leb128(p,&len,0,end);\n  iVar1 = (int)dVar5;\n  puVar4 = p + len;\n  if (iVar1 == 6) {\n    dVar5 = read_leb128(puVar4,&len,0,end);\n    iVar1 = (int)dVar5;\n    puVar4 = puVar4 + len;\n    printf("  Tag_Code_Model: ");\n    if (iVar1 == 1) {\nLAB_000213a0:\n      pcVar2 = "Small\n";\n    }\n    else if (iVar1 == 0) {\nLAB_00021390:\n      pcVar2 = "None\n";\n    }\n    else {\n      if (iVar1 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar1);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }\n  }\n  else if (iVar1 == 8) {\n    dVar5 = read_leb128(puVar4,&len,0,end);\n    iVar1 = (int)dVar5;\n    puVar4 = puVar4 + len;\n    printf("  Tag_Data_Model: ");\n    if (iVar1 == 1) goto LAB_000213a0;\n    if (iVar1 == 0) goto LAB_00021390;\n    if (iVar1 == 2) goto LAB_0002132a;\n    if (iVar1 != 3) goto LAB_0002126e;\n    pcVar2 = "Restricted Large\n";\n  }\n  else {\n    if (iVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,iVar1);\n      if ((dVar5 & 1) == 0) {\n        dVar5 = read_leb128(puVar4,&len,0,end);\n        puVar4 = puVar4 + len;\n        printf("%d (0x%x)\n",(int)dVar5,(int)dVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (puVar4 < end + -1) {\n          print_symbol((int)(end + (-1 - (int)puVar4)),(char *)puVar4);\n          sVar3 = strnlen((char *)puVar4,(size_t)(end + (-1 - (int)puVar4)));\n          puVar4 = puVar4 + sVar3 + 1;\n        }\n        else {\n          pcVar2 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar2);\n          puVar4 = end;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }\n    dVar5 = read_leb128(puVar4,&len,0,end);\n    iVar1 = (int)dVar5;\n    puVar4 = puVar4 + len;\n    printf("  Tag_ISA: ");\n    if (iVar1 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar1 == 0) goto LAB_00021390;\n      if (iVar1 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }\n  }\n  pcVar2 = (char *)dcgettext(0,pcVar2,5);\n  printf(pcVar2);\nLAB_00021288:\n  if (puVar4 <= end) {\n    return puVar4;\n  }\n                    /* WARNING: Subroutine does not return */\n  __assert_fail("p <= end","../../binutils/readelf.c",0x3ba6,"display_msp430x_attribute");\n}\n\n" comment (function_definition "uchar * display_msp430x_attribute(uchar *p,uchar *end)\n\n{\n  int iVar1;\n  char *pcVar2;\n  size_t sVar3;\n  uchar *puVar4;\n  dwarf_vma dVar5;\n  uint len;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x21169;\n  dVar5 = read_leb128(p,&len,0,end);\n  iVar1 = (int)dVar5;\n  puVar4 = p + len;\n  if (iVar1 == 6) {\n    dVar5 = read_leb128(puVar4,&len,0,end);\n    iVar1 = (int)dVar5;\n    puVar4 = puVar4 + len;\n    printf("  Tag_Code_Model: ");\n    if (iVar1 == 1) {\nLAB_000213a0:\n      pcVar2 = "Small\n";\n    }\n    else if (iVar1 == 0) {\nLAB_00021390:\n      pcVar2 = "None\n";\n    }\n    else {\n      if (iVar1 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar1);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }\n  }\n  else if (iVar1 == 8) {\n    dVar5 = read_leb128(puVar4,&len,0,end);\n    iVar1 = (int)dVar5;\n    puVar4 = puVar4 + len;\n    printf("  Tag_Data_Model: ");\n    if (iVar1 == 1) goto LAB_000213a0;\n    if (iVar1 == 0) goto LAB_00021390;\n    if (iVar1 == 2) goto LAB_0002132a;\n    if (iVar1 != 3) goto LAB_0002126e;\n    pcVar2 = "Restricted Large\n";\n  }\n  else {\n    if (iVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,iVar1);\n      if ((dVar5 & 1) == 0) {\n        dVar5 = read_leb128(puVar4,&len,0,end);\n        puVar4 = puVar4 + len;\n        printf("%d (0x%x)\n",(int)dVar5,(int)dVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (puVar4 < end + -1) {\n          print_symbol((int)(end + (-1 - (int)puVar4)),(char *)puVar4);\n          sVar3 = strnlen((char *)puVar4,(size_t)(end + (-1 - (int)puVar4)));\n          puVar4 = puVar4 + sVar3 + 1;\n        }\n        else {\n          pcVar2 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar2);\n          puVar4 = end;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }\n    dVar5 = read_leb128(puVar4,&len,0,end);\n    iVar1 = (int)dVar5;\n    puVar4 = puVar4 + len;\n    printf("  Tag_ISA: ");\n    if (iVar1 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar1 == 0) goto LAB_00021390;\n      if (iVar1 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }\n  }\n  pcVar2 = (char *)dcgettext(0,pcVar2,5);\n  printf(pcVar2);\nLAB_00021288:\n  if (puVar4 <= end) {\n    return puVar4;\n  }\n                    /* WARNING: Subroutine does not return */\n  __assert_fail("p <= end","../../binutils/readelf.c",0x3ba6,"display_msp430x_attribute");\n}" type_identifier (pointer_declarator "* display_msp430x_attribute(uchar *p,uchar *end)" * (function_declarator "display_msp430x_attribute(uchar *p,uchar *end)" identifier (parameter_list "(uchar *p,uchar *end)" ( (parameter_declaration "uchar *p" type_identifier (pointer_declarator "*p" * identifier)) , (parameter_declaration "uchar *end" type_identifier (pointer_declarator "*end" * identifier)) )))) (compound_statement "{\n  int iVar1;\n  char *pcVar2;\n  size_t sVar3;\n  uchar *puVar4;\n  dwarf_vma dVar5;\n  uint len;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x21169;\n  dVar5 = read_leb128(p,&len,0,end);\n  iVar1 = (int)dVar5;\n  puVar4 = p + len;\n  if (iVar1 == 6) {\n    dVar5 = read_leb128(puVar4,&len,0,end);\n    iVar1 = (int)dVar5;\n    puVar4 = puVar4 + len;\n    printf("  Tag_Code_Model: ");\n    if (iVar1 == 1) {\nLAB_000213a0:\n      pcVar2 = "Small\n";\n    }\n    else if (iVar1 == 0) {\nLAB_00021390:\n      pcVar2 = "None\n";\n    }\n    else {\n      if (iVar1 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar1);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }\n  }\n  else if (iVar1 == 8) {\n    dVar5 = read_leb128(puVar4,&len,0,end);\n    iVar1 = (int)dVar5;\n    puVar4 = puVar4 + len;\n    printf("  Tag_Data_Model: ");\n    if (iVar1 == 1) goto LAB_000213a0;\n    if (iVar1 == 0) goto LAB_00021390;\n    if (iVar1 == 2) goto LAB_0002132a;\n    if (iVar1 != 3) goto LAB_0002126e;\n    pcVar2 = "Restricted Large\n";\n  }\n  else {\n    if (iVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,iVar1);\n      if ((dVar5 & 1) == 0) {\n        dVar5 = read_leb128(puVar4,&len,0,end);\n        puVar4 = puVar4 + len;\n        printf("%d (0x%x)\n",(int)dVar5,(int)dVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (puVar4 < end + -1) {\n          print_symbol((int)(end + (-1 - (int)puVar4)),(char *)puVar4);\n          sVar3 = strnlen((char *)puVar4,(size_t)(end + (-1 - (int)puVar4)));\n          puVar4 = puVar4 + sVar3 + 1;\n        }\n        else {\n          pcVar2 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar2);\n          puVar4 = end;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }\n    dVar5 = read_leb128(puVar4,&len,0,end);\n    iVar1 = (int)dVar5;\n    puVar4 = puVar4 + len;\n    printf("  Tag_ISA: ");\n    if (iVar1 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar1 == 0) goto LAB_00021390;\n      if (iVar1 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }\n  }\n  pcVar2 = (char *)dcgettext(0,pcVar2,5);\n  printf(pcVar2);\nLAB_00021288:\n  if (puVar4 <= end) {\n    return puVar4;\n  }\n                    /* WARNING: Subroutine does not return */\n  __assert_fail("p <= end","../../binutils/readelf.c",0x3ba6,"display_msp430x_attribute");\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "uchar *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "dwarf_vma dVar5;" type_identifier identifier ;) (declaration "uint len;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x21169;" (assignment_expression "uStack_14 = 0x21169" identifier = number_literal) ;) (expression_statement "dVar5 = read_leb128(p,&len,0,end);" (assignment_expression "dVar5 = read_leb128(p,&len,0,end)" identifier = (call_expression "read_leb128(p,&len,0,end)" identifier (argument_list "(p,&len,0,end)" ( identifier , (pointer_expression "&len" & identifier) , number_literal , identifier )))) ;) (expression_statement "iVar1 = (int)dVar5;" (assignment_expression "iVar1 = (int)dVar5" identifier = (cast_expression "(int)dVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "puVar4 = p + len;" (assignment_expression "puVar4 = p + len" identifier = (binary_expression "p + len" identifier + identifier)) ;) (if_statement "if (iVar1 == 6) {\n    dVar5 = read_leb128(puVar4,&len,0,end);\n    iVar1 = (int)dVar5;\n    puVar4 = puVar4 + len;\n    printf("  Tag_Code_Model: ");\n    if (iVar1 == 1) {\nLAB_000213a0:\n      pcVar2 = "Small\n";\n    }\n    else if (iVar1 == 0) {\nLAB_00021390:\n      pcVar2 = "None\n";\n    }\n    else {\n      if (iVar1 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar1);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }\n  }\n  else if (iVar1 == 8) {\n    dVar5 = read_leb128(puVar4,&len,0,end);\n    iVar1 = (int)dVar5;\n    puVar4 = puVar4 + len;\n    printf("  Tag_Data_Model: ");\n    if (iVar1 == 1) goto LAB_000213a0;\n    if (iVar1 == 0) goto LAB_00021390;\n    if (iVar1 == 2) goto LAB_0002132a;\n    if (iVar1 != 3) goto LAB_0002126e;\n    pcVar2 = "Restricted Large\n";\n  }\n  else {\n    if (iVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,iVar1);\n      if ((dVar5 & 1) == 0) {\n        dVar5 = read_leb128(puVar4,&len,0,end);\n        puVar4 = puVar4 + len;\n        printf("%d (0x%x)\n",(int)dVar5,(int)dVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (puVar4 < end + -1) {\n          print_symbol((int)(end + (-1 - (int)puVar4)),(char *)puVar4);\n          sVar3 = strnlen((char *)puVar4,(size_t)(end + (-1 - (int)puVar4)));\n          puVar4 = puVar4 + sVar3 + 1;\n        }\n        else {\n          pcVar2 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar2);\n          puVar4 = end;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }\n    dVar5 = read_leb128(puVar4,&len,0,end);\n    iVar1 = (int)dVar5;\n    puVar4 = puVar4 + len;\n    printf("  Tag_ISA: ");\n    if (iVar1 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar1 == 0) goto LAB_00021390;\n      if (iVar1 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }\n  }" if (parenthesized_expression "(iVar1 == 6)" ( (binary_expression "iVar1 == 6" identifier == number_literal) )) (compound_statement "{\n    dVar5 = read_leb128(puVar4,&len,0,end);\n    iVar1 = (int)dVar5;\n    puVar4 = puVar4 + len;\n    printf("  Tag_Code_Model: ");\n    if (iVar1 == 1) {\nLAB_000213a0:\n      pcVar2 = "Small\n";\n    }\n    else if (iVar1 == 0) {\nLAB_00021390:\n      pcVar2 = "None\n";\n    }\n    else {\n      if (iVar1 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar1);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }\n  }" { (expression_statement "dVar5 = read_leb128(puVar4,&len,0,end);" (assignment_expression "dVar5 = read_leb128(puVar4,&len,0,end)" identifier = (call_expression "read_leb128(puVar4,&len,0,end)" identifier (argument_list "(puVar4,&len,0,end)" ( identifier , (pointer_expression "&len" & identifier) , number_literal , identifier )))) ;) (expression_statement "iVar1 = (int)dVar5;" (assignment_expression "iVar1 = (int)dVar5" identifier = (cast_expression "(int)dVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "puVar4 = puVar4 + len;" (assignment_expression "puVar4 = puVar4 + len" identifier = (binary_expression "puVar4 + len" identifier + identifier)) ;) (expression_statement "printf("  Tag_Code_Model: ");" (call_expression "printf("  Tag_Code_Model: ")" identifier (argument_list "("  Tag_Code_Model: ")" ( (string_literal ""  Tag_Code_Model: "" " string_content ") ))) ;) (if_statement "if (iVar1 == 1) {\nLAB_000213a0:\n      pcVar2 = "Small\n";\n    }\n    else if (iVar1 == 0) {\nLAB_00021390:\n      pcVar2 = "None\n";\n    }\n    else {\n      if (iVar1 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar1);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }" if (parenthesized_expression "(iVar1 == 1)" ( (binary_expression "iVar1 == 1" identifier == number_literal) )) (compound_statement "{\nLAB_000213a0:\n      pcVar2 = "Small\n";\n    }" { (labeled_statement "LAB_000213a0:\n      pcVar2 = "Small\n";" statement_identifier : (expression_statement "pcVar2 = "Small\n";" (assignment_expression "pcVar2 = "Small\n"" identifier = (string_literal ""Small\n"" " string_content escape_sequence ")) ;)) }) (else_clause "else if (iVar1 == 0) {\nLAB_00021390:\n      pcVar2 = "None\n";\n    }\n    else {\n      if (iVar1 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar1);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }" else (if_statement "if (iVar1 == 0) {\nLAB_00021390:\n      pcVar2 = "None\n";\n    }\n    else {\n      if (iVar1 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar1);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00021390:\n      pcVar2 = "None\n";\n    }" { (labeled_statement "LAB_00021390:\n      pcVar2 = "None\n";" statement_identifier : (expression_statement "pcVar2 = "None\n";" (assignment_expression "pcVar2 = "None\n"" identifier = (string_literal ""None\n"" " string_content escape_sequence ")) ;)) }) (else_clause "else {\n      if (iVar1 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar1);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }" else (compound_statement "{\n      if (iVar1 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar1);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }" { (if_statement "if (iVar1 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar1);\n        goto LAB_00021288;\n      }" if (parenthesized_expression "(iVar1 != 2)" ( (binary_expression "iVar1 != 2" identifier != number_literal) )) (compound_statement "{\nLAB_0002126e:\n        printf("??? (%d)\n",iVar1);\n        goto LAB_00021288;\n      }" { (labeled_statement "LAB_0002126e:\n        printf("??? (%d)\n",iVar1);" statement_identifier : (expression_statement "printf("??? (%d)\n",iVar1);" (call_expression "printf("??? (%d)\n",iVar1)" identifier (argument_list "("??? (%d)\n",iVar1)" ( (string_literal ""??? (%d)\n"" " string_content escape_sequence ") , identifier ))) ;)) (goto_statement "goto LAB_00021288;" goto statement_identifier ;) })) (labeled_statement "LAB_0002132a:\n      pcVar2 = "Large\n";" statement_identifier : (expression_statement "pcVar2 = "Large\n";" (assignment_expression "pcVar2 = "Large\n"" identifier = (string_literal ""Large\n"" " string_content escape_sequence ")) ;)) }))))) }) (else_clause "else if (iVar1 == 8) {\n    dVar5 = read_leb128(puVar4,&len,0,end);\n    iVar1 = (int)dVar5;\n    puVar4 = puVar4 + len;\n    printf("  Tag_Data_Model: ");\n    if (iVar1 == 1) goto LAB_000213a0;\n    if (iVar1 == 0) goto LAB_00021390;\n    if (iVar1 == 2) goto LAB_0002132a;\n    if (iVar1 != 3) goto LAB_0002126e;\n    pcVar2 = "Restricted Large\n";\n  }\n  else {\n    if (iVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,iVar1);\n      if ((dVar5 & 1) == 0) {\n        dVar5 = read_leb128(puVar4,&len,0,end);\n        puVar4 = puVar4 + len;\n        printf("%d (0x%x)\n",(int)dVar5,(int)dVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (puVar4 < end + -1) {\n          print_symbol((int)(end + (-1 - (int)puVar4)),(char *)puVar4);\n          sVar3 = strnlen((char *)puVar4,(size_t)(end + (-1 - (int)puVar4)));\n          puVar4 = puVar4 + sVar3 + 1;\n        }\n        else {\n          pcVar2 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar2);\n          puVar4 = end;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }\n    dVar5 = read_leb128(puVar4,&len,0,end);\n    iVar1 = (int)dVar5;\n    puVar4 = puVar4 + len;\n    printf("  Tag_ISA: ");\n    if (iVar1 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar1 == 0) goto LAB_00021390;\n      if (iVar1 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }\n  }" else (if_statement "if (iVar1 == 8) {\n    dVar5 = read_leb128(puVar4,&len,0,end);\n    iVar1 = (int)dVar5;\n    puVar4 = puVar4 + len;\n    printf("  Tag_Data_Model: ");\n    if (iVar1 == 1) goto LAB_000213a0;\n    if (iVar1 == 0) goto LAB_00021390;\n    if (iVar1 == 2) goto LAB_0002132a;\n    if (iVar1 != 3) goto LAB_0002126e;\n    pcVar2 = "Restricted Large\n";\n  }\n  else {\n    if (iVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,iVar1);\n      if ((dVar5 & 1) == 0) {\n        dVar5 = read_leb128(puVar4,&len,0,end);\n        puVar4 = puVar4 + len;\n        printf("%d (0x%x)\n",(int)dVar5,(int)dVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (puVar4 < end + -1) {\n          print_symbol((int)(end + (-1 - (int)puVar4)),(char *)puVar4);\n          sVar3 = strnlen((char *)puVar4,(size_t)(end + (-1 - (int)puVar4)));\n          puVar4 = puVar4 + sVar3 + 1;\n        }\n        else {\n          pcVar2 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar2);\n          puVar4 = end;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }\n    dVar5 = read_leb128(puVar4,&len,0,end);\n    iVar1 = (int)dVar5;\n    puVar4 = puVar4 + len;\n    printf("  Tag_ISA: ");\n    if (iVar1 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar1 == 0) goto LAB_00021390;\n      if (iVar1 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }\n  }" if (parenthesized_expression "(iVar1 == 8)" ( (binary_expression "iVar1 == 8" identifier == number_literal) )) (compound_statement "{\n    dVar5 = read_leb128(puVar4,&len,0,end);\n    iVar1 = (int)dVar5;\n    puVar4 = puVar4 + len;\n    printf("  Tag_Data_Model: ");\n    if (iVar1 == 1) goto LAB_000213a0;\n    if (iVar1 == 0) goto LAB_00021390;\n    if (iVar1 == 2) goto LAB_0002132a;\n    if (iVar1 != 3) goto LAB_0002126e;\n    pcVar2 = "Restricted Large\n";\n  }" { (expression_statement "dVar5 = read_leb128(puVar4,&len,0,end);" (assignment_expression "dVar5 = read_leb128(puVar4,&len,0,end)" identifier = (call_expression "read_leb128(puVar4,&len,0,end)" identifier (argument_list "(puVar4,&len,0,end)" ( identifier , (pointer_expression "&len" & identifier) , number_literal , identifier )))) ;) (expression_statement "iVar1 = (int)dVar5;" (assignment_expression "iVar1 = (int)dVar5" identifier = (cast_expression "(int)dVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "puVar4 = puVar4 + len;" (assignment_expression "puVar4 = puVar4 + len" identifier = (binary_expression "puVar4 + len" identifier + identifier)) ;) (expression_statement "printf("  Tag_Data_Model: ");" (call_expression "printf("  Tag_Data_Model: ")" identifier (argument_list "("  Tag_Data_Model: ")" ( (string_literal ""  Tag_Data_Model: "" " string_content ") ))) ;) (if_statement "if (iVar1 == 1) goto LAB_000213a0;" if (parenthesized_expression "(iVar1 == 1)" ( (binary_expression "iVar1 == 1" identifier == number_literal) )) (goto_statement "goto LAB_000213a0;" goto statement_identifier ;)) (if_statement "if (iVar1 == 0) goto LAB_00021390;" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00021390;" goto statement_identifier ;)) (if_statement "if (iVar1 == 2) goto LAB_0002132a;" if (parenthesized_expression "(iVar1 == 2)" ( (binary_expression "iVar1 == 2" identifier == number_literal) )) (goto_statement "goto LAB_0002132a;" goto statement_identifier ;)) (if_statement "if (iVar1 != 3) goto LAB_0002126e;" if (parenthesized_expression "(iVar1 != 3)" ( (binary_expression "iVar1 != 3" identifier != number_literal) )) (goto_statement "goto LAB_0002126e;" goto statement_identifier ;)) (expression_statement "pcVar2 = "Restricted Large\n";" (assignment_expression "pcVar2 = "Restricted Large\n"" identifier = (string_literal ""Restricted Large\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n    if (iVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,iVar1);\n      if ((dVar5 & 1) == 0) {\n        dVar5 = read_leb128(puVar4,&len,0,end);\n        puVar4 = puVar4 + len;\n        printf("%d (0x%x)\n",(int)dVar5,(int)dVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (puVar4 < end + -1) {\n          print_symbol((int)(end + (-1 - (int)puVar4)),(char *)puVar4);\n          sVar3 = strnlen((char *)puVar4,(size_t)(end + (-1 - (int)puVar4)));\n          puVar4 = puVar4 + sVar3 + 1;\n        }\n        else {\n          pcVar2 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar2);\n          puVar4 = end;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }\n    dVar5 = read_leb128(puVar4,&len,0,end);\n    iVar1 = (int)dVar5;\n    puVar4 = puVar4 + len;\n    printf("  Tag_ISA: ");\n    if (iVar1 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar1 == 0) goto LAB_00021390;\n      if (iVar1 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }\n  }" else (compound_statement "{\n    if (iVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,iVar1);\n      if ((dVar5 & 1) == 0) {\n        dVar5 = read_leb128(puVar4,&len,0,end);\n        puVar4 = puVar4 + len;\n        printf("%d (0x%x)\n",(int)dVar5,(int)dVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (puVar4 < end + -1) {\n          print_symbol((int)(end + (-1 - (int)puVar4)),(char *)puVar4);\n          sVar3 = strnlen((char *)puVar4,(size_t)(end + (-1 - (int)puVar4)));\n          puVar4 = puVar4 + sVar3 + 1;\n        }\n        else {\n          pcVar2 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar2);\n          puVar4 = end;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }\n    dVar5 = read_leb128(puVar4,&len,0,end);\n    iVar1 = (int)dVar5;\n    puVar4 = puVar4 + len;\n    printf("  Tag_ISA: ");\n    if (iVar1 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar1 == 0) goto LAB_00021390;\n      if (iVar1 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }\n  }" { (if_statement "if (iVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,iVar1);\n      if ((dVar5 & 1) == 0) {\n        dVar5 = read_leb128(puVar4,&len,0,end);\n        puVar4 = puVar4 + len;\n        printf("%d (0x%x)\n",(int)dVar5,(int)dVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (puVar4 < end + -1) {\n          print_symbol((int)(end + (-1 - (int)puVar4)),(char *)puVar4);\n          sVar3 = strnlen((char *)puVar4,(size_t)(end + (-1 - (int)puVar4)));\n          puVar4 = puVar4 + sVar3 + 1;\n        }\n        else {\n          pcVar2 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar2);\n          puVar4 = end;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }" if (parenthesized_expression "(iVar1 != 4)" ( (binary_expression "iVar1 != 4" identifier != number_literal) )) (compound_statement "{\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,iVar1);\n      if ((dVar5 & 1) == 0) {\n        dVar5 = read_leb128(puVar4,&len,0,end);\n        puVar4 = puVar4 + len;\n        printf("%d (0x%x)\n",(int)dVar5,(int)dVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (puVar4 < end + -1) {\n          print_symbol((int)(end + (-1 - (int)puVar4)),(char *)puVar4);\n          sVar3 = strnlen((char *)puVar4,(size_t)(end + (-1 - (int)puVar4)));\n          puVar4 = puVar4 + sVar3 + 1;\n        }\n        else {\n          pcVar2 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar2);\n          puVar4 = end;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }" { (expression_statement "pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);" (assignment_expression "pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5)" identifier = (cast_expression "(char *)dcgettext(0,"  <unknown tag %d>: ",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  <unknown tag %d>: ",5)" identifier (argument_list "(0,"  <unknown tag %d>: ",5)" ( number_literal , (string_literal ""  <unknown tag %d>: "" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar2,iVar1);" (call_expression "printf(pcVar2,iVar1)" identifier (argument_list "(pcVar2,iVar1)" ( identifier , identifier ))) ;) (if_statement "if ((dVar5 & 1) == 0) {\n        dVar5 = read_leb128(puVar4,&len,0,end);\n        puVar4 = puVar4 + len;\n        printf("%d (0x%x)\n",(int)dVar5,(int)dVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (puVar4 < end + -1) {\n          print_symbol((int)(end + (-1 - (int)puVar4)),(char *)puVar4);\n          sVar3 = strnlen((char *)puVar4,(size_t)(end + (-1 - (int)puVar4)));\n          puVar4 = puVar4 + sVar3 + 1;\n        }\n        else {\n          pcVar2 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar2);\n          puVar4 = end;\n        }\n        puts("\"");\n      }" if (parenthesized_expression "((dVar5 & 1) == 0)" ( (binary_expression "(dVar5 & 1) == 0" (parenthesized_expression "(dVar5 & 1)" ( (binary_expression "dVar5 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        dVar5 = read_leb128(puVar4,&len,0,end);\n        puVar4 = puVar4 + len;\n        printf("%d (0x%x)\n",(int)dVar5,(int)dVar5);\n      }" { (expression_statement "dVar5 = read_leb128(puVar4,&len,0,end);" (assignment_expression "dVar5 = read_leb128(puVar4,&len,0,end)" identifier = (call_expression "read_leb128(puVar4,&len,0,end)" identifier (argument_list "(puVar4,&len,0,end)" ( identifier , (pointer_expression "&len" & identifier) , number_literal , identifier )))) ;) (expression_statement "puVar4 = puVar4 + len;" (assignment_expression "puVar4 = puVar4 + len" identifier = (binary_expression "puVar4 + len" identifier + identifier)) ;) (expression_statement "printf("%d (0x%x)\n",(int)dVar5,(int)dVar5);" (call_expression "printf("%d (0x%x)\n",(int)dVar5,(int)dVar5)" identifier (argument_list "("%d (0x%x)\n",(int)dVar5,(int)dVar5)" ( (string_literal ""%d (0x%x)\n"" " string_content escape_sequence ") , (cast_expression "(int)dVar5" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(int)dVar5" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) }) (else_clause "else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (puVar4 < end + -1) {\n          print_symbol((int)(end + (-1 - (int)puVar4)),(char *)puVar4);\n          sVar3 = strnlen((char *)puVar4,(size_t)(end + (-1 - (int)puVar4)));\n          puVar4 = puVar4 + sVar3 + 1;\n        }\n        else {\n          pcVar2 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar2);\n          puVar4 = end;\n        }\n        puts("\"");\n      }" else (compound_statement "{\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (puVar4 < end + -1) {\n          print_symbol((int)(end + (-1 - (int)puVar4)),(char *)puVar4);\n          sVar3 = strnlen((char *)puVar4,(size_t)(end + (-1 - (int)puVar4)));\n          puVar4 = puVar4 + sVar3 + 1;\n        }\n        else {\n          pcVar2 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar2);\n          puVar4 = end;\n        }\n        puts("\"");\n      }" { (expression_statement "putc(0x22,*(FILE **)PTR_stdout_000b3fd8);" (call_expression "putc(0x22,*(FILE **)PTR_stdout_000b3fd8)" identifier (argument_list "(0x22,*(FILE **)PTR_stdout_000b3fd8)" ( number_literal , (pointer_expression "*(FILE **)PTR_stdout_000b3fd8" * (cast_expression "(FILE **)PTR_stdout_000b3fd8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (if_statement "if (puVar4 < end + -1) {\n          print_symbol((int)(end + (-1 - (int)puVar4)),(char *)puVar4);\n          sVar3 = strnlen((char *)puVar4,(size_t)(end + (-1 - (int)puVar4)));\n          puVar4 = puVar4 + sVar3 + 1;\n        }\n        else {\n          pcVar2 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar2);\n          puVar4 = end;\n        }" if (parenthesized_expression "(puVar4 < end + -1)" ( (binary_expression "puVar4 < end + -1" identifier < (binary_expression "end + -1" identifier + number_literal)) )) (compound_statement "{\n          print_symbol((int)(end + (-1 - (int)puVar4)),(char *)puVar4);\n          sVar3 = strnlen((char *)puVar4,(size_t)(end + (-1 - (int)puVar4)));\n          puVar4 = puVar4 + sVar3 + 1;\n        }" { (expression_statement "print_symbol((int)(end + (-1 - (int)puVar4)),(char *)puVar4);" (call_expression "print_symbol((int)(end + (-1 - (int)puVar4)),(char *)puVar4)" identifier (argument_list "((int)(end + (-1 - (int)puVar4)),(char *)puVar4)" ( (cast_expression "(int)(end + (-1 - (int)puVar4))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(end + (-1 - (int)puVar4))" ( (binary_expression "end + (-1 - (int)puVar4)" identifier + (parenthesized_expression "(-1 - (int)puVar4)" ( (binary_expression "-1 - (int)puVar4" number_literal - (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) , (cast_expression "(char *)puVar4" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "sVar3 = strnlen((char *)puVar4,(size_t)(end + (-1 - (int)puVar4)));" (assignment_expression "sVar3 = strnlen((char *)puVar4,(size_t)(end + (-1 - (int)puVar4)))" identifier = (call_expression "strnlen((char *)puVar4,(size_t)(end + (-1 - (int)puVar4)))" identifier (argument_list "((char *)puVar4,(size_t)(end + (-1 - (int)puVar4)))" ( (cast_expression "(char *)puVar4" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(size_t)(end + (-1 - (int)puVar4))" ( (type_descriptor "size_t" primitive_type) ) (parenthesized_expression "(end + (-1 - (int)puVar4))" ( (binary_expression "end + (-1 - (int)puVar4)" identifier + (parenthesized_expression "(-1 - (int)puVar4)" ( (binary_expression "-1 - (int)puVar4" number_literal - (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) )))) ;) (expression_statement "puVar4 = puVar4 + sVar3 + 1;" (assignment_expression "puVar4 = puVar4 + sVar3 + 1" identifier = (binary_expression "puVar4 + sVar3 + 1" (binary_expression "puVar4 + sVar3" identifier + identifier) + number_literal)) ;) }) (else_clause "else {\n          pcVar2 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar2);\n          puVar4 = end;\n        }" else (compound_statement "{\n          pcVar2 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar2);\n          puVar4 = end;\n        }" { (expression_statement "pcVar2 = (char *)dcgettext(0,"<corrupt>",5);" (assignment_expression "pcVar2 = (char *)dcgettext(0,"<corrupt>",5)" identifier = (cast_expression "(char *)dcgettext(0,"<corrupt>",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<corrupt>",5)" identifier (argument_list "(0,"<corrupt>",5)" ( number_literal , (string_literal ""<corrupt>"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar2);" (call_expression "printf(pcVar2)" identifier (argument_list "(pcVar2)" ( identifier ))) ;) (expression_statement "puVar4 = end;" (assignment_expression "puVar4 = end" identifier = identifier) ;) }))) (expression_statement "puts("\"");" (call_expression "puts("\"")" identifier (argument_list "("\"")" ( (string_literal ""\""" " escape_sequence ") ))) ;) }))) (goto_statement "goto LAB_00021288;" goto statement_identifier ;) })) (expression_statement "dVar5 = read_leb128(puVar4,&len,0,end);" (assignment_expression "dVar5 = read_leb128(puVar4,&len,0,end)" identifier = (call_expression "read_leb128(puVar4,&len,0,end)" identifier (argument_list "(puVar4,&len,0,end)" ( identifier , (pointer_expression "&len" & identifier) , number_literal , identifier )))) ;) (expression_statement "iVar1 = (int)dVar5;" (assignment_expression "iVar1 = (int)dVar5" identifier = (cast_expression "(int)dVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "puVar4 = puVar4 + len;" (assignment_expression "puVar4 = puVar4 + len" identifier = (binary_expression "puVar4 + len" identifier + identifier)) ;) (expression_statement "printf("  Tag_ISA: ");" (call_expression "printf("  Tag_ISA: ")" identifier (argument_list "("  Tag_ISA: ")" ( (string_literal ""  Tag_ISA: "" " string_content ") ))) ;) (if_statement "if (iVar1 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar1 == 0) goto LAB_00021390;\n      if (iVar1 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }" if (parenthesized_expression "(iVar1 == 1)" ( (binary_expression "iVar1 == 1" identifier == number_literal) )) (compound_statement "{\n      pcVar2 = "MSP430\n";\n    }" { (expression_statement "pcVar2 = "MSP430\n";" (assignment_expression "pcVar2 = "MSP430\n"" identifier = (string_literal ""MSP430\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n      if (iVar1 == 0) goto LAB_00021390;\n      if (iVar1 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }" else (compound_statement "{\n      if (iVar1 == 0) goto LAB_00021390;\n      if (iVar1 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }" { (if_statement "if (iVar1 == 0) goto LAB_00021390;" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00021390;" goto statement_identifier ;)) (if_statement "if (iVar1 != 2) goto LAB_0002126e;" if (parenthesized_expression "(iVar1 != 2)" ( (binary_expression "iVar1 != 2" identifier != number_literal) )) (goto_statement "goto LAB_0002126e;" goto statement_identifier ;)) (expression_statement "pcVar2 = "MSP430X\n";" (assignment_expression "pcVar2 = "MSP430X\n"" identifier = (string_literal ""MSP430X\n"" " string_content escape_sequence ")) ;) }))) }))))) (expression_statement "pcVar2 = (char *)dcgettext(0,pcVar2,5);" (assignment_expression "pcVar2 = (char *)dcgettext(0,pcVar2,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar2,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar2,5)" identifier (argument_list "(0,pcVar2,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar2);" (call_expression "printf(pcVar2)" identifier (argument_list "(pcVar2)" ( identifier ))) ;) (labeled_statement "LAB_00021288:\n  if (puVar4 <= end) {\n    return puVar4;\n  }" statement_identifier : (if_statement "if (puVar4 <= end) {\n    return puVar4;\n  }" if (parenthesized_expression "(puVar4 <= end)" ( (binary_expression "puVar4 <= end" identifier <= identifier) )) (compound_statement "{\n    return puVar4;\n  }" { (return_statement "return puVar4;" return identifier ;) }))) comment (expression_statement "__assert_fail("p <= end","../../binutils/readelf.c",0x3ba6,"display_msp430x_attribute");" (call_expression "__assert_fail("p <= end","../../binutils/readelf.c",0x3ba6,"display_msp430x_attribute")" identifier (argument_list "("p <= end","../../binutils/readelf.c",0x3ba6,"display_msp430x_attribute")" ( (string_literal ""p <= end"" " string_content ") , (string_literal ""../../binutils/readelf.c"" " string_content ") , number_literal , (string_literal ""display_msp430x_attribute"" " string_content ") ))) ;) })))
(translation_unit "char * FUN_00021160(int param_1,char *param_2)\n\n{\n  uint uVar1;\n  char *pcVar2;\n  size_t sVar3;\n  int iVar4;\n  undefined4 uVar5;\n  char *pcVar6;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x21169;\n  uVar1 = FUN_0004f990(param_1,local_20,0,param_2);\n  pcVar6 = (char *)(param_1 + local_20[0]);\n  if (uVar1 == 6) {\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Code_Model: ");\n    if (iVar4 == 1) {\nLAB_000213a0:\n      pcVar2 = "Small\n";\n    }\n    else if (iVar4 == 0) {\nLAB_00021390:\n      pcVar2 = "None\n";\n    }\n    else {\n      if (iVar4 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }\n  }\n  else if (uVar1 == 8) {\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Data_Model: ");\n    if (iVar4 == 1) goto LAB_000213a0;\n    if (iVar4 == 0) goto LAB_00021390;\n    if (iVar4 == 2) goto LAB_0002132a;\n    if (iVar4 != 3) goto LAB_0002126e;\n    pcVar2 = "Restricted Large\n";\n  }\n  else {\n    if (uVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,uVar1);\n      if ((uVar1 & 1) == 0) {\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_ISA: ");\n    if (iVar4 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar4 == 0) goto LAB_00021390;\n      if (iVar4 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }\n  }\n  pcVar2 = (char *)dcgettext(0,pcVar2,5);\n  printf(pcVar2);\nLAB_00021288:\n  if (pcVar6 <= param_2) {\n    return pcVar6;\n  }\n                    \n  __assert_fail("p <= end","../../binutils/readelf.c",0x3ba6,"display_msp430x_attribute");\n}\n\n" (function_definition "char * FUN_00021160(int param_1,char *param_2)\n\n{\n  uint uVar1;\n  char *pcVar2;\n  size_t sVar3;\n  int iVar4;\n  undefined4 uVar5;\n  char *pcVar6;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x21169;\n  uVar1 = FUN_0004f990(param_1,local_20,0,param_2);\n  pcVar6 = (char *)(param_1 + local_20[0]);\n  if (uVar1 == 6) {\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Code_Model: ");\n    if (iVar4 == 1) {\nLAB_000213a0:\n      pcVar2 = "Small\n";\n    }\n    else if (iVar4 == 0) {\nLAB_00021390:\n      pcVar2 = "None\n";\n    }\n    else {\n      if (iVar4 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }\n  }\n  else if (uVar1 == 8) {\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Data_Model: ");\n    if (iVar4 == 1) goto LAB_000213a0;\n    if (iVar4 == 0) goto LAB_00021390;\n    if (iVar4 == 2) goto LAB_0002132a;\n    if (iVar4 != 3) goto LAB_0002126e;\n    pcVar2 = "Restricted Large\n";\n  }\n  else {\n    if (uVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,uVar1);\n      if ((uVar1 & 1) == 0) {\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_ISA: ");\n    if (iVar4 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar4 == 0) goto LAB_00021390;\n      if (iVar4 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }\n  }\n  pcVar2 = (char *)dcgettext(0,pcVar2,5);\n  printf(pcVar2);\nLAB_00021288:\n  if (pcVar6 <= param_2) {\n    return pcVar6;\n  }\n                    \n  __assert_fail("p <= end","../../binutils/readelf.c",0x3ba6,"display_msp430x_attribute");\n}" primitive_type (pointer_declarator "* FUN_00021160(int param_1,char *param_2)" * (function_declarator "FUN_00021160(int param_1,char *param_2)" identifier (parameter_list "(int param_1,char *param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) )))) (compound_statement "{\n  uint uVar1;\n  char *pcVar2;\n  size_t sVar3;\n  int iVar4;\n  undefined4 uVar5;\n  char *pcVar6;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x21169;\n  uVar1 = FUN_0004f990(param_1,local_20,0,param_2);\n  pcVar6 = (char *)(param_1 + local_20[0]);\n  if (uVar1 == 6) {\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Code_Model: ");\n    if (iVar4 == 1) {\nLAB_000213a0:\n      pcVar2 = "Small\n";\n    }\n    else if (iVar4 == 0) {\nLAB_00021390:\n      pcVar2 = "None\n";\n    }\n    else {\n      if (iVar4 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }\n  }\n  else if (uVar1 == 8) {\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Data_Model: ");\n    if (iVar4 == 1) goto LAB_000213a0;\n    if (iVar4 == 0) goto LAB_00021390;\n    if (iVar4 == 2) goto LAB_0002132a;\n    if (iVar4 != 3) goto LAB_0002126e;\n    pcVar2 = "Restricted Large\n";\n  }\n  else {\n    if (uVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,uVar1);\n      if ((uVar1 & 1) == 0) {\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_ISA: ");\n    if (iVar4 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar4 == 0) goto LAB_00021390;\n      if (iVar4 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }\n  }\n  pcVar2 = (char *)dcgettext(0,pcVar2,5);\n  printf(pcVar2);\nLAB_00021288:\n  if (pcVar6 <= param_2) {\n    return pcVar6;\n  }\n                    \n  __assert_fail("p <= end","../../binutils/readelf.c",0x3ba6,"display_msp430x_attribute");\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "int local_20 [3];" primitive_type (array_declarator "local_20 [3]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x21169;" (assignment_expression "uStack_14 = 0x21169" identifier = number_literal) ;) (expression_statement "uVar1 = FUN_0004f990(param_1,local_20,0,param_2);" (assignment_expression "uVar1 = FUN_0004f990(param_1,local_20,0,param_2)" identifier = (call_expression "FUN_0004f990(param_1,local_20,0,param_2)" identifier (argument_list "(param_1,local_20,0,param_2)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "pcVar6 = (char *)(param_1 + local_20[0]);" (assignment_expression "pcVar6 = (char *)(param_1 + local_20[0])" identifier = (cast_expression "(char *)(param_1 + local_20[0])" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + local_20[0])" ( (binary_expression "param_1 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ])) )))) ;) (if_statement "if (uVar1 == 6) {\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Code_Model: ");\n    if (iVar4 == 1) {\nLAB_000213a0:\n      pcVar2 = "Small\n";\n    }\n    else if (iVar4 == 0) {\nLAB_00021390:\n      pcVar2 = "None\n";\n    }\n    else {\n      if (iVar4 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }\n  }\n  else if (uVar1 == 8) {\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Data_Model: ");\n    if (iVar4 == 1) goto LAB_000213a0;\n    if (iVar4 == 0) goto LAB_00021390;\n    if (iVar4 == 2) goto LAB_0002132a;\n    if (iVar4 != 3) goto LAB_0002126e;\n    pcVar2 = "Restricted Large\n";\n  }\n  else {\n    if (uVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,uVar1);\n      if ((uVar1 & 1) == 0) {\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_ISA: ");\n    if (iVar4 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar4 == 0) goto LAB_00021390;\n      if (iVar4 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }\n  }" if (parenthesized_expression "(uVar1 == 6)" ( (binary_expression "uVar1 == 6" identifier == number_literal) )) (compound_statement "{\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Code_Model: ");\n    if (iVar4 == 1) {\nLAB_000213a0:\n      pcVar2 = "Small\n";\n    }\n    else if (iVar4 == 0) {\nLAB_00021390:\n      pcVar2 = "None\n";\n    }\n    else {\n      if (iVar4 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }\n  }" { (expression_statement "iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);" (assignment_expression "iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2)" identifier = (call_expression "FUN_0004f990(pcVar6,local_20,0,param_2)" identifier (argument_list "(pcVar6,local_20,0,param_2)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "pcVar6 = pcVar6 + local_20[0];" (assignment_expression "pcVar6 = pcVar6 + local_20[0]" identifier = (binary_expression "pcVar6 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "printf("  Tag_Code_Model: ");" (call_expression "printf("  Tag_Code_Model: ")" identifier (argument_list "("  Tag_Code_Model: ")" ( (string_literal ""  Tag_Code_Model: "" " string_content ") ))) ;) (if_statement "if (iVar4 == 1) {\nLAB_000213a0:\n      pcVar2 = "Small\n";\n    }\n    else if (iVar4 == 0) {\nLAB_00021390:\n      pcVar2 = "None\n";\n    }\n    else {\n      if (iVar4 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }" if (parenthesized_expression "(iVar4 == 1)" ( (binary_expression "iVar4 == 1" identifier == number_literal) )) (compound_statement "{\nLAB_000213a0:\n      pcVar2 = "Small\n";\n    }" { (labeled_statement "LAB_000213a0:\n      pcVar2 = "Small\n";" statement_identifier : (expression_statement "pcVar2 = "Small\n";" (assignment_expression "pcVar2 = "Small\n"" identifier = (string_literal ""Small\n"" " string_content escape_sequence ")) ;)) }) (else_clause "else if (iVar4 == 0) {\nLAB_00021390:\n      pcVar2 = "None\n";\n    }\n    else {\n      if (iVar4 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }" else (if_statement "if (iVar4 == 0) {\nLAB_00021390:\n      pcVar2 = "None\n";\n    }\n    else {\n      if (iVar4 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00021390:\n      pcVar2 = "None\n";\n    }" { (labeled_statement "LAB_00021390:\n      pcVar2 = "None\n";" statement_identifier : (expression_statement "pcVar2 = "None\n";" (assignment_expression "pcVar2 = "None\n"" identifier = (string_literal ""None\n"" " string_content escape_sequence ")) ;)) }) (else_clause "else {\n      if (iVar4 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }" else (compound_statement "{\n      if (iVar4 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }" { (if_statement "if (iVar4 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }" if (parenthesized_expression "(iVar4 != 2)" ( (binary_expression "iVar4 != 2" identifier != number_literal) )) (compound_statement "{\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }" { (labeled_statement "LAB_0002126e:\n        printf("??? (%d)\n",iVar4);" statement_identifier : (expression_statement "printf("??? (%d)\n",iVar4);" (call_expression "printf("??? (%d)\n",iVar4)" identifier (argument_list "("??? (%d)\n",iVar4)" ( (string_literal ""??? (%d)\n"" " string_content escape_sequence ") , identifier ))) ;)) (goto_statement "goto LAB_00021288;" goto statement_identifier ;) })) (labeled_statement "LAB_0002132a:\n      pcVar2 = "Large\n";" statement_identifier : (expression_statement "pcVar2 = "Large\n";" (assignment_expression "pcVar2 = "Large\n"" identifier = (string_literal ""Large\n"" " string_content escape_sequence ")) ;)) }))))) }) (else_clause "else if (uVar1 == 8) {\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Data_Model: ");\n    if (iVar4 == 1) goto LAB_000213a0;\n    if (iVar4 == 0) goto LAB_00021390;\n    if (iVar4 == 2) goto LAB_0002132a;\n    if (iVar4 != 3) goto LAB_0002126e;\n    pcVar2 = "Restricted Large\n";\n  }\n  else {\n    if (uVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,uVar1);\n      if ((uVar1 & 1) == 0) {\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_ISA: ");\n    if (iVar4 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar4 == 0) goto LAB_00021390;\n      if (iVar4 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }\n  }" else (if_statement "if (uVar1 == 8) {\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Data_Model: ");\n    if (iVar4 == 1) goto LAB_000213a0;\n    if (iVar4 == 0) goto LAB_00021390;\n    if (iVar4 == 2) goto LAB_0002132a;\n    if (iVar4 != 3) goto LAB_0002126e;\n    pcVar2 = "Restricted Large\n";\n  }\n  else {\n    if (uVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,uVar1);\n      if ((uVar1 & 1) == 0) {\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_ISA: ");\n    if (iVar4 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar4 == 0) goto LAB_00021390;\n      if (iVar4 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }\n  }" if (parenthesized_expression "(uVar1 == 8)" ( (binary_expression "uVar1 == 8" identifier == number_literal) )) (compound_statement "{\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Data_Model: ");\n    if (iVar4 == 1) goto LAB_000213a0;\n    if (iVar4 == 0) goto LAB_00021390;\n    if (iVar4 == 2) goto LAB_0002132a;\n    if (iVar4 != 3) goto LAB_0002126e;\n    pcVar2 = "Restricted Large\n";\n  }" { (expression_statement "iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);" (assignment_expression "iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2)" identifier = (call_expression "FUN_0004f990(pcVar6,local_20,0,param_2)" identifier (argument_list "(pcVar6,local_20,0,param_2)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "pcVar6 = pcVar6 + local_20[0];" (assignment_expression "pcVar6 = pcVar6 + local_20[0]" identifier = (binary_expression "pcVar6 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "printf("  Tag_Data_Model: ");" (call_expression "printf("  Tag_Data_Model: ")" identifier (argument_list "("  Tag_Data_Model: ")" ( (string_literal ""  Tag_Data_Model: "" " string_content ") ))) ;) (if_statement "if (iVar4 == 1) goto LAB_000213a0;" if (parenthesized_expression "(iVar4 == 1)" ( (binary_expression "iVar4 == 1" identifier == number_literal) )) (goto_statement "goto LAB_000213a0;" goto statement_identifier ;)) (if_statement "if (iVar4 == 0) goto LAB_00021390;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00021390;" goto statement_identifier ;)) (if_statement "if (iVar4 == 2) goto LAB_0002132a;" if (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) (goto_statement "goto LAB_0002132a;" goto statement_identifier ;)) (if_statement "if (iVar4 != 3) goto LAB_0002126e;" if (parenthesized_expression "(iVar4 != 3)" ( (binary_expression "iVar4 != 3" identifier != number_literal) )) (goto_statement "goto LAB_0002126e;" goto statement_identifier ;)) (expression_statement "pcVar2 = "Restricted Large\n";" (assignment_expression "pcVar2 = "Restricted Large\n"" identifier = (string_literal ""Restricted Large\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n    if (uVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,uVar1);\n      if ((uVar1 & 1) == 0) {\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_ISA: ");\n    if (iVar4 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar4 == 0) goto LAB_00021390;\n      if (iVar4 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }\n  }" else (compound_statement "{\n    if (uVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,uVar1);\n      if ((uVar1 & 1) == 0) {\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_ISA: ");\n    if (iVar4 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar4 == 0) goto LAB_00021390;\n      if (iVar4 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }\n  }" { (if_statement "if (uVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,uVar1);\n      if ((uVar1 & 1) == 0) {\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }" if (parenthesized_expression "(uVar1 != 4)" ( (binary_expression "uVar1 != 4" identifier != number_literal) )) (compound_statement "{\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,uVar1);\n      if ((uVar1 & 1) == 0) {\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }" { (expression_statement "pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);" (assignment_expression "pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5)" identifier = (cast_expression "(char *)dcgettext(0,"  <unknown tag %d>: ",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  <unknown tag %d>: ",5)" identifier (argument_list "(0,"  <unknown tag %d>: ",5)" ( number_literal , (string_literal ""  <unknown tag %d>: "" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar2,uVar1);" (call_expression "printf(pcVar2,uVar1)" identifier (argument_list "(pcVar2,uVar1)" ( identifier , identifier ))) ;) (if_statement "if ((uVar1 & 1) == 0) {\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }" if (parenthesized_expression "((uVar1 & 1) == 0)" ( (binary_expression "(uVar1 & 1) == 0" (parenthesized_expression "(uVar1 & 1)" ( (binary_expression "uVar1 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }" { (expression_statement "uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);" (assignment_expression "uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2)" identifier = (call_expression "FUN_0004f990(pcVar6,local_20,0,param_2)" identifier (argument_list "(pcVar6,local_20,0,param_2)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "pcVar6 = pcVar6 + local_20[0];" (assignment_expression "pcVar6 = pcVar6 + local_20[0]" identifier = (binary_expression "pcVar6 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "printf("%d (0x%x)\n",uVar5,uVar5);" (call_expression "printf("%d (0x%x)\n",uVar5,uVar5)" identifier (argument_list "("%d (0x%x)\n",uVar5,uVar5)" ( (string_literal ""%d (0x%x)\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) }) (else_clause "else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }" else (compound_statement "{\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }" { (expression_statement "putc(0x22,*(FILE **)PTR_stdout_000b3fd8);" (call_expression "putc(0x22,*(FILE **)PTR_stdout_000b3fd8)" identifier (argument_list "(0x22,*(FILE **)PTR_stdout_000b3fd8)" ( number_literal , (pointer_expression "*(FILE **)PTR_stdout_000b3fd8" * (cast_expression "(FILE **)PTR_stdout_000b3fd8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (if_statement "if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }" if (parenthesized_expression "(pcVar6 < param_2 + -1)" ( (binary_expression "pcVar6 < param_2 + -1" identifier < (binary_expression "param_2 + -1" identifier + number_literal)) )) (compound_statement "{\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }" { (expression_statement "FUN_0001fd20();" (call_expression "FUN_0001fd20()" identifier (argument_list "()" ( ))) ;) (expression_statement "sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));" (assignment_expression "sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)))" identifier = (call_expression "strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)))" identifier (argument_list "(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)))" ( identifier , (cast_expression "(size_t)(param_2 + (-1 - (int)pcVar6))" ( (type_descriptor "size_t" primitive_type) ) (parenthesized_expression "(param_2 + (-1 - (int)pcVar6))" ( (binary_expression "param_2 + (-1 - (int)pcVar6)" identifier + (parenthesized_expression "(-1 - (int)pcVar6)" ( (binary_expression "-1 - (int)pcVar6" number_literal - (cast_expression "(int)pcVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) )))) ;) (expression_statement "pcVar6 = pcVar6 + sVar3 + 1;" (assignment_expression "pcVar6 = pcVar6 + sVar3 + 1" identifier = (binary_expression "pcVar6 + sVar3 + 1" (binary_expression "pcVar6 + sVar3" identifier + identifier) + number_literal)) ;) }) (else_clause "else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }" else (compound_statement "{\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }" { (expression_statement "pcVar6 = (char *)dcgettext(0,"<corrupt>",5);" (assignment_expression "pcVar6 = (char *)dcgettext(0,"<corrupt>",5)" identifier = (cast_expression "(char *)dcgettext(0,"<corrupt>",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<corrupt>",5)" identifier (argument_list "(0,"<corrupt>",5)" ( number_literal , (string_literal ""<corrupt>"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar6);" (call_expression "printf(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier ))) ;) (expression_statement "pcVar6 = param_2;" (assignment_expression "pcVar6 = param_2" identifier = identifier) ;) }))) (expression_statement "puts("\"");" (call_expression "puts("\"")" identifier (argument_list "("\"")" ( (string_literal ""\""" " escape_sequence ") ))) ;) }))) (goto_statement "goto LAB_00021288;" goto statement_identifier ;) })) (expression_statement "iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);" (assignment_expression "iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2)" identifier = (call_expression "FUN_0004f990(pcVar6,local_20,0,param_2)" identifier (argument_list "(pcVar6,local_20,0,param_2)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "pcVar6 = pcVar6 + local_20[0];" (assignment_expression "pcVar6 = pcVar6 + local_20[0]" identifier = (binary_expression "pcVar6 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "printf("  Tag_ISA: ");" (call_expression "printf("  Tag_ISA: ")" identifier (argument_list "("  Tag_ISA: ")" ( (string_literal ""  Tag_ISA: "" " string_content ") ))) ;) (if_statement "if (iVar4 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar4 == 0) goto LAB_00021390;\n      if (iVar4 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }" if (parenthesized_expression "(iVar4 == 1)" ( (binary_expression "iVar4 == 1" identifier == number_literal) )) (compound_statement "{\n      pcVar2 = "MSP430\n";\n    }" { (expression_statement "pcVar2 = "MSP430\n";" (assignment_expression "pcVar2 = "MSP430\n"" identifier = (string_literal ""MSP430\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n      if (iVar4 == 0) goto LAB_00021390;\n      if (iVar4 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }" else (compound_statement "{\n      if (iVar4 == 0) goto LAB_00021390;\n      if (iVar4 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }" { (if_statement "if (iVar4 == 0) goto LAB_00021390;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00021390;" goto statement_identifier ;)) (if_statement "if (iVar4 != 2) goto LAB_0002126e;" if (parenthesized_expression "(iVar4 != 2)" ( (binary_expression "iVar4 != 2" identifier != number_literal) )) (goto_statement "goto LAB_0002126e;" goto statement_identifier ;)) (expression_statement "pcVar2 = "MSP430X\n";" (assignment_expression "pcVar2 = "MSP430X\n"" identifier = (string_literal ""MSP430X\n"" " string_content escape_sequence ")) ;) }))) }))))) (expression_statement "pcVar2 = (char *)dcgettext(0,pcVar2,5);" (assignment_expression "pcVar2 = (char *)dcgettext(0,pcVar2,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar2,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar2,5)" identifier (argument_list "(0,pcVar2,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar2);" (call_expression "printf(pcVar2)" identifier (argument_list "(pcVar2)" ( identifier ))) ;) (labeled_statement "LAB_00021288:\n  if (pcVar6 <= param_2) {\n    return pcVar6;\n  }" statement_identifier : (if_statement "if (pcVar6 <= param_2) {\n    return pcVar6;\n  }" if (parenthesized_expression "(pcVar6 <= param_2)" ( (binary_expression "pcVar6 <= param_2" identifier <= identifier) )) (compound_statement "{\n    return pcVar6;\n  }" { (return_statement "return pcVar6;" return identifier ;) }))) (expression_statement "__assert_fail("p <= end","../../binutils/readelf.c",0x3ba6,"display_msp430x_attribute");" (call_expression "__assert_fail("p <= end","../../binutils/readelf.c",0x3ba6,"display_msp430x_attribute")" identifier (argument_list "("p <= end","../../binutils/readelf.c",0x3ba6,"display_msp430x_attribute")" ( (string_literal ""p <= end"" " string_content ") , (string_literal ""../../binutils/readelf.c"" " string_content ") , number_literal , (string_literal ""display_msp430x_attribute"" " string_content ") ))) ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (subscript_expression IDENT [ LIT ])) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT ))) ;)) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;)) }))))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) }) (else_clause else (compound_statement { (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 (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence ") ))) ;) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) }))) }))))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , IDENT , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })))
(function_definition "char * FUN_00021160(int param_1,char *param_2)\n\n{\n  uint uVar1;\n  char *pcVar2;\n  size_t sVar3;\n  int iVar4;\n  undefined4 uVar5;\n  char *pcVar6;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x21169;\n  uVar1 = FUN_0004f990(param_1,local_20,0,param_2);\n  pcVar6 = (char *)(param_1 + local_20[0]);\n  if (uVar1 == 6) {\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Code_Model: ");\n    if (iVar4 == 1) {\nLAB_000213a0:\n      pcVar2 = "Small\n";\n    }\n    else if (iVar4 == 0) {\nLAB_00021390:\n      pcVar2 = "None\n";\n    }\n    else {\n      if (iVar4 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }\n  }\n  else if (uVar1 == 8) {\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Data_Model: ");\n    if (iVar4 == 1) goto LAB_000213a0;\n    if (iVar4 == 0) goto LAB_00021390;\n    if (iVar4 == 2) goto LAB_0002132a;\n    if (iVar4 != 3) goto LAB_0002126e;\n    pcVar2 = "Restricted Large\n";\n  }\n  else {\n    if (uVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,uVar1);\n      if ((uVar1 & 1) == 0) {\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_ISA: ");\n    if (iVar4 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar4 == 0) goto LAB_00021390;\n      if (iVar4 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }\n  }\n  pcVar2 = (char *)dcgettext(0,pcVar2,5);\n  printf(pcVar2);\nLAB_00021288:\n  if (pcVar6 <= param_2) {\n    return pcVar6;\n  }\n                    \n  __assert_fail("p <= end","../../binutils/readelf.c",0x3ba6,"display_msp430x_attribute");\n}" (primitive_type "char") (pointer_declarator "* FUN_00021160(int param_1,char *param_2)" (* "*") (function_declarator "FUN_00021160(int param_1,char *param_2)" (identifier "FUN_00021160") (parameter_list "(int param_1,char *param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "char *param_2" (primitive_type "char") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")")))) (compound_statement "{\n  uint uVar1;\n  char *pcVar2;\n  size_t sVar3;\n  int iVar4;\n  undefined4 uVar5;\n  char *pcVar6;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x21169;\n  uVar1 = FUN_0004f990(param_1,local_20,0,param_2);\n  pcVar6 = (char *)(param_1 + local_20[0]);\n  if (uVar1 == 6) {\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Code_Model: ");\n    if (iVar4 == 1) {\nLAB_000213a0:\n      pcVar2 = "Small\n";\n    }\n    else if (iVar4 == 0) {\nLAB_00021390:\n      pcVar2 = "None\n";\n    }\n    else {\n      if (iVar4 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }\n  }\n  else if (uVar1 == 8) {\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Data_Model: ");\n    if (iVar4 == 1) goto LAB_000213a0;\n    if (iVar4 == 0) goto LAB_00021390;\n    if (iVar4 == 2) goto LAB_0002132a;\n    if (iVar4 != 3) goto LAB_0002126e;\n    pcVar2 = "Restricted Large\n";\n  }\n  else {\n    if (uVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,uVar1);\n      if ((uVar1 & 1) == 0) {\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_ISA: ");\n    if (iVar4 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar4 == 0) goto LAB_00021390;\n      if (iVar4 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }\n  }\n  pcVar2 = (char *)dcgettext(0,pcVar2,5);\n  printf(pcVar2);\nLAB_00021288:\n  if (pcVar6 <= param_2) {\n    return pcVar6;\n  }\n                    \n  __assert_fail("p <= end","../../binutils/readelf.c",0x3ba6,"display_msp430x_attribute");\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "char *pcVar2;" (primitive_type "char") (pointer_declarator "*pcVar2" (* "*") (identifier "pcVar2")) (; ";")) (declaration "size_t sVar3;" (primitive_type "size_t") (identifier "sVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "char *pcVar6;" (primitive_type "char") (pointer_declarator "*pcVar6" (* "*") (identifier "pcVar6")) (; ";")) (declaration "int local_20 [3];" (primitive_type "int") (array_declarator "local_20 [3]" (identifier "local_20") ([ "[") (number_literal "3") (] "]")) (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x21169;" (assignment_expression "uStack_14 = 0x21169" (identifier "uStack_14") (= "=") (number_literal "0x21169")) (; ";")) (expression_statement "uVar1 = FUN_0004f990(param_1,local_20,0,param_2);" (assignment_expression "uVar1 = FUN_0004f990(param_1,local_20,0,param_2)" (identifier "uVar1") (= "=") (call_expression "FUN_0004f990(param_1,local_20,0,param_2)" (identifier "FUN_0004f990") (argument_list "(param_1,local_20,0,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "param_2") () ")")))) (; ";")) (expression_statement "pcVar6 = (char *)(param_1 + local_20[0]);" (assignment_expression "pcVar6 = (char *)(param_1 + local_20[0])" (identifier "pcVar6") (= "=") (cast_expression "(char *)(param_1 + local_20[0])" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + local_20[0])" (( "(") (binary_expression "param_1 + local_20[0]" (identifier "param_1") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]"))) () ")")))) (; ";")) (if_statement "if (uVar1 == 6) {\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Code_Model: ");\n    if (iVar4 == 1) {\nLAB_000213a0:\n      pcVar2 = "Small\n";\n    }\n    else if (iVar4 == 0) {\nLAB_00021390:\n      pcVar2 = "None\n";\n    }\n    else {\n      if (iVar4 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }\n  }\n  else if (uVar1 == 8) {\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Data_Model: ");\n    if (iVar4 == 1) goto LAB_000213a0;\n    if (iVar4 == 0) goto LAB_00021390;\n    if (iVar4 == 2) goto LAB_0002132a;\n    if (iVar4 != 3) goto LAB_0002126e;\n    pcVar2 = "Restricted Large\n";\n  }\n  else {\n    if (uVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,uVar1);\n      if ((uVar1 & 1) == 0) {\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_ISA: ");\n    if (iVar4 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar4 == 0) goto LAB_00021390;\n      if (iVar4 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }\n  }" (if "if") (parenthesized_expression "(uVar1 == 6)" (( "(") (binary_expression "uVar1 == 6" (identifier "uVar1") (== "==") (number_literal "6")) () ")")) (compound_statement "{\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Code_Model: ");\n    if (iVar4 == 1) {\nLAB_000213a0:\n      pcVar2 = "Small\n";\n    }\n    else if (iVar4 == 0) {\nLAB_00021390:\n      pcVar2 = "None\n";\n    }\n    else {\n      if (iVar4 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }\n  }" ({ "{") (expression_statement "iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);" (assignment_expression "iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2)" (identifier "iVar4") (= "=") (call_expression "FUN_0004f990(pcVar6,local_20,0,param_2)" (identifier "FUN_0004f990") (argument_list "(pcVar6,local_20,0,param_2)" (( "(") (identifier "pcVar6") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "param_2") () ")")))) (; ";")) (expression_statement "pcVar6 = pcVar6 + local_20[0];" (assignment_expression "pcVar6 = pcVar6 + local_20[0]" (identifier "pcVar6") (= "=") (binary_expression "pcVar6 + local_20[0]" (identifier "pcVar6") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "printf("  Tag_Code_Model: ");" (call_expression "printf("  Tag_Code_Model: ")" (identifier "printf") (argument_list "("  Tag_Code_Model: ")" (( "(") (string_literal ""  Tag_Code_Model: "" (" """) (string_content "  Tag_Code_Model: ") (" """)) () ")"))) (; ";")) (if_statement "if (iVar4 == 1) {\nLAB_000213a0:\n      pcVar2 = "Small\n";\n    }\n    else if (iVar4 == 0) {\nLAB_00021390:\n      pcVar2 = "None\n";\n    }\n    else {\n      if (iVar4 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }" (if "if") (parenthesized_expression "(iVar4 == 1)" (( "(") (binary_expression "iVar4 == 1" (identifier "iVar4") (== "==") (number_literal "1")) () ")")) (compound_statement "{\nLAB_000213a0:\n      pcVar2 = "Small\n";\n    }" ({ "{") (labeled_statement "LAB_000213a0:\n      pcVar2 = "Small\n";" (statement_identifier "LAB_000213a0") (: ":") (expression_statement "pcVar2 = "Small\n";" (assignment_expression "pcVar2 = "Small\n"" (identifier "pcVar2") (= "=") (string_literal ""Small\n"" (" """) (string_content "Small") (escape_sequence "\n") (" """))) (; ";"))) (} "}")) (else_clause "else if (iVar4 == 0) {\nLAB_00021390:\n      pcVar2 = "None\n";\n    }\n    else {\n      if (iVar4 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }" (else "else") (if_statement "if (iVar4 == 0) {\nLAB_00021390:\n      pcVar2 = "None\n";\n    }\n    else {\n      if (iVar4 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00021390:\n      pcVar2 = "None\n";\n    }" ({ "{") (labeled_statement "LAB_00021390:\n      pcVar2 = "None\n";" (statement_identifier "LAB_00021390") (: ":") (expression_statement "pcVar2 = "None\n";" (assignment_expression "pcVar2 = "None\n"" (identifier "pcVar2") (= "=") (string_literal ""None\n"" (" """) (string_content "None") (escape_sequence "\n") (" """))) (; ";"))) (} "}")) (else_clause "else {\n      if (iVar4 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }" (else "else") (compound_statement "{\n      if (iVar4 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }\nLAB_0002132a:\n      pcVar2 = "Large\n";\n    }" ({ "{") (if_statement "if (iVar4 != 2) {\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }" (if "if") (parenthesized_expression "(iVar4 != 2)" (( "(") (binary_expression "iVar4 != 2" (identifier "iVar4") (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\nLAB_0002126e:\n        printf("??? (%d)\n",iVar4);\n        goto LAB_00021288;\n      }" ({ "{") (labeled_statement "LAB_0002126e:\n        printf("??? (%d)\n",iVar4);" (statement_identifier "LAB_0002126e") (: ":") (expression_statement "printf("??? (%d)\n",iVar4);" (call_expression "printf("??? (%d)\n",iVar4)" (identifier "printf") (argument_list "("??? (%d)\n",iVar4)" (( "(") (string_literal ""??? (%d)\n"" (" """) (string_content "??? (%d)") (escape_sequence "\n") (" """)) (, ",") (identifier "iVar4") () ")"))) (; ";"))) (goto_statement "goto LAB_00021288;" (goto "goto") (statement_identifier "LAB_00021288") (; ";")) (} "}"))) (labeled_statement "LAB_0002132a:\n      pcVar2 = "Large\n";" (statement_identifier "LAB_0002132a") (: ":") (expression_statement "pcVar2 = "Large\n";" (assignment_expression "pcVar2 = "Large\n"" (identifier "pcVar2") (= "=") (string_literal ""Large\n"" (" """) (string_content "Large") (escape_sequence "\n") (" """))) (; ";"))) (} "}")))))) (} "}")) (else_clause "else if (uVar1 == 8) {\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Data_Model: ");\n    if (iVar4 == 1) goto LAB_000213a0;\n    if (iVar4 == 0) goto LAB_00021390;\n    if (iVar4 == 2) goto LAB_0002132a;\n    if (iVar4 != 3) goto LAB_0002126e;\n    pcVar2 = "Restricted Large\n";\n  }\n  else {\n    if (uVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,uVar1);\n      if ((uVar1 & 1) == 0) {\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_ISA: ");\n    if (iVar4 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar4 == 0) goto LAB_00021390;\n      if (iVar4 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }\n  }" (else "else") (if_statement "if (uVar1 == 8) {\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Data_Model: ");\n    if (iVar4 == 1) goto LAB_000213a0;\n    if (iVar4 == 0) goto LAB_00021390;\n    if (iVar4 == 2) goto LAB_0002132a;\n    if (iVar4 != 3) goto LAB_0002126e;\n    pcVar2 = "Restricted Large\n";\n  }\n  else {\n    if (uVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,uVar1);\n      if ((uVar1 & 1) == 0) {\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_ISA: ");\n    if (iVar4 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar4 == 0) goto LAB_00021390;\n      if (iVar4 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }\n  }" (if "if") (parenthesized_expression "(uVar1 == 8)" (( "(") (binary_expression "uVar1 == 8" (identifier "uVar1") (== "==") (number_literal "8")) () ")")) (compound_statement "{\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_Data_Model: ");\n    if (iVar4 == 1) goto LAB_000213a0;\n    if (iVar4 == 0) goto LAB_00021390;\n    if (iVar4 == 2) goto LAB_0002132a;\n    if (iVar4 != 3) goto LAB_0002126e;\n    pcVar2 = "Restricted Large\n";\n  }" ({ "{") (expression_statement "iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);" (assignment_expression "iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2)" (identifier "iVar4") (= "=") (call_expression "FUN_0004f990(pcVar6,local_20,0,param_2)" (identifier "FUN_0004f990") (argument_list "(pcVar6,local_20,0,param_2)" (( "(") (identifier "pcVar6") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "param_2") () ")")))) (; ";")) (expression_statement "pcVar6 = pcVar6 + local_20[0];" (assignment_expression "pcVar6 = pcVar6 + local_20[0]" (identifier "pcVar6") (= "=") (binary_expression "pcVar6 + local_20[0]" (identifier "pcVar6") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "printf("  Tag_Data_Model: ");" (call_expression "printf("  Tag_Data_Model: ")" (identifier "printf") (argument_list "("  Tag_Data_Model: ")" (( "(") (string_literal ""  Tag_Data_Model: "" (" """) (string_content "  Tag_Data_Model: ") (" """)) () ")"))) (; ";")) (if_statement "if (iVar4 == 1) goto LAB_000213a0;" (if "if") (parenthesized_expression "(iVar4 == 1)" (( "(") (binary_expression "iVar4 == 1" (identifier "iVar4") (== "==") (number_literal "1")) () ")")) (goto_statement "goto LAB_000213a0;" (goto "goto") (statement_identifier "LAB_000213a0") (; ";"))) (if_statement "if (iVar4 == 0) goto LAB_00021390;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00021390;" (goto "goto") (statement_identifier "LAB_00021390") (; ";"))) (if_statement "if (iVar4 == 2) goto LAB_0002132a;" (if "if") (parenthesized_expression "(iVar4 == 2)" (( "(") (binary_expression "iVar4 == 2" (identifier "iVar4") (== "==") (number_literal "2")) () ")")) (goto_statement "goto LAB_0002132a;" (goto "goto") (statement_identifier "LAB_0002132a") (; ";"))) (if_statement "if (iVar4 != 3) goto LAB_0002126e;" (if "if") (parenthesized_expression "(iVar4 != 3)" (( "(") (binary_expression "iVar4 != 3" (identifier "iVar4") (!= "!=") (number_literal "3")) () ")")) (goto_statement "goto LAB_0002126e;" (goto "goto") (statement_identifier "LAB_0002126e") (; ";"))) (expression_statement "pcVar2 = "Restricted Large\n";" (assignment_expression "pcVar2 = "Restricted Large\n"" (identifier "pcVar2") (= "=") (string_literal ""Restricted Large\n"" (" """) (string_content "Restricted Large") (escape_sequence "\n") (" """))) (; ";")) (} "}")) (else_clause "else {\n    if (uVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,uVar1);\n      if ((uVar1 & 1) == 0) {\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_ISA: ");\n    if (iVar4 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar4 == 0) goto LAB_00021390;\n      if (iVar4 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }\n  }" (else "else") (compound_statement "{\n    if (uVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,uVar1);\n      if ((uVar1 & 1) == 0) {\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }\n    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);\n    pcVar6 = pcVar6 + local_20[0];\n    printf("  Tag_ISA: ");\n    if (iVar4 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar4 == 0) goto LAB_00021390;\n      if (iVar4 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }\n  }" ({ "{") (if_statement "if (uVar1 != 4) {\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,uVar1);\n      if ((uVar1 & 1) == 0) {\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }" (if "if") (parenthesized_expression "(uVar1 != 4)" (( "(") (binary_expression "uVar1 != 4" (identifier "uVar1") (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\n      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);\n      printf(pcVar2,uVar1);\n      if ((uVar1 & 1) == 0) {\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }\n      goto LAB_00021288;\n    }" ({ "{") (expression_statement "pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);" (assignment_expression "pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5)" (identifier "pcVar2") (= "=") (cast_expression "(char *)dcgettext(0,"  <unknown tag %d>: ",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  <unknown tag %d>: ",5)" (identifier "dcgettext") (argument_list "(0,"  <unknown tag %d>: ",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  <unknown tag %d>: "" (" """) (string_content "  <unknown tag %d>: ") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar2,uVar1);" (call_expression "printf(pcVar2,uVar1)" (identifier "printf") (argument_list "(pcVar2,uVar1)" (( "(") (identifier "pcVar2") (, ",") (identifier "uVar1") () ")"))) (; ";")) (if_statement "if ((uVar1 & 1) == 0) {\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }\n      else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }" (if "if") (parenthesized_expression "((uVar1 & 1) == 0)" (( "(") (binary_expression "(uVar1 & 1) == 0" (parenthesized_expression "(uVar1 & 1)" (( "(") (binary_expression "uVar1 & 1" (identifier "uVar1") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);\n        pcVar6 = pcVar6 + local_20[0];\n        printf("%d (0x%x)\n",uVar5,uVar5);\n      }" ({ "{") (expression_statement "uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);" (assignment_expression "uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2)" (identifier "uVar5") (= "=") (call_expression "FUN_0004f990(pcVar6,local_20,0,param_2)" (identifier "FUN_0004f990") (argument_list "(pcVar6,local_20,0,param_2)" (( "(") (identifier "pcVar6") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "param_2") () ")")))) (; ";")) (expression_statement "pcVar6 = pcVar6 + local_20[0];" (assignment_expression "pcVar6 = pcVar6 + local_20[0]" (identifier "pcVar6") (= "=") (binary_expression "pcVar6 + local_20[0]" (identifier "pcVar6") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "printf("%d (0x%x)\n",uVar5,uVar5);" (call_expression "printf("%d (0x%x)\n",uVar5,uVar5)" (identifier "printf") (argument_list "("%d (0x%x)\n",uVar5,uVar5)" (( "(") (string_literal ""%d (0x%x)\n"" (" """) (string_content "%d (0x%x)") (escape_sequence "\n") (" """)) (, ",") (identifier "uVar5") (, ",") (identifier "uVar5") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }" (else "else") (compound_statement "{\n        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);\n        if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }\n        puts("\"");\n      }" ({ "{") (expression_statement "putc(0x22,*(FILE **)PTR_stdout_000b3fd8);" (call_expression "putc(0x22,*(FILE **)PTR_stdout_000b3fd8)" (identifier "putc") (argument_list "(0x22,*(FILE **)PTR_stdout_000b3fd8)" (( "(") (number_literal "0x22") (, ",") (pointer_expression "*(FILE **)PTR_stdout_000b3fd8" (* "*") (cast_expression "(FILE **)PTR_stdout_000b3fd8" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_stdout_000b3fd8"))) () ")"))) (; ";")) (if_statement "if (pcVar6 < param_2 + -1) {\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }\n        else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }" (if "if") (parenthesized_expression "(pcVar6 < param_2 + -1)" (( "(") (binary_expression "pcVar6 < param_2 + -1" (identifier "pcVar6") (< "<") (binary_expression "param_2 + -1" (identifier "param_2") (+ "+") (number_literal "-1"))) () ")")) (compound_statement "{\n          FUN_0001fd20();\n          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));\n          pcVar6 = pcVar6 + sVar3 + 1;\n        }" ({ "{") (expression_statement "FUN_0001fd20();" (call_expression "FUN_0001fd20()" (identifier "FUN_0001fd20") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));" (assignment_expression "sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)))" (identifier "sVar3") (= "=") (call_expression "strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)))" (identifier "strnlen") (argument_list "(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)))" (( "(") (identifier "pcVar6") (, ",") (cast_expression "(size_t)(param_2 + (-1 - (int)pcVar6))" (( "(") (type_descriptor "size_t" (primitive_type "size_t")) () ")") (parenthesized_expression "(param_2 + (-1 - (int)pcVar6))" (( "(") (binary_expression "param_2 + (-1 - (int)pcVar6)" (identifier "param_2") (+ "+") (parenthesized_expression "(-1 - (int)pcVar6)" (( "(") (binary_expression "-1 - (int)pcVar6" (number_literal "-1") (- "-") (cast_expression "(int)pcVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar6"))) () ")"))) () ")"))) () ")")))) (; ";")) (expression_statement "pcVar6 = pcVar6 + sVar3 + 1;" (assignment_expression "pcVar6 = pcVar6 + sVar3 + 1" (identifier "pcVar6") (= "=") (binary_expression "pcVar6 + sVar3 + 1" (binary_expression "pcVar6 + sVar3" (identifier "pcVar6") (+ "+") (identifier "sVar3")) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }" (else "else") (compound_statement "{\n          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);\n          printf(pcVar6);\n          pcVar6 = param_2;\n        }" ({ "{") (expression_statement "pcVar6 = (char *)dcgettext(0,"<corrupt>",5);" (assignment_expression "pcVar6 = (char *)dcgettext(0,"<corrupt>",5)" (identifier "pcVar6") (= "=") (cast_expression "(char *)dcgettext(0,"<corrupt>",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"<corrupt>",5)" (identifier "dcgettext") (argument_list "(0,"<corrupt>",5)" (( "(") (number_literal "0") (, ",") (string_literal ""<corrupt>"" (" """) (string_content "<corrupt>") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar6);" (call_expression "printf(pcVar6)" (identifier "printf") (argument_list "(pcVar6)" (( "(") (identifier "pcVar6") () ")"))) (; ";")) (expression_statement "pcVar6 = param_2;" (assignment_expression "pcVar6 = param_2" (identifier "pcVar6") (= "=") (identifier "param_2")) (; ";")) (} "}")))) (expression_statement "puts("\"");" (call_expression "puts("\"")" (identifier "puts") (argument_list "("\"")" (( "(") (string_literal ""\""" (" """) (escape_sequence "\"") (" """)) () ")"))) (; ";")) (} "}")))) (goto_statement "goto LAB_00021288;" (goto "goto") (statement_identifier "LAB_00021288") (; ";")) (} "}"))) (expression_statement "iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);" (assignment_expression "iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2)" (identifier "iVar4") (= "=") (call_expression "FUN_0004f990(pcVar6,local_20,0,param_2)" (identifier "FUN_0004f990") (argument_list "(pcVar6,local_20,0,param_2)" (( "(") (identifier "pcVar6") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "param_2") () ")")))) (; ";")) (expression_statement "pcVar6 = pcVar6 + local_20[0];" (assignment_expression "pcVar6 = pcVar6 + local_20[0]" (identifier "pcVar6") (= "=") (binary_expression "pcVar6 + local_20[0]" (identifier "pcVar6") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "printf("  Tag_ISA: ");" (call_expression "printf("  Tag_ISA: ")" (identifier "printf") (argument_list "("  Tag_ISA: ")" (( "(") (string_literal ""  Tag_ISA: "" (" """) (string_content "  Tag_ISA: ") (" """)) () ")"))) (; ";")) (if_statement "if (iVar4 == 1) {\n      pcVar2 = "MSP430\n";\n    }\n    else {\n      if (iVar4 == 0) goto LAB_00021390;\n      if (iVar4 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }" (if "if") (parenthesized_expression "(iVar4 == 1)" (( "(") (binary_expression "iVar4 == 1" (identifier "iVar4") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n      pcVar2 = "MSP430\n";\n    }" ({ "{") (expression_statement "pcVar2 = "MSP430\n";" (assignment_expression "pcVar2 = "MSP430\n"" (identifier "pcVar2") (= "=") (string_literal ""MSP430\n"" (" """) (string_content "MSP430") (escape_sequence "\n") (" """))) (; ";")) (} "}")) (else_clause "else {\n      if (iVar4 == 0) goto LAB_00021390;\n      if (iVar4 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }" (else "else") (compound_statement "{\n      if (iVar4 == 0) goto LAB_00021390;\n      if (iVar4 != 2) goto LAB_0002126e;\n      pcVar2 = "MSP430X\n";\n    }" ({ "{") (if_statement "if (iVar4 == 0) goto LAB_00021390;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00021390;" (goto "goto") (statement_identifier "LAB_00021390") (; ";"))) (if_statement "if (iVar4 != 2) goto LAB_0002126e;" (if "if") (parenthesized_expression "(iVar4 != 2)" (( "(") (binary_expression "iVar4 != 2" (identifier "iVar4") (!= "!=") (number_literal "2")) () ")")) (goto_statement "goto LAB_0002126e;" (goto "goto") (statement_identifier "LAB_0002126e") (; ";"))) (expression_statement "pcVar2 = "MSP430X\n";" (assignment_expression "pcVar2 = "MSP430X\n"" (identifier "pcVar2") (= "=") (string_literal ""MSP430X\n"" (" """) (string_content "MSP430X") (escape_sequence "\n") (" """))) (; ";")) (} "}")))) (} "}")))))) (expression_statement "pcVar2 = (char *)dcgettext(0,pcVar2,5);" (assignment_expression "pcVar2 = (char *)dcgettext(0,pcVar2,5)" (identifier "pcVar2") (= "=") (cast_expression "(char *)dcgettext(0,pcVar2,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,pcVar2,5)" (identifier "dcgettext") (argument_list "(0,pcVar2,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar2") (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar2);" (call_expression "printf(pcVar2)" (identifier "printf") (argument_list "(pcVar2)" (( "(") (identifier "pcVar2") () ")"))) (; ";")) (labeled_statement "LAB_00021288:\n  if (pcVar6 <= param_2) {\n    return pcVar6;\n  }" (statement_identifier "LAB_00021288") (: ":") (if_statement "if (pcVar6 <= param_2) {\n    return pcVar6;\n  }" (if "if") (parenthesized_expression "(pcVar6 <= param_2)" (( "(") (binary_expression "pcVar6 <= param_2" (identifier "pcVar6") (<= "<=") (identifier "param_2")) () ")")) (compound_statement "{\n    return pcVar6;\n  }" ({ "{") (return_statement "return pcVar6;" (return "return") (identifier "pcVar6") (; ";")) (} "}")))) (expression_statement "__assert_fail("p <= end","../../binutils/readelf.c",0x3ba6,"display_msp430x_attribute");" (call_expression "__assert_fail("p <= end","../../binutils/readelf.c",0x3ba6,"display_msp430x_attribute")" (identifier "__assert_fail") (argument_list "("p <= end","../../binutils/readelf.c",0x3ba6,"display_msp430x_attribute")" (( "(") (string_literal ""p <= end"" (" """) (string_content "p <= end") (" """)) (, ",") (string_literal ""../../binutils/readelf.c"" (" """) (string_content "../../binutils/readelf.c") (" """)) (, ",") (number_literal "0x3ba6") (, ",") (string_literal ""display_msp430x_attribute"" (" """) (string_content "display_msp430x_attribute") (" """)) () ")"))) (; ";")) (} "}")))

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

type_1 * function_1(type_1 *var_2,type_1 *var_10)

{
  int var_4;
  char *pcVar2;
  size_t var_13;
  type_1 *var_5;
  type_2 var_8;
  type_3 var_3;
  type_4 uStack_14;
  
  uStack_14 = 0x21169;
  var_8 = var_1(var_2,&var_3,0,var_10);
  var_4 = (int)var_8;
  var_5 = var_2 + var_3;
  if (var_4 == 6) {
    var_8 = var_1(var_5,&var_3,0,var_10);
    var_4 = (int)var_8;
    var_5 = var_5 + var_3;
    var_6("  Tag_Code_Model: ");
    if (var_4 == 1) {
LAB_000213a0:
      pcVar2 = "Small\n";
    }
    else if (var_4 == 0) {
LAB_00021390:
      pcVar2 = "None\n";
    }
    else {
      if (var_4 != 2) {
LAB_0002126e:
        var_6("??? (%d)\n",var_4);
        goto LAB_00021288;
      }
LAB_0002132a:
      pcVar2 = "Large\n";
    }
  }
  else if (var_4 == 8) {
    var_8 = var_1(var_5,&var_3,0,var_10);
    var_4 = (int)var_8;
    var_5 = var_5 + var_3;
    var_6("  Tag_Data_Model: ");
    if (var_4 == 1) goto LAB_000213a0;
    if (var_4 == 0) goto LAB_00021390;
    if (var_4 == 2) goto LAB_0002132a;
    if (var_4 != 3) goto LAB_0002126e;
    pcVar2 = "Restricted Large\n";
  }
  else {
    if (var_4 != 4) {
      pcVar2 = (char *)var_7(0,"  <unknown tag %d>: ",5);
      var_6(pcVar2,var_4);
      if ((var_8 & 1) == 0) {
        var_8 = var_1(var_5,&var_3,0,var_10);
        var_5 = var_5 + var_3;
        var_6("%d (0x%x)\n",(int)var_8,(int)var_8);
      }
      else {
        var_9(0x22,*(type_5 **)PTR_stdout_000b3fd8);
        if (var_5 < var_10 + -1) {
          var_11((int)(var_10 + (-1 - (int)var_5)),(char *)var_5);
          var_13 = var_12((char *)var_5,(size_t)(var_10 + (-1 - (int)var_5)));
          var_5 = var_5 + var_13 + 1;
        }
        else {
          pcVar2 = (char *)var_7(0,"<corrupt>",5);
          var_6(pcVar2);
          var_5 = var_10;
        }
        var_14("\"");
      }
      goto LAB_00021288;
    }
    var_8 = var_1(var_5,&var_3,0,var_10);
    var_4 = (int)var_8;
    var_5 = var_5 + var_3;
    var_6("  Tag_ISA: ");
    if (var_4 == 1) {
      pcVar2 = "MSP430\n";
    }
    else {
      if (var_4 == 0) goto LAB_00021390;
      if (var_4 != 2) goto LAB_0002126e;
      pcVar2 = "MSP430X\n";
    }
  }
  pcVar2 = (char *)var_7(0,pcVar2,5);
  var_6(pcVar2);
LAB_00021288:
  if (var_5 <= var_10) {
    return var_5;
  }
                    /* WARNING: Subroutine does not return */
  var_15("p <= end","../../binutils/readelf.c",0x3ba6,"display_msp430x_attribute");
}


(translation_unit (function_definition type: (primitive_type) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier)))))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence)))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence)))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content) (escape_sequence)) (identifier))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence))))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content) (escape_sequence)) (identifier) (identifier))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (escape_sequence)))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence)))))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (return_statement (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (string_literal (string_content)) (number_literal) (string_literal (string_content))))))))

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

char * MASKED(int param_1,char *param_2)

{
  uint uVar1;
  char *pcVar2;
  size_t sVar3;
  int iVar4;
  undefined4 uVar5;
  char *pcVar6;
  int local_20 [3];
  undefined4 uStack_14;
  
  uStack_14 = 0x21169;
  uVar1 = FUN_0004f990(param_1,local_20,0,param_2);
  pcVar6 = (char *)(param_1 + local_20[0]);
  if (uVar1 == 6) {
    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);
    pcVar6 = pcVar6 + local_20[0];
    printf("  Tag_Code_Model: ");
    if (iVar4 == 1) {
LAB_000213a0:
      pcVar2 = "Small\n";
    }
    else if (iVar4 == 0) {
LAB_00021390:
      pcVar2 = "None\n";
    }
    else {
      if (iVar4 != 2) {
LAB_0002126e:
        printf("??? (%d)\n",iVar4);
        goto LAB_00021288;
      }
LAB_0002132a:
      pcVar2 = "Large\n";
    }
  }
  else if (uVar1 == 8) {
    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);
    pcVar6 = pcVar6 + local_20[0];
    printf("  Tag_Data_Model: ");
    if (iVar4 == 1) goto LAB_000213a0;
    if (iVar4 == 0) goto LAB_00021390;
    if (iVar4 == 2) goto LAB_0002132a;
    if (iVar4 != 3) goto LAB_0002126e;
    pcVar2 = "Restricted Large\n";
  }
  else {
    if (uVar1 != 4) {
      pcVar2 = (char *)dcgettext(0,"  <unknown tag %d>: ",5);
      printf(pcVar2,uVar1);
      if ((uVar1 & 1) == 0) {
        uVar5 = FUN_0004f990(pcVar6,local_20,0,param_2);
        pcVar6 = pcVar6 + local_20[0];
        printf("%d (0x%x)\n",uVar5,uVar5);
      }
      else {
        putc(0x22,*(FILE **)PTR_stdout_000b3fd8);
        if (pcVar6 < param_2 + -1) {
          FUN_0001fd20();
          sVar3 = strnlen(pcVar6,(size_t)(param_2 + (-1 - (int)pcVar6)));
          pcVar6 = pcVar6 + sVar3 + 1;
        }
        else {
          pcVar6 = (char *)dcgettext(0,"<corrupt>",5);
          printf(pcVar6);
          pcVar6 = param_2;
        }
        puts("\"");
      }
      goto LAB_00021288;
    }
    iVar4 = FUN_0004f990(pcVar6,local_20,0,param_2);
    pcVar6 = pcVar6 + local_20[0];
    printf("  Tag_ISA: ");
    if (iVar4 == 1) {
      pcVar2 = "MSP430\n";
    }
    else {
      if (iVar4 == 0) goto LAB_00021390;
      if (iVar4 != 2) goto LAB_0002126e;
      pcVar2 = "MSP430X\n";
    }
  }
  pcVar2 = (char *)dcgettext(0,pcVar2,5);
  printf(pcVar2);
LAB_00021288:
  if (pcVar6 <= param_2) {
    return pcVar6;
  }
                    /* WARNING: Subroutine does not return */
  __assert_fail("p <= end","../../binutils/readelf.c",0x3ba6,"display_msp430x_attribute");
}

